Jagadeesh Jetti

> Developer?_
back to projects
● Live2025 · Solo developer

Sportify

Real-time sports event coordinator — live scores, organizer dashboard, instant participant sync.

Sportify
Role
Solo developer
Timeline
10 weeks
Year
2025
Status
Live

The problem

Local sports events are coordinated in WhatsApp groups — scores get lost, schedules drift, and new participants can't catch up. Organizers needed a single source of truth.

What I built

A platform for organizing and following local sports events. Live score broadcasts via Socket.io, an organizer dashboard for event setup, and a TypeScript-first backend with Prisma and PostgreSQL.

  • Prisma schema modeling events, teams, participants, and score updates
  • Socket.io layer for live score broadcasts — no polling, no refresh needed
  • TypeScript-first backend with Zod validation on every route
  • Organizer dashboard for event setup and participant management

Tech decisions worth mentioning

Picked PostgreSQL over Mongo this time because event relationships (event → teams → players → scores) are inherently relational. Prisma gave me type-safe queries end-to-end with TypeScript, which caught several schema drift bugs at compile time.

What I learned

Moving from JavaScript + Mongoose to TypeScript + Prisma was a much bigger jump than I expected — the types forced me to think through edge cases I'd been hand-waving over in JS.

What I'd do differently

I'd set up Socket.io rooms per-event from day one instead of broadcasting globally. Also want to explore using Postgres LISTEN/NOTIFY for fanout before reaching for a separate pub/sub.

// stack
TypeScriptNode.jsExpress.jsPostgreSQLPrismaSocket.ioTailwind CSSReact