Skip to content

sumitdhara609/algo-progress-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

34 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Algo Progress Hub

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


๐Ÿ–ผ๏ธ Preview

Dashboard Hero

Dashboard Hero

Add Problem Workflow

Add Problem

Stats and Analytics

Stats and Analytics

Topic and Pattern Insights

Topic and Pattern Insights

Problem Archive

Problem Archive

Edit Problem Workflow

Edit Problem

Search, Filter, and Public Footer

Search Filter Footer


๐ŸŒ Overview

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.


๐Ÿงญ Development Story

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.


๐Ÿ”’ Current Public Deployment

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.


โœจ Features

๐Ÿ“Œ Problem Tracking

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

๐Ÿ“Š Dashboard Analytics

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

๐Ÿง  Topic and Pattern Insights

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

๐Ÿ” Search and Filters

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.


๐Ÿ› ๏ธ CRUD Workflow

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.


๐Ÿงฐ Tech Stack

Frontend

  • Next.js
  • React
  • TypeScript
  • CSS

Backend and Data

  • Supabase
  • PostgreSQL
  • Row Level Security policies

Original Version

  • Python
  • JSON-based local storage
  • Command Line Interface

Deployment

  • Vercel

๐Ÿ—“๏ธ Timeline

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

โš™๏ธ How It Works

  1. Problems are stored in Supabase.
  2. The dashboard fetches problem, goal, and streak data.
  3. Statistics are calculated from tracked problem records.
  4. Search and filters run on the client side for a smooth browsing experience.
  5. Public users can explore the dashboard without modifying data.
  6. Write access is restricted for safety.

๐Ÿ Original CLI Version

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  โ†’ Exit

The 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/"
}

๐Ÿš€ Running Locally

1. Clone the repository

git clone https://github.com/sumitdhara609/algo-progress-hub.git

2. Navigate into the project

cd algo-progress-hub

3. Install dependencies

npm install

4. Create environment variables

Create a .env.local file:

NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

5. Run the development server

npm run dev

Open:

http://localhost:3000

๐Ÿ—๏ธ Build

npm run build

๐Ÿ“ Project Structure

algo-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.md

๐Ÿ›ก๏ธ Security Note

The 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.


๐Ÿ’™ Why This Project Matters

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.


๐Ÿ”ฎ Future Improvements

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 & License

Author: Sumit Dhara

This project is open-source under the MIT License.

ยฉ 2026 Sumit Dhara. All rights reserved.


โญ If you found this useful, consider giving a star!

About

A refined full-stack DSA progress intelligence dashboard evolved from a Python CLI tracker, built with Next.js, TypeScript, Supabase, and Vercel to transform algorithm practice into structured, visual, and measurable growth.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors