A personal algorithm-practice progress system built to turn DSA preparation into a structured, trackable, and consistent habit.
Originally started as a simple Python CLI tracker, Algo Progress Hub later evolved into a full web dashboard with analytics, search, filters, Supabase-backed storage, and a public read-only deployment.
๐ Live Demo: https://algo-progress-hub.vercel.app/
๐ฆ Repository: https://github.com/sumitdhara609/algo-progress-hub
Most algorithm practice becomes scattered over time.
Problems are solved on different platforms, notes are kept in different places, and progress often becomes difficult to measure. Algo Progress Hub was built to solve that problem by creating one focused system for tracking:
- โ solved problems
- ๐ revision problems
- โณ unsolved problems
- ๐ difficulty distribution
- ๐ง topic coverage
- ๐งฉ problem-solving patterns
- ๐ฏ daily goal progress
- ๐ฅ streak consistency
The project began as a small CLI utility and gradually became a more polished dashboard experience.
Algo Progress Hub is personally meaningful because it was my first GitHub repository.
I started building the first version in early 2025 as a part-time personal tool to track my own DSA practice. The original version was a Python CLI app using JSON-based storage. I worked on it consistently for around two months, roughly 10 hours per week, for an estimated total of about 80 hours.
On 10 April 2026, I pushed it to GitHub as my first public repository.
Later, I revisited the project and upgraded it from a basic CLI tracker into a web-based dashboard. Around 20 June 2026, I connected Supabase and deployed the project on Vercel so the progress data could be displayed cleanly through a live public interface.
This project is not just about DSA tracking. It represents the beginning of my developer journey โ the first system I built, improved, deployed, and shaped into something presentable.
The live Vercel deployment is intentionally configured as a read-only public dashboard.
Public visitors can:
- ๐ view the dashboard
- ๐ explore statistics
- ๐ search problems
- ๐๏ธ filter by difficulty
- ๐ท๏ธ filter by status
- ๐ open available problem links
Public visitors cannot:
- โ add problems
- โ edit problems
- โ delete problems
- โ modify Supabase data
This keeps the public demo safe while still showing the product clearly.
The full add, edit, and delete workflows were implemented during development and are shown in the screenshot gallery.
Each problem can be tracked with:
- problem name
- difficulty: Easy, Medium, Hard
- topic: Array, String, Graph, DP, etc.
- pattern: Two Pointer, Binary Search, Hashing, Sliding Window, etc.
- status: Solved, Revision, Unsolved
- problem link
The dashboard provides a clear overview of practice progress:
- total tracked problems
- solved count
- revision count
- unsolved count
- solved percentage
- daily goal progress
- current streak
- completed problems for the day
Algo Progress Hub highlights the most practiced areas and recognized patterns, helping identify what has been practiced most and where more balance may be needed.
Examples:
- Array
- String
- Searching
- Dynamic Programming
- Graph
- Stack
- Two Pointer
- Binary Search
- Hashing
- Sliding Window
- Prefix Sum
The problem archive supports fast exploration through:
- search by problem name
- search by topic
- search by pattern
- search by status
- filter by difficulty
- filter by status
This makes the dashboard useful even as the number of tracked problems grows.
The project includes a full problem-management workflow:
- add new problems
- edit existing problem details
- delete incorrect entries
- update statuses
- reflect progress in dashboard statistics
For public safety, these write operations are not exposed on the live read-only deployment.
- Next.js
- React
- TypeScript
- CSS
- Supabase
- PostgreSQL
- Row Level Security policies
- Python
- JSON-based local storage
- Command Line Interface
- Vercel
| Date / Period | Milestone |
|---|---|
| Early 2025 | Started as a Python CLI-based DSA tracker |
| Early 2025 | Worked part-time for around 2 months |
| Approx. 80 hours | Estimated total build time for the first version |
| 10 April 2026 | Pushed to GitHub as my first public repository |
| June 2026 | Upgraded into a web dashboard |
| Around 20 June 2026 | Connected Supabase for persistent data |
| Around 20 June 2026 | Deployed publicly on Vercel |
| Final version | Public dashboard made read-only for safe sharing |
- Problems are stored in Supabase.
- The dashboard fetches problem, goal, and streak data.
- Statistics are calculated from tracked problem records.
- Search and filters run on the client side for a smooth browsing experience.
- Public users can explore the dashboard without modifying data.
- Write access is restricted for safety.
The first version of Algo Progress Hub was built as a Python command-line tool.
It supported:
- adding problems
- viewing a dashboard
- searching problems
- deleting problems
- viewing stats
- setting a daily goal
- tracking streaks
Example CLI flow:
Enter choice: 1 โ Add Problem
Enter choice: 2 โ View Dashboard
Enter choice: 3 โ Search Problem
Enter choice: 4 โ Delete Problem
Enter choice: 5 โ View Stats
Enter choice: 6 โ Set Daily Goal
Enter choice: 7 โ ExitThe original data was stored in structured JSON format:
{
"name": "Trapping Rain Water",
"difficulty": "Hard",
"topic": "Array",
"pattern": "Two Pointer",
"status": "Unsolved",
"link": "https://leetcode.com/problems/trapping-rain-water/"
}git clone https://github.com/sumitdhara609/algo-progress-hub.gitcd algo-progress-hubnpm installCreate a .env.local file:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_keynpm run devOpen:
http://localhost:3000npm run buildalgo-progress-hub/
โโโ app/
โ โโโ globals.css
โ โโโ page.tsx
โโโ components/
โ โโโ AddProblemForm.tsx
โ โโโ EditProblemModal.tsx
โ โโโ ProblemTable.tsx
โ โโโ ProgressBar.tsx
โ โโโ StatCard.tsx
โโโ lib/
โ โโโ progress.ts
โ โโโ supabase.ts
โโโ public/
โ โโโ screenshots/
โโโ scripts/
โโโ src/
โโโ data/
โโโ README.mdThe public deployment is configured as a read-only dashboard.
Supabase Row Level Security is used so public visitors can read dashboard data but cannot directly modify production records through the live site.
This is intentional because the project is publicly shared as a portfolio/demo dashboard.
Algo Progress Hub started as a small personal tool.
At that time, the goal was simple: stay consistent with algorithm practice and stop losing track of solved problems.
But over time, it became more than that.
It became my first GitHub repository, my first structured developer project, my first step toward building systems instead of just writing isolated code.
The project reminds me that even a small CLI script can become something meaningful when it is improved patiently.
Possible future upgrades:
- protected admin dashboard
- authentication-based editing
- chart-based analytics
- calendar heatmap
- LeetCode API integration
- export progress as CSV/JSON
- advanced pattern analysis
- goal history tracking
Author: Sumit Dhara
This project is open-source under the MIT License.






