Cram & Conquer: An All-in-One Study App


I got tired of juggling 7 different tabs to study, track progress, and access supplementary tools like background music, ambiance, ADHD pets, and to-do lists, so I decided to build an all-in-one app: Cram & Conquer.

At its core, Cram & Conquer is a study app with a Pomodoro timer. Additional features include:

  • To-Do Lists
  • Music Mixer (combine music + ambiance)
  • Study Pets (gamified, they level up with study hours)
  • Calendar Schedules (inspired by Google Calendar, for the next two weeks)
  • Custom Profiles (customise as you level up)

A key feature is group sessions and studying with friends. Up to 20 people can join a session, with real-time Group Goals where individuals state and tick off their goals for others to see. You can send friend requests and invite friends to sessions, all powered by Ably's websockets.

I started with a basic Tailwind + React design, with local stats and few features, just for my own focus. But after streaming it to friends on Discord, they loved the concept and gave feedback. I then decided to take it seriously, implementing MongoDB for storage and Google Auth for authentication. And then the updates kept flowing in daily!

Main Issues Encountered:

  • Handling Group Sessions: Initially used polling (worked but not scalable); switched to websockets, which vastly improved things.
  • Excessive Egress & Ingress Usage: Fixed by using Cloudflare CDN.
  • Timer Stopping in Background Tabs: Fixed by using web-workers for the timer.
  • Rate Abuse: Added rate limits and backend validation logic.

Accomplishments We're Proud Of:

  • Over 200 registered users (as of now) with little marketing.
  • 62 premium users.
  • Everyone I've personally talked to loves and uses it daily.
  • Some members have clocked over 150 hours within a month.

What's Next for Cram & Conquer:

  • Note-taking abilities
  • Better database connection
  • Servers deployed in more locations
  • Cats! as study pets, and many more plans.

Built With

Share this project:

Updates