Case Study
Gossip with Go
A production-grade social forum - Go REST API, React PWA, sub-100ms reads.
Dec 2025 – Jan 2026
ARCHIVEDThe problem
I wanted to build a production-grade social platform from scratch - not a toy CRUD app, but a forum with the interaction patterns of Instagram and Reddit: posts, topics, likes, reposts, follows and nested discussion, fast enough to feel native.
The approach
The backend is a Go + Gin REST API with 25+ endpoints in a strict three-layer architecture: HTTP handlers delegate to focused services - auth, posts, comments, likes, reposts, follows, notifications, email and content scoring - over GORM models. A dedicated scoring service ranks feed content algorithmically.
Reads are tuned with composite indexes and denormalisation for sub-100ms responses on Neon PostgreSQL. Auth uses JWTs in httpOnly cookies with refresh tokens, bcrypt hashing, rate limiting and CORS/XSS protection; SMTP handles email verification and password resets.
The React + TypeScript frontend uses Redux Toolkit and TailwindCSS, and ships as an installable PWA with offline access to cached content.

The outcome
A deployed, working forum - frontend on Vercel, Dockerised backend on Fly.io, media on Cloudinary - supporting two-level nested comments, multi-entity follows, topic-based browsing and notifications.
Learnings
This was my first Go project. I learned the language, the JWT auth lifecycle and deployment architecture as I built - using AI deliberately as a study aid to compare deployment options and review complex logic for edge cases, while writing the code myself.