Back to Blog

Weekly Commit #006

June 7, 20264 min read
... views
WeeklyCommitBackendSprintsCILearning

Last week I shipped the auth foundation for Tribo. This week I shipped four sprints on top of it.

Why it moved so fast

The honest answer: because Sprint 1 was slow on purpose. Once auth, RBAC, error handling, and the client interceptors were solid, everything after was just new endpoints sitting on a foundation that already worked. Momentum compounds when the boring part is done right.

Sprint 2, Activity Management

The first real feature: create, edit, cancel, discover, and join activities. An owner-or-privileged check so managers can only edit their own activities, not each other's. A backoffice verification gate so a self-registered manager can't act until they're cleared. Soft-cancel instead of hard delete, so participation history survives.

Sprint 3, making the prototype real

This is where the mock screens became live domains: full user profiles, clans, run logging with per-km splits and derived stats, an aggregated activity feed with kudos and comments, a clan ranking leaderboard, achievements and weekly goals. All backend-first, each screen wired to real data only once the endpoint behind it was deployed and curl'd. My favourite piece: a discovery map that plots activities by location, so you find things by looking at where they are, not scrolling a list.

Sprint 4, making it safe to show people

No new feature. A guessable seeded admin account got killed. CORS got locked to the real origin. And the whole thing finally got a CI pipeline, so a broken build can't reach main.

The throughline

Four sprints in a week isn't about typing faster. It's about what a good foundation buys you later, and about knowing the difference between "it works" and "it's ready."

Next up: the web is feature-complete, but the Flutter app is still catching up. Next week, mobile. Come back and see how far it gets.

#WeeklyCommit

Follow along here or on LinkedIn where I'll be sharing each new commit.