Practice
Build to Hire
23 real-world projects, each written as a brief from a team with a real problem. Build one to its acceptance criteria and you'll have something to show in an interview that a certificate never could.
- 1Pick a brief
- 2Build to the checklist
- 3Show it off
23 of 23 projects
- Brief #06 · BackendHard
Scaling PostgreSQL to 10M Users
Take one Postgres from 1 million to 10 million users, stage by stage: indexes, pooling, replicas, partitions, then shards, with a benchmark at every step.
PostgreSQLIndexes & EXPLAINPgBouncer+3⏱ 20-30 hOpen brief → - Brief #01 · BackendSoonHard
Idempotent Payment API
A payment API where a flaky network can retry as often as it likes, and the customer is still charged exactly once.
Idempotency keysPostgreSQLRedis+2⏱ 15-20 hOpen brief → - Brief #02 · BackendSoonEasy
Redis Cache for a Slow API
Put a cache in front of a two-second endpoint and get it under 50 ms, without ever showing stale prices.
RedisCache-asideTTL+2⏱ 6-10 hOpen brief → - Brief #03 · BackendSoonMedium
Search Autocomplete Service
Autocomplete over a million product names: suggestions in under 20 ms, ranked well, and forgiving of typos.
TrieRankingFuzzy matching+2⏱ 10-14 hOpen brief → - Brief #04 · BackendSoonMedium
Nearest Rider Finder (Geo Search)
Match a customer to the closest free rider out of 50,000 moving bikes, in milliseconds.
GeohashRedis GEO / PostGISHaversine+1⏱ 10-14 hOpen brief → - Brief #05 · BackendSoonHard
Distributed Rate Limiter
A rate limiter that stays fair when your API runs on ten pods, and fails safely when Redis doesn't answer.
Token bucketRedis + LuaKubernetes+2⏱ 14-20 hOpen brief → - Brief #07 · DevOps & SRESoonEasy
Monitoring Stack: Prometheus + Grafana
Metrics, logs and alerts for two small services, so you know something broke before a user tells you.
PrometheusGrafanaLoki+2⏱ 8-12 hOpen brief → - Brief #08 · DevOps & SRESoonHard
Production Incident Debugging
Break a running system in realistic ways, find each cause from the evidence, fix it, and write a blameless postmortem.
Incident responseLinux debuggingMetrics & logs+2⏱ 12-16 hOpen brief → - Brief #09 · DevOps & SRESoonMedium
AWS Infrastructure with Terraform
No more clicking in the AWS console: every infrastructure change goes through a pull request with a reviewed plan.
TerraformAWS VPC & IAMGitHub Actions+2⏱ 10-15 hOpen brief → - Brief #10 · SecuritySoonMedium
Multi-Tenant Data Isolation
Find and close the bug that lets one company read another company's invoices by changing a number in the URL.
BOLAJWTPostgreSQL RLS+2⏱ 10-14 hOpen brief → - Brief #11 · SecuritySoonEasy
Secure Webhook System (HMAC)
Accept 'payment succeeded' webhooks only when they really came from your provider, and only once.
HMAC-SHA256TimestampsReplay protection+1⏱ 5-8 hOpen brief → - Brief #12 · AI & LLMSoonMedium
RAG Chatbot for Your Docs
A chatbot that answers questions from your company's documents, cites its sources, and says 'I don't know' when it should.
EmbeddingsChunkingVector search+2⏱ 12-16 hOpen brief → - Brief #13 · AI & LLMSoonMedium
LLM Evaluation Pipeline
A test harness that scores an AI feature on every pull request, so a prompt tweak can't quietly make it worse.
Golden datasetsJSON SchemaLLM-as-judge+2⏱ 10-14 hOpen brief → - Brief #14 · AI & LLMSoonHard
Build Your Own Agent Harness
Everything around the model that turns an LLM into a working coding agent: the tool loop, permissions, context management, a sandbox, and evals.
Tool callingAgent loopPermissions+3⏱ 20-30 hOpen brief → - Brief #15 · AI & LLMSoonHard
Fine-Tune a Tiny LLM
Fine-tune a small open model on your own support tickets with LoRA, and prove with an eval set whether it actually beats good prompting.
LoRAFine-tuningHugging Face+2⏱ 20-28 hOpen brief → - Brief #16 · AI & LLMSoonHard
LLM Gateway (Multi-Model Router)
A single service every team calls instead of the LLM providers directly: streaming, caching, fallbacks when a provider is down, budgets and a cost dashboard.
Go or PythonStreamingSemantic cache+3⏱ 18-24 hOpen brief → - Brief #17 · AI & LLMSoonMedium
Chatbot Guardrails & Safety
Defend a customer chatbot against prompt injection, data leaks and off-topic abuse, with a red-team test suite that measures how often each attack gets through.
Prompt injectionPII detectionRed teaming+2⏱ 12-16 hOpen brief → - Brief #18 · AI & LLMSoonMedium
Bangla Voice Assistant
A voice assistant you can speak to in Bangla: speech to text, an LLM answer, and speech back, all inside a strict latency budget so it feels like a conversation.
Speech-to-textText-to-speechStreaming+2⏱ 14-20 hOpen brief → - Brief #19 · Machine LearningSoonEasy
Neural Network from Scratch
Write a neural network with nothing but NumPy: forward pass, backpropagation, gradient checking and training, then rebuild it in PyTorch and compare.
NumPyBackpropagationGradient checking+2⏱ 10-14 hOpen brief → - Brief #20 · Machine LearningSoonMedium
Mobile Wallet Fraud Detection
Flag fraudulent transfers in a bKash-style ledger where only 1 in 500 is fraud: features from behaviour, a time-based split, and a threshold chosen by what mistakes cost.
Imbalanced dataFeature engineeringGradient boosting+2⏱ 14-20 hOpen brief → - Brief #21 · Machine LearningSoonHard
Movie Recommendation System
A two-stage recommender like the big platforms use: retrieve a few hundred candidates from millions with embeddings, rank them with a second model, and measure it properly offline.
Recommender systemsTwo-tower modelApproximate nearest neighbours+2⏱ 24-32 hOpen brief → - Brief #22 · Machine LearningSoonHard
ML Model Deployment (MLOps)
Turn a model that lives in a Jupyter notebook into a real service: a reproducible training pipeline, a model registry, an API, drift monitoring and a safe rollout.
Training pipelinesModel registryModel serving+2⏱ 20-28 hOpen brief → - Brief #23 · Machine LearningSoonMedium
On-Device Image Classifier
Fine-tune an image classifier with transfer learning, then shrink it until it runs fast on a cheap phone, measuring exactly what each trick costs in accuracy.
Transfer learningCNNsQuantization+2⏱ 12-18 hOpen brief →