Project Guild is a Next.js app that currently ships a UOW WAM Calculator.
It helps University of Wollongong students paste transcript rows, review parsed subjects, and calculate WAM/GPA with planning tools.
Students often need a fast way to:
- understand where their WAM stands right now
- see how special grades affect calculations
- estimate what marks they need to hit a target
This project is meant to stay simple, transparent, and easy to improve with community contributions.
- Paste transcript data (from SOLS eRecord format) and auto-parse subjects.
- Review/edit parsed rows before calculation.
- Calculate:
- WAM (weighted average mark, truncated to 2 decimals)
- GPA (Australian 7-point style mapping used in-app)
- Session-level WAM trend
- Handle special grades (
TF,PS,S,U,AE) with custom rules. - Target planner to estimate required marks for a target final WAM.
- Mobile and desktop dashboard layouts.
- Next.js (App Router)
- React
- TypeScript
- Tailwind CSS (dependencies present; app styling is mostly custom inline styles)
npm installnpm run devOpen http://localhost:3000.
The root route redirects to "/wam".
Contributions are welcome, especially around UX, reliability, and transcript parsing edge cases.
You can improve this project by:
- fixing bugs or calculation edge cases
- improving transcript parser compatibility
- improving mobile UX and accessibility
- adding tests
- improving docs and onboarding
- Fork the repo.
- Create a feature branch:
git checkout -b feat/short-description- Install and run locally:
npm install
npm run dev- Make your changes.
- Run checks:
npm run lint
npm run build- Open a pull request with:
- what changed
- why it changed
- how you tested it
- screenshots/gif for UI changes
- Keep PRs focused and small where possible.
- Avoid unrelated refactors in the same PR.
- Preserve current WAM/GPA logic unless the PR is specifically about grading rules.
- For parser logic updates, include sample input rows in PR description.
- Add unit tests for
calculate,effectiveMark, and grade mapping logic. - Add parser test fixtures for multiple transcript formats.
- Move core calculation/parsing logic into separate utility modules.
- Add export options (CSV/PDF) for report snapshots.
- Add input validation helpers and clearer error states for invalid paste data.
- Improve keyboard accessibility and focus states.
- Add a lightweight changelog section for releases.
npm run dev- Start development server (Turbopack enabled)npm run build- Create production buildnpm run start- Run production servernpm run lint- Run Next.js lint checks
app/page.tsx- Root redirect to"/wam"app/(tools)/wam/page.tsx- Main WAM calculator UI and logicapp/layout.tsx- Global layout, fonts, and metadataapp/globals.css- Global styles
When opening a bug report, include:
- expected behavior
- actual behavior
- steps to reproduce
- sample transcript lines (anonymized)
- screenshot/video if UI related
- browser + OS
- The current calculator runs fully in the browser; pasted transcript content is not sent to a backend by this project code.
- This repository currently contains a single tool experience under the
"/wam"route.
- If you are contributing a larger feature, open an issue first to align scope.
- If you want to help but are unsure where to start, pick one item from the roadmap and open a draft PR early.