Skip to main content

Project Studio

Portfolio projects, structured like interviews

Each project is a locked-stack, 8-15h build with milestones, a self-rubric, a 60-second demo script, and three pre-baked STAR stories for the behavioral round. Finish one, walk into your next interview with a defensible bullet on your resume.

L2Backend API· 8-15h

Multi-user TODO API with JWT auth

This is the most common junior backend interview project on the planet: REST API, auth, persistence, tests. Builds the muscle hiring managers screen for first.

Resume bullet: “Built a multi-user REST API with JWT auth, rate-limiting, and PostgreSQL backed by 65% test coverage and a Docker deploy.

Python 3.12FastAPIPostgreSQLSQLAlchemy 2.0Pydantic v2JWT (PyJWT)pytest
L3AI Engineering· 25-40h

AI Telegram bot with conversation memory & tool use

AI Engineering is one of the fastest-growing junior areas right now, and the entry signal teams look for is 'has shipped a real LLM-backed system, not a demo'. This project covers the whole stack — API integration, memory, tools, deployment, evals — in one resume bullet.

Resume bullet: “Shipped a production AI Telegram bot with multi-turn conversation memory, tool use (web search + calculator), Redis persistence, webhook deployment, and a small eval suite. 99.9% uptime over the first month.

Python 3.12Anthropic SDK (Claude Opus 4.6)python-telegram-bot v21Redis (conversation memory + rate limit)FastAPI (webhook receiver)Fly.io (deploy)pytest + httpx
L4Distributed Systems· 60-100h

News feed at scale — fan-out, caching, 10K writes/s ready

This is a classic large-scale system-design interview problem you'll see at top engineering teams. Building it for real — not just whiteboarding — turns 'I've read the book' into 'I've shipped it'. A strong signal a junior can carry into a more senior-leaning interview.

Resume bullet: “Designed and built a Twitter-style news feed service: fan-out-on-write timeline assembly, Redis caching, Postgres-as-source-of-truth, load-tested to 10K writes/s with 95p latency under 50 ms. Handles the celebrity-user fan-out edge case explicitly.

Python 3.12FastAPIPostgreSQL (writes)Redis (timeline cache + dedupe)RQ / Celery (background fan-out)asyncpgLocust (load testing)Grafana + Prometheus
L2Web · static-site· 10-18h

Markdown blog engine with RSS + sitemap

Every developer eventually wants their own blog. Building it from scratch teaches HTTP serving, templating, content modelling, SEO basics (RSS / sitemap / OG tags), and deploy. It's the simplest project that touches all the things a junior backend engineer should know.

Resume bullet: “Built a static markdown-driven blog engine with full RSS 2.0 feed, sitemap.xml, syntax-highlighted code blocks, dark theme, and a 95+ Lighthouse score; deployed to Vercel with under 30KB of JS shipped to the client.

Python 3.12FastAPIJinja2markdown-it-pyPygmentsVercel
L3AI Engineering · Integrations· 20-35h

Slack bot that summarises threads with Claude

Slack is the home of long, context-heavy engineering discussions. A 'TL;DR this thread' button is the single most universally wanted Slack feature. Building it teaches OAuth flows, async message handling, prompt engineering for anchored summaries, and the security discipline of multi-tenant SaaS.

Resume bullet: “Built a Slack bot that listens to thread mentions, summarises long discussions using Claude with anchored citations, runs the summarisation in <8s p95, deployed to Fly.io with full secret rotation + per-workspace rate limiting.

Python 3.12Slack BoltAnthropic SDKRedisFastAPIFly.io
L4ML · Distributed Systems· 50-85h

Recommender system — collaborative filtering at million-row scale

Recommenders are everywhere — Netflix, Spotify, Pinterest, Amazon. Building one end-to-end teaches the rare combination of ML modelling AND production system design. This is the L4-tier portfolio piece that signals 'ready for senior IC' on resumes.

Resume bullet: “Designed and deployed a hybrid (collaborative-filtering + content-based) recommender for a 1M-user × 100K-item dataset; served via FastAPI with vector lookups in <30 ms p95, evaluated offline against MAP@10 + nDCG, A/B-tested online via shadow deployment.

