2026

Weekend Projects: DSA in Practice

A series of practical tools — URL shortener, log analyzer CLI, AI-powered smart commit CLI, and Express API boilerplate — each chosen to reinforce a specific data-structures-and-algorithms pattern through a production-style implementation

Tech Stack

TypeScriptPythonNode.jsExpressPostgreSQLPrisma ORMJestDockerDocker ComposeGitHub ActionsClaude APIMatplotlibYargsInquirer

Context

The Problem

DSA practice on LeetCode teaches the pattern but not how to apply it to real systems. The goal of this collection was to take canonical DSA patterns (hashmaps, sliding windows, string parsing, layered architecture) and use each to build something genuinely useful, with the polish of a real tool — tests, persistence, rate limiting, CI.

Constraints

  • Each project must showcase a distinct DSA pattern, not just be another CRUD app
  • Projects must include 'bonus' production touches (rate limiting, persistence, CI, tests)
  • Tooling must run end-to-end — no half-finished demos
  • Solutions must use the right pattern for the problem, not be forced into one

Stakes

Built as a single repository demonstrating that algorithm-pattern fluency translates into production-quality tooling, not just whiteboard answers

My Role

Title

Solo Engineer

Team

Personal Project

Ownership

End-to-end ownership: pattern selection, project architecture, implementation, testing, CI/CD, and Docker packaging across all sub-projects

Approach & Key Decisions

Each sub-project pairs one DSA pattern with a real tool. The URL Shortener uses bidirectional hashmaps and Base62 encoding with click analytics, custom aliases, and rate limiting. The Log Analyzer CLI uses sliding-window error-spike detection with Matplotlib visualization and real-time tailing. The Smart Commit CLI uses string-processing diff parsing and exponential-backoff retry against the Claude API to generate Conventional Commits messages. The Express API Boilerplate showcases layered architecture (routes → controllers → services → ORM) with JWT refresh-token rotation, RBAC, Docker, and CI.

Pair each DSA pattern with a real tool, not a contrived exercise

Forces the pattern to do real work — a bidirectional hashmap that actually shortens URLs proves the trade-offs are understood, not just memorized.

Add production touches as 'bonus' features per project

Rate limiting on the URL shortener, exponential backoff on the AI CLI, and JWT rotation on the API boilerplate show that the project is a tool, not a demo.

Use exponential backoff (1s → 2s → 4s) for the Claude API call in Smart Commit

External LLM calls fail transiently; backoff turns a fragile UX into a reliable one without flooding the API on errors.

80%+ Jest coverage and GitHub Actions CI on the Express boilerplate

Treats the boilerplate as something someone might actually fork — coverage and CI catch regressions before the next user encounters them.

Challenges & Solutions

Challenge

Avoiding forced DSA patterns where they don't fit the problem

Solution

Selected projects where the pattern is the natural solution: hashmap for short-code lookup, sliding window for time-bucketed log analysis, string processing for diff parsing

Challenge

LLM API calls failing intermittently in the Smart Commit CLI

Solution

Wrapped calls in exponential backoff retry (1s, 2s, 4s) with graceful failure messages — the user sees a clean retry, not a stack trace

Challenge

Boilerplate code rotting if it ships without tests or CI

Solution

Backed the Express boilerplate with Jest at 80%+ coverage and GitHub Actions on every push so the starter stays usable

Outcomes & Impact

URL Shortener

Bidirectional hashmap + Base62 encoding with click analytics, custom aliases, JSON persistence, and rate limiting (10 requests / 60s)

Log Analyzer CLI

Sliding-window spike detection with Matplotlib visualization, real-time tailing, and Apache/Nginx/JSON log support

Smart Commit CLI

Claude-API-powered Conventional Commits generator with diff parsing, exponential backoff retry, dry-run mode, and language overrides

Express API Boilerplate

Layered architecture, JWT refresh-token rotation, RBAC (USER/ADMIN/MODERATOR), Docker Compose, GitHub Actions CI, 80%+ Jest coverage

Languages

TypeScript 66.8%, Python 29.7%, JavaScript 3.0% across the collection

Project Links