Full-stack · Advanced · 2–3 weeks
Real-time Collaborative Whiteboard
A multiplayer canvas where several people draw, add sticky notes, and see each other's cursors live, with edits that never conflict.
- React
- TypeScript
- Yjs (CRDT)
- WebSockets
- Node.js
- PostgreSQL
Features
- Shapes, freehand drawing, and sticky notes
- Live cursors and presence indicators
- Conflict-free merging of simultaneous edits using CRDTs
- Shareable boards with view-only and edit links
- Persistent boards with version history
Bonus: Offline editing that merges cleanly with everyone else's changes when you reconnect.
Full-stack · Advanced · 2–3 weeks
Live Coding Interview Room
Create a room, share a link, and code together in a shared editor. Code runs in sandboxed containers and both people see the output.
- Next.js
- Monaco Editor
- WebSockets
- Docker
- Redis
Features
- Shared editor with synced cursors and selections
- Run Python, JavaScript, or C++ in isolated containers with CPU, memory, and time limits
- Private notes panel only the interviewer can see
- Session playback of the whole interview
- Rooms that expire and clean up automatically
Bonus: Hidden test cases that grade the candidate's solution automatically and show a pass/fail report.
Full-stack · Intermediate · 2 weeks
Uptime Monitor & Public Status Page
Monitors websites and APIs every minute, detects outages, opens incidents, and publishes a clean public status page with uptime history.
- Next.js
- TypeScript
- PostgreSQL
- Node.js worker
- Email or Discord webhooks
Features
- HTTP, TCP, and keyword checks run on a schedule by a worker
- Incident detection that confirms with retries to avoid false alarms
- 90-day uptime bars and response-time charts
- Email and Discord alerts when something goes down
- Admin page for posting incident updates
Bonus: Checks from two regions that only open an incident when both agree the service is down.
Data & ML · Intermediate · 1–2 weeks
Resume ↔ Job Description Matcher
Upload a resume and a job posting. It scores how well they match, highlights missing skills, and suggests stronger bullet points.
- Python
- sentence-transformers
- spaCy
- FastAPI
- Streamlit
Features
- PDF parsing and section extraction (experience, skills, education)
- Skill extraction against a curated skills taxonomy
- Semantic similarity scoring with a readable explanation
- Gap report listing missing and weak skills
- A small labeled test set that measures accuracy
Bonus: Benchmark three embedding models on your test set and publish the results table in the README.
Data & ML · Intermediate · 1–2 weeks
Webcam Hand-Gesture Controller
Recognizes hand gestures from a webcam in real time and uses them to control slides, media playback, or smart lights.
- Python
- MediaPipe
- PyTorch or scikit-learn
- OpenCV
Features
- Hand landmark extraction from live video
- Data-collection tool for recording custom gestures
- Trained classifier with a confusion matrix and accuracy report
- Smoothing and debounce so actions don't misfire
- Config file that maps gestures to actions
Bonus: Export the model to ONNX and run it fully in the browser with a live demo page.
Data & ML · Advanced · 2–3 weeks
Predictive Maintenance for Jet Engines
Predicts the remaining useful life of jet engines from sensor time series using NASA's C-MAPSS dataset, served behind an API with a monitoring dashboard.
- Python
- pandas
- LightGBM or PyTorch
- MLflow
- FastAPI
- Docker
Features
- Exploratory analysis and time-series feature engineering
- A baseline model and an LSTM, compared with proper time-based validation
- Experiment tracking in MLflow
- Model served through FastAPI inside Docker
- Dashboard showing predictions per engine
Bonus: Data-drift detection that flags when incoming sensor data stops looking like the training data.
Data & ML · Intermediate · 2 weeks
Codebase Q&A Assistant
Index any Git repository and ask questions like "where is authentication handled?" Answers cite the exact files and lines they came from.
- Python
- tree-sitter
- sentence-transformers
- pgvector or Qdrant
- FastAPI
- An LLM API
Features
- Code-aware chunking by function and class using tree-sitter
- Hybrid keyword and vector search
- Answers with file and line citations
- Incremental re-indexing when new commits land
- An evaluation set of 30+ questions that measures retrieval accuracy
Bonus: A VS Code extension so you can ask questions without leaving the editor.
Systems · Advanced · 2–3 weeks
LSM-Tree Key-Value Store
A persistent key-value database built from scratch with a write-ahead log, memtable, SSTables, and compaction, like a tiny RocksDB.
- Rust or C++
- TCP
- criterion / Google Benchmark
Features
- Write-ahead log with crash recovery
- Memtable flushed to sorted SSTable files
- Bloom filters to skip unnecessary disk reads
- Background compaction
- Simple TCP protocol with a CLI client
Bonus: Benchmarks against SQLite with throughput and latency graphs in the README.
Systems · Advanced · 2–3 weeks
RISC-V Emulator with Debugger
An RV32I CPU emulator that runs real programs compiled with GCC, plus a step debugger for registers and memory.
- C++ or Rust
- RISC-V GCC toolchain
- SDL2 (optional)
Features
- Fetch, decode, and execute for the full RV32I instruction set
- ELF loader for compiled binaries
- Memory-mapped UART so programs can print
- Step debugger with register and memory views
- Passes the official riscv-tests suite
Bonus: A 5-stage pipeline view that visualizes hazards, stalls, and forwarding cycle by cycle.
Systems · Advanced · 2–3 weeks
Mini Container Runtime
Your own version of docker run, built from scratch: isolated processes with their own filesystem, process tree, network, and resource limits.
- Go or C
- Linux namespaces
- cgroups v2
- OverlayFS
Features
- PID, mount, UTS, and network namespaces
- Root filesystem set up with pivot_root from an image tarball
- CPU and memory limits using cgroups v2
- Layered filesystems with OverlayFS
- veth networking so containers can reach the internet
Bonus: Pull and run real images from Docker Hub by implementing the registry API.
Systems · Advanced · 2–3 weeks
Compiler for a Small Language
A compiler for your own small language, with variables, functions, loops, and structs, that outputs WebAssembly or x86-64 assembly and runs real programs.
- Rust, C++, or OCaml
- WebAssembly (WAT) or x86-64
- A test harness
Features
- Hand-written lexer and recursive-descent parser
- Type checker with clear error messages that point at the source
- An intermediate representation with constant folding and dead-code elimination
- Code generation to WebAssembly or assembly
- Test suite of example programs with expected output
Bonus: A web playground that compiles and runs programs right in the browser.
Security · Intermediate · 1–2 weeks
Git Secrets Scanner & GitHub Action
A CLI and GitHub Action that scans repositories, including full commit history, for leaked API keys, passwords, and private keys.
- Go
- Regex + entropy analysis
- GitHub Actions
- SARIF
Features
- Pattern and entropy-based secret detection
- Fast scanning of the full Git history
- Allowlist file to suppress false positives
- SARIF output that shows up in GitHub code scanning
- Pre-commit hook mode that blocks leaks before they happen
Bonus: A seeded test corpus that reports precision and recall, compared against an existing open-source scanner.
Security · Intermediate · 1–2 weeks
SSH Honeypot with Attack Dashboard
A fake SSH server on a cheap cloud VM that records the logins and commands real attackers try, shown on a live dashboard.
- Python (asyncssh) or Go
- Docker
- PostgreSQL
- Grafana
- GeoLite2
Features
- Fake shell that imitates a Linux machine and logs every command
- Analytics on the most common passwords and commands
- World map of where attempts come from
- Strong isolation: its own VM, a container, and no outbound network
- Automatically generated weekly threat summary
Bonus: A write-up analyzing one week of real attack data, published alongside the repo.
Security · Advanced · 2 weeks
End-to-End Encrypted File Sharing
Share files by link, with encryption done in the browser so the server never sees file contents or keys.
- TypeScript
- Web Crypto API
- Node.js or Go
- S3-compatible storage
Features
- AES-GCM encryption in the browser, with the key kept only in the URL fragment
- Chunked streaming encryption for large files
- Links that expire or stop after a set number of downloads
- Optional password protection with proper key derivation
- A written threat model in the README
Bonus: A verification page that shows the stored ciphertext is unreadable without the link.