Inspiration

Most DSA streaks die in week two. Not because the problems are hard, but because there is no system: no plan for what to solve today, no record of what to revise, and nothing that shows the streak actually building.

What it does

StreakForge is an offline-first PWA that turns DSA prep into a daily ritual:

  • Daily plan: three problems from one rotating focus topic, each with a one-tap mark-solved button, plus a shuffle if today's topic doesn't suit you.
  • Heat grid: a GitHub-style contribution grid fills in as you solve, so the streak is visible at a glance.
  • Spaced revision: solved problems come back on a 3/7/14-day cycle, so a problem isn't done until it's solved twice.
  • Problem bank: 69 curated LeetCode problems tagged by topic and difficulty, available offline.
  • Everything runs locally in the browser (localStorage + service worker). No accounts, no server, no tracking.

How we built it

A dependency-free single-page app: one HTML file, two JS modules (app logic and the problem bank), and a stylesheet, shipped as an installable PWA with a web manifest and service worker. Hosted free on GitHub Pages, installable on phone or desktop.

Challenges we ran into

Building a deterministic revision queue with no backend, and scheduling the daily plan so it rotates topics without ever repeating yesterday's list.

What we learned

How far a zero-dependency PWA can go: installable, fully offline, instant load. The entire app is a few hundred lines of hand-written code.

What's next

Weekly topic reviews, a solved-set export, and an optional LeetCode sync so the grid can reflect real submissions automatically.

Built With

Share this project:

Updates

Submission history