Python 3.12PyTorch (matrix factorization)FAISS (ANN search)FastAPIRedis (feature store)MLflowDocker
L2CLI · automation· 6-12h

File organizer CLI — sort Downloads by type, date, EXIF

Everyone has a Downloads folder full of junk. This project teaches the unglamorous-but-paid pattern of writing a CLI tool that real humans will actually run on their machines: argparse vs click, dry-run flags, exit codes, idempotency, error recovery mid-batch.

Resume bullet: “Built a configurable file-organizer CLI in Python that sorts ~10k mixed files by MIME type, modification date, and image EXIF location in under 4 seconds; covered with 92% pytest line coverage and a dry-run mode.

Python 3.12clickPillowpytestpathlib
L2CLI · finance · data· 10-16h

Expense tracker CLI with CSV import + monthly reports

Tiny but interview-defensible CRUD project that teaches schema design, idempotent CSV import, deterministic rules engines, money math with Decimal, and PDF generation — all skills senior engineers reach for daily.

Resume bullet: “Built a SQLite-backed expense tracker with CSV bank-statement import, deterministic category-rules engine, monthly reports as PDF, and 87% pytest coverage.

Python 3.12clickSQLitepandasReportLabpytest
L3Backend · infra· 18-28h

Rate-limited API gateway with Redis + sliding window

Rate limiting is the single most asked-about piece of backend infra in mid-level interviews. Building one teaches concurrency safety, Redis Lua atomicity, sliding-window math, and observability under load — the same toolkit Stripe, Cloudflare, and AWS use.

Resume bullet: “Built an async FastAPI gateway with Redis-backed sliding-window rate limiting, per-key quotas, request tracing, and 1.4k RPS sustained throughput on a single 1-CPU container; tested with locust at 95th-percentile latency < 14ms.

Python 3.12FastAPIhttpxRedisLua scriptslocustDocker
L3AI Engineering · Developer tools· 18-30h

GitHub PR review bot powered by Claude

PR review is one of the two LLM use-cases (alongside support) that companies actively spend on in 2026. Building one teaches webhook handling, tool use, prompt iteration against real diffs, and the messy reality of 'is this comment useful?' evals.

Resume bullet: “Built a GitHub App that posts Claude-authored PR review comments inline, calling tools to fetch diffs and file context; ran on 120 internal PRs with a 71% reviewer-thumbs-up rate.

Python 3.12FastAPIAnthropic SDKPyGithubPostgreSQLDockerGitHub Webhooks
L3Backend · realtime· 20-32h

Realtime chat with WebSockets, rooms, and presence

Realtime is the feature that separates 'I built CRUD' from 'I built systems'. WebSockets force you to think about presence, backpressure, fan-out, and message ordering — every one of which is an interview question.

Resume bullet: “Built a multi-room realtime chat backend in FastAPI + Redis pub/sub, supporting presence, typing indicators, message history, and 500 concurrent WebSocket connections on a single 1-CPU container.

Python 3.12FastAPIWebSocketsRedis pub/subPostgreSQLasyncio
L4Backend · infra· 30-50h

Distributed task queue with retries, dead-letter, and metrics

Every non-trivial backend has 'do this thing eventually' — emails, image processing, retries. Building a real queue (not 'I once used celery_send_task') teaches idempotency, fan-out vs fan-in, retry semantics, observability, and the messy reality of jobs that fail in production at 3am.

Resume bullet: “Built a Celery-based distributed task queue running on 4 worker nodes processing 12k jobs/min, with idempotent retries, dead-letter routing, Prometheus metrics, and a flake-investigation runbook used in real incidents.

Python 3.12CeleryRedisPostgreSQLFlowerPrometheusDocker Compose

🚧

More projects coming

Pilot phase complete — junior (L2), AI engineering (L3), and senior-signaling (L4). We'll ship Phase 2 (10 more across all tiers) once we have completion data from these three. Goal: 20 total.