Project Roulette / Projects

Frontend, Data & ML, Embedded & IoT, Systems and Games projects

16 of 30 projects. Each has a stack, five features to ship, a difficulty, a time estimate, and a bonus challenge.

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

  1. 8–10 components with full keyboard support and correct ARIA roles
  2. Light and dark theming driven by design tokens
  3. Docs site with a live props playground for each component
  4. Automated accessibility tests that run in CI on every pull request
  5. 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

  1. Fetch and cache commit history with pagination and rate-limit handling
  2. Animated treemap playback with a timeline scrubber
  3. Contributor timeline and a churn heatmap of hot-spot files
  4. Heavy parsing moved into a Web Worker to keep animation smooth
  5. 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

  1. Drag-and-drop gates, switches, clocks, LEDs, and seven-segment displays
  2. Event-driven simulation with propagation delay
  3. Truth-table generator for any selected circuit
  4. Reusable custom components built from sub-circuits
  5. Save, load, and share circuits by link

Bonus: A waveform timing-diagram viewer that works like a logic analyzer for any wire you probe.

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

  1. PDF parsing and section extraction (experience, skills, education)
  2. Skill extraction against a curated skills taxonomy
  3. Semantic similarity scoring with a readable explanation
  4. Gap report listing missing and weak skills
  5. 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

  1. Hand landmark extraction from live video
  2. Data-collection tool for recording custom gestures
  3. Trained classifier with a confusion matrix and accuracy report
  4. Smoothing and debounce so actions don't misfire
  5. 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

  1. Exploratory analysis and time-series feature engineering
  2. A baseline model and an LSTM, compared with proper time-based validation
  3. Experiment tracking in MLflow
  4. Model served through FastAPI inside Docker
  5. 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

  1. Code-aware chunking by function and class using tree-sitter
  2. Hybrid keyword and vector search
  3. Answers with file and line citations
  4. Incremental re-indexing when new commits land
  5. An evaluation set of 30+ questions that measures retrieval accuracy

Bonus: A VS Code extension so you can ask questions without leaving the editor.

Embedded & IoT · Intermediate · 1–2 weeks

ESP32 Air Quality Station

A connected sensor node that measures CO₂, PM2.5, temperature, and humidity, and streams readings over MQTT to a live dashboard.

  • ESP32
  • C++ (ESP-IDF or PlatformIO)
  • MQTT
  • InfluxDB
  • Grafana

Features

  1. Sensor drivers over I²C and UART with calibration
  2. Deep-sleep power management for battery use
  3. MQTT with reconnect and local buffering during outages
  4. Over-the-air firmware updates
  5. Dashboard with thresholds and alerts

Bonus: A custom PCB designed in KiCad and a 3D-printed enclosure, shown in photos in the README.

Embedded & IoT · Advanced · 2–3 weeks

PID Motor Controller on FreeRTOS

A closed-loop DC motor speed and position controller on an STM32, with a desktop app for live plotting and tuning.

  • STM32
  • C
  • FreeRTOS
  • Quadrature encoder
  • Python (PyQt, pyqtgraph)

Features

  1. Encoder reading using hardware timer peripherals
  2. PID loop running at a fixed rate in its own RTOS task
  3. Serial protocol with framing and checksums
  4. Desktop GUI with live plots and gain sliders
  5. Host-side unit tests for the control logic

Bonus: An auto-tuning routine (relay or Ziegler–Nichols) with a before/after step-response plot.

Embedded & IoT · Advanced · 2–3 weeks

FPGA Game Console with VGA Output

Pong or Breakout built entirely in hardware with Verilog, driving a VGA monitor straight from an FPGA board with no CPU at all.

  • Verilog or SystemVerilog
  • Vivado or Quartus
  • Basys 3 or DE10-Lite board
  • Verilator

Features

  1. VGA timing generator for 640×480 at 60 Hz
  2. Sprite drawing and collision logic in hardware
  3. Debounced button input and a score on the seven-segment display
  4. Testbenches with automated waveform checks
  5. Clean module hierarchy with resource and timing reports

Bonus: Sound effects generated in hardware through PWM audio output.

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

  1. Write-ahead log with crash recovery
  2. Memtable flushed to sorted SSTable files
  3. Bloom filters to skip unnecessary disk reads
  4. Background compaction
  5. 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

  1. Fetch, decode, and execute for the full RV32I instruction set
  2. ELF loader for compiled binaries
  3. Memory-mapped UART so programs can print
  4. Step debugger with register and memory views
  5. 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

  1. PID, mount, UTS, and network namespaces
  2. Root filesystem set up with pivot_root from an image tarball
  3. CPU and memory limits using cgroups v2
  4. Layered filesystems with OverlayFS
  5. 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

  1. Hand-written lexer and recursive-descent parser
  2. Type checker with clear error messages that point at the source
  3. An intermediate representation with constant folding and dead-code elimination
  4. Code generation to WebAssembly or assembly
  5. 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

  1. Authoritative server running at a fixed tick rate
  2. Client-side prediction with server reconciliation
  3. Entity interpolation for other players
  4. Lobby and simple matchmaking
  5. 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

  1. Seeded dungeon generation using BSP or cellular automata
  2. Entity-component-system architecture for all game objects
  3. Field of view and A* pathfinding for enemies
  4. Items, inventory, and save/load
  5. A playable web build published on itch.io

Bonus: A daily seeded challenge where everyone plays the same dungeon.