Frontend · Intermediate · 2 weeks
Accessible Design System & Component Library
A themeable library of accessible UI components (dialog, combobox, tabs, data table, toast) published to npm, with a documentation site where people can try every component live.
- React
- TypeScript
- Storybook
- Vitest
- Testing Library
- axe-core
Features
- 8–10 components with full keyboard support and correct ARIA roles
- Light and dark theming driven by design tokens
- Docs site with a live props playground for each component
- Automated accessibility tests that run in CI on every pull request
- Versioned releases to npm with a generated changelog
Bonus: Visual regression testing with Playwright screenshots that block a PR if any component changes unexpectedly.
Frontend · Intermediate · 1–2 weeks
Git Repo Time-Lapse Visualizer
Paste any public GitHub repository and watch its file tree grow over time as an animated treemap, with contributor activity and the files that change most often.
- TypeScript
- Vite
- D3.js
- GitHub REST API
- Web Workers
Features
- Fetch and cache commit history with pagination and rate-limit handling
- Animated treemap playback with a timeline scrubber
- Contributor timeline and a churn heatmap of hot-spot files
- Heavy parsing moved into a Web Worker to keep animation smooth
- Shareable URLs that encode the repo and timestamp
Bonus: Export the playback as a WebM or GIF that people can drop straight into their own README.
Frontend · Intermediate · 2 weeks
Browser Logic Circuit Simulator
Drag gates, wires, clocks, and LEDs onto a canvas and watch signals propagate in real time. Build anything from a half adder to a tiny CPU in the browser.
- TypeScript
- Canvas 2D or SVG
- Vite
- Web Workers
- Vitest
Features
- Drag-and-drop gates, switches, clocks, LEDs, and seven-segment displays
- Event-driven simulation with propagation delay
- Truth-table generator for any selected circuit
- Reusable custom components built from sub-circuits
- Save, load, and share circuits by link
Bonus: A waveform timing-diagram viewer that works like a logic analyzer for any wire you probe.
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.
Games · Advanced · 2–3 weeks
Multiplayer Arena with Real Netcode
A fast top-down browser arena game with an authoritative server, client-side prediction, and lag compensation, so it feels smooth even at 150 ms ping.
- TypeScript
- HTML Canvas or Phaser
- Node.js
- WebSockets
Features
- Authoritative server running at a fixed tick rate
- Client-side prediction with server reconciliation
- Entity interpolation for other players
- Lobby and simple matchmaking
- Built-in network simulator with latency and packet-loss sliders
Bonus: A replay system that records inputs and plays back any match deterministically.
Games · Intermediate · 2–3 weeks
Procedural Roguelike with ECS
A turn-based dungeon crawler with procedurally generated levels, built on an entity-component-system architecture.
- Rust + Bevy
- or C# + Godot
- WebAssembly build
Features
- Seeded dungeon generation using BSP or cellular automata
- Entity-component-system architecture for all game objects
- Field of view and A* pathfinding for enemies
- Items, inventory, and save/load
- A playable web build published on itch.io
Bonus: A daily seeded challenge where everyone plays the same dungeon.