Project Roulette / Projects

Full-stack and Mobile projects

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

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

  1. Shapes, freehand drawing, and sticky notes
  2. Live cursors and presence indicators
  3. Conflict-free merging of simultaneous edits using CRDTs
  4. Shareable boards with view-only and edit links
  5. 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

  1. Shared editor with synced cursors and selections
  2. Run Python, JavaScript, or C++ in isolated containers with CPU, memory, and time limits
  3. Private notes panel only the interviewer can see
  4. Session playback of the whole interview
  5. 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

  1. HTTP, TCP, and keyword checks run on a schedule by a worker
  2. Incident detection that confirms with retries to avoid false alarms
  3. 90-day uptime bars and response-time charts
  4. Email and Discord alerts when something goes down
  5. Admin page for posting incident updates

Bonus: Checks from two regions that only open an incident when both agree the service is down.

Mobile · Intermediate · 2–3 weeks

Offline-first Field Inspection App

A mobile app for technicians who inspect equipment on site: checklists, photos, and signatures that work with no signal and sync later.

  • React Native (Expo)
  • TypeScript
  • SQLite
  • Supabase

Features

  1. Dynamic checklist templates loaded from the server
  2. Photo capture with on-image annotation
  3. Local-first storage with background sync and conflict handling
  4. Signature capture and PDF report export
  5. GPS-tagged inspections

Bonus: A small web admin dashboard where managers create templates and review submitted inspections.

Mobile · Intermediate · 2 weeks

Bluetooth LE Sensor Companion App

A phone app that discovers a Bluetooth Low Energy sensor, streams live readings, keeps a history, and sends settings back to the device.

  • Flutter (Dart)
  • flutter_blue_plus
  • SQLite
  • ESP32 or nRF52 as the peripheral

Features

  1. Scan, connect, and auto-reconnect to the device
  2. A custom GATT service and characteristics that you define
  3. Live charts of incoming readings
  4. Local history with CSV export
  5. Write settings like sample rate and thresholds back to the device

Bonus: Firmware updates delivered over Bluetooth straight from the app.