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.
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
- Sensor drivers over I²C and UART with calibration
- Deep-sleep power management for battery use
- MQTT with reconnect and local buffering during outages
- Over-the-air firmware updates
- 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
- Encoder reading using hardware timer peripherals
- PID loop running at a fixed rate in its own RTOS task
- Serial protocol with framing and checksums
- Desktop GUI with live plots and gain sliders
- 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
- VGA timing generator for 640×480 at 60 Hz
- Sprite drawing and collision logic in hardware
- Debounced button input and a score on the seven-segment display
- Testbenches with automated waveform checks
- Clean module hierarchy with resource and timing reports
Bonus: Sound effects generated in hardware through PWM audio output.