Upsolve.io
A knowledge-management system for competitive programmers, built by a four-person team in CMPT 276 — I led the front end and ran the Git workflow that kept us shipping together.
Overview
Competitive programmers solve thousands of problems but rarely revisit the ones that beat them. Upsolve.io gives them a place to tag, track and revisit problems — a dashboard for deliberate practice. Four of us built it end-to-end in a semester, front end to Spring Boot back end.
What I built
The full front end
Designed and implemented the complete HTML/CSS/JavaScript front end — the problem-tagging UI, the user dashboard, and the solution submission flow.
API contracts with the back end
Coordinated request/response contracts with teammates building the Spring Boot REST service — agreeing on endpoints and payloads up front so front and back integrated without surprises.
Working as a team
The hardest part of a team project isn't the code — it's four people changing the same codebase without stepping on each other. I set up the workflow that made that safe.
Branching strategy
Established feature-branch workflow with a protected main — every change landed through a branch, never a direct push.
Pull-request reviews
Reviewed teammates' PRs and had mine reviewed — catching integration bugs before merge and spreading knowledge of the whole codebase.
Code standards
Enforced shared conventions across the team so four people's code read like one person wrote it.