Industry: EdTech
Role: Software Developer Intern
Timeline: October 2024 - March 2025
The Problem With Empty Spaces
UPSC is one of the hardest exams in the world. Lakhs of students prepare for years, often alone. MindGrades was trying to change that: a comprehensive prep app with AI-powered answer evaluation, personalized study plans, and a community to learn together.
I joined as a Software Developer Intern. My job was to build the community page. Simple enough on paper. Brutally complex in execution.
Building a Reddit for UPSC Aspirants
The community page needed to feel alive. Users could post about current affairs, history, GK — attach images, study material, links. Others could like, comment, discuss. Think Reddit, but for someone grinding through polity and economy at midnight.
The first challenge was the editor. A standard text input wasn't going to cut it. I built a custom rich text editor using Flutter Quill, then modified it to synchronize its schema with the web app's backend. This wasn't plug-and-play. I had to write a function to reformat Quill's default schema into a standardized custom format that worked cleanly across mobile and web. Operational transformation and CRDT (Conflict-free Replicated Data Types) logic went in under the hood, laying the foundation for real-time collaborative editing down the line. Google Docs-style, for future versions.
The Empty Feed Problem
Here's a real product problem nobody talks about: what does a new user see when they open a community for the first time and nobody has posted yet?
Emptiness kills trust. So I built a Reddit scraper on the backend that auto-populated the feed with relevant UPSC posts. New users landed on an active, useful community from day one, not a ghost town.
Performance at Scale
With 1,200+ users and a growing post feed, performance mattered. I implemented lazy loading, caching, and pagination inside the Flutter Bloc architecture. The feed stayed smooth, memory usage stayed lean, and interface lag dropped to near zero. Engagement improved by 40%.
On the security side, I integrated REST-based authentication that protected user accounts and reduced unauthorized access significantly.
What I Took Away
This was the first time I worked across the full stack on a live product: Flutter on the front, REST APIs and scrapers on the back. But the real lesson wasn't technical. It was about designing for the cold start problem. A community feature is useless if it feels empty. Solving that unsexy problem, populating a feed intelligently, was what made everything else work.
Good products don't just build features. They build the conditions for features to succeed.