Project Roulette / Projects

Frontend, Embedded & IoT, Security and Games projects

11 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.

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.

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

  1. Pattern and entropy-based secret detection
  2. Fast scanning of the full Git history
  3. Allowlist file to suppress false positives
  4. SARIF output that shows up in GitHub code scanning
  5. 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

  1. Fake shell that imitates a Linux machine and logs every command
  2. Analytics on the most common passwords and commands
  3. World map of where attempts come from
  4. Strong isolation: its own VM, a container, and no outbound network
  5. 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

  1. AES-GCM encryption in the browser, with the key kept only in the URL fragment
  2. Chunked streaming encryption for large files
  3. Links that expire or stop after a set number of downloads
  4. Optional password protection with proper key derivation
  5. A written threat model in the README

Bonus: A verification page that shows the stored ciphertext is unreadable without the link.

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.