Projects

What is in flight, what is finished, and the dates each project is working toward. Open items mirror the Reminders lists, snapshotted Oct 16, 2026; dates left off a list are shown as not set rather than guessed.

22 projects4 overdue7 due within 30 days44 later23 with no date

Overdue

Next 30 days

Later

44 dated items, through Jun 30, 2027
  • in 32 daysP0🛒 ORDER ALL PARTS (steppers, drivers, ESP32, optocoupler, MC-DC2 cable, bearings, slip ring)D7000 robotic camera
  • in 33 daysP0Confirm the Plan A sensor stack on a bench prototypeSmart Notebook
  • in 37 daysP0🛒 Send the 5 STLs to a printer — they are exported and readyD7000 robotic camera
  • in 46 daysFinish Playground Craft & Prototypes milestone (Phase 3)Swift Student Challenge
  • in 47 daysP1Decide hosting and deploy an accessible rider appWage Transparency Tool
  • in 52 daysP1Pi 4 + gphoto2 ↔ D7000 over USB: shutter, live view, RAW+JPEG downloadD7000 robotic camera
  • in 63 daysP0🛒 PROCUREMENT DEADLINE: order the sensor + electronicsSmart Notebook
  • in 67 daysLock final concept (Phase 4)Swift Student Challenge
  • in 68 daysP1Optocoupler shutter release + verify the persisted actuation budgetD7000 robotic camera
  • in 68 daysP2Begin rider recruitment only after the gate clearsWage Transparency Tool
  • in 78 daysP0🛒 Send the 7 STLs to a printer — they are exported and readySmart Notebook
  • in 83 daysP2Flash esp32/pantilt.ino; validate homing, backlash compensation, IMU settleD7000 robotic camera
  • in 94 daysP2Torque validation under real load: camera + 18-200mm at full extension, tiltedD7000 robotic camera
  • in 95 daysFeature-complete build (Phase 5)Swift Student Challenge
  • in 109 daysP1⚠️ MILESTONE M0 - HARD GATE: sensor accuracy RMS < 0.30 mmSmart Notebook
  • in 114 daysP3Mechanical assembly: print, fit, balance slide adjustment, cable routingD7000 robotic camera
  • in 114 daysSubmit Swift Student Challenge entry (Phase 6)Swift Student Challenge
  • in 122 daysP1Write a page and read it back as legible SVG (receiver.py serial)Smart Notebook
  • in 122 daysP3Full rig on a tripod - mechanical stability and vibration checkD7000 robotic camera
  • in 137 daysP1Fix playtest blockers and inspect encounter reportLanternfall
  • in 137 daysP4Phone app end to end against real hardware: shutter, exposure, joystick aimingD7000 robotic camera
  • in 142 daysP2Firmware bring-up: FreeRTOS tasks, 1€ filter tuning, stroke segmentation, BLE, SDSmart Notebook
  • in 147 daysP4Field test #1: outdoors, real light, real subjects, on batteryD7000 robotic camera
  • in 158 daysP2Sheet ID: 8-cell IR barcode with ambient cancellation + paritySmart Notebook
  • in 158 daysP5Exposure: ETTR convergence with the raw-headroom correction, validated on real RAWsD7000 robotic camera
  • in 163 daysP5Validate composition scoring on your own photographsD7000 robotic camera
  • in 167 daysP5Autonomous scan→score→trigger loop, with JSONL decision loggingD7000 robotic camera
  • in 171 daysP6🎯 TRIP REHEARSAL: full field day, power budget, weather, pack-downD7000 robotic camera
  • in 173 daysP2Replace first-pass scenery, animation and audioLanternfall
  • in 173 daysP6🚀 TRIP-READYD7000 robotic camera
  • in 178 daysP1Finish the gig-app-style HUDDelivery Simulator
  • in 183 daysP3Chassis assembly: disc binding, registration pins, sheet-removal detectionSmart Notebook
  • in 188 daysP3Print real sheets with fiducials + ID barcodes (make_sheets.py)Smart Notebook
  • in 203 daysP2Playtest with at least five new playersLanternfall
  • in 203 daysP2Playtest the shift loop with ridersDelivery Simulator
  • in 208 daysP4Host pipeline: receiver → strokes → SVG/JSON, plus scan_pipeline.py ArUco camera captureSmart Notebook
  • in 219 daysP4Battery life + portability check under real useSmart Notebook
  • in 229 daysP2Run final player build and performance checksLanternfall
  • in 234 daysP5🎯 Use it as your actual notebook for a full weekSmart Notebook
  • in 239 daysP2Install Windows build support and create a playable packageDelivery Simulator
  • in 244 daysP3Publish The Journey to LightLanternfall
  • in 244 daysP3Publish the transparency findingsWage Transparency Tool
  • in 244 daysP3Publish a clearly labeled playable buildDelivery Simulator
  • in 244 daysP5🚀 v1 complete (Plan B dock deferred to a later phase)Smart Notebook

By project

Live

In development

BetterNotes

An iPad and Mac notes app built on PencilKit, with nearby sync between the two.

6 open· next · 2 undated
  • 17 days overdueP2Confirm Apple Developer account and prepare TestFlight
  • 9 days overdueP2Prepare App Store privacy material and screenshots
  • 3 days overdueP2Submit BetterNotes for App Store review
  • in 2 daysP3BetterNotes live on the App Store
  • no date setP1Finish and commit the current app changes
  • no date setP1Audit unfinished services and user flows

Shipout

A Word-style visual editor over LuaLaTeX, for contest teammates who do not write TeX.

4 open· next · 2 undated
  • in 5 daysP2Package and sign a standalone macOS build
  • in 6 daysP2Observe a teammate using a complete real document
  • no date setP1Finish the current Shipout editing changes
  • no date setP1Re-run the four-document equivalence and typing gate

Shanghainese learning app

An offline, audio-first course for Mandarin speakers.

Target Jun 30, 2027 (in 244 days) — Public iOS and Android release

No open items tracked.

Lanternfall

A third-person Unity puzzle journey through six surreal monuments.

Tracked in Reminders under its old name, "Light & Shadow Game"; the repo renamed it Lanternfall on 3 Oct 2026.

6 open· next · 1 undated
  • in 137 daysP1Fix playtest blockers and inspect encounter report
  • in 173 daysP2Replace first-pass scenery, animation and audio
  • in 203 daysP2Playtest with at least five new players
  • in 229 daysP2Run final player build and performance checks
  • in 244 daysP3Publish The Journey to Light
  • no date setP1Play the full 30-encounter 3D journey in a rendered player

Lumina

A native iPhone camera with manual controls, a composition coach and an editor.

No open items tracked.

Narrated Manim lessons

Narrated animations for IB Maths and Physics, and contest modelling.

3 open · 3 undated
  • no date setP1Download and test a Premium narration voice
  • no date setP1Expand IB AA HL2 lessons in reviewed waves
  • no date setP2Extend the stable lesson system to Physics, CS and MCM

Wage Transparency Tool

Delivery riders log trips and get back what an hour of their time actually earned.

10 open· next · 5 undated
  • in 12 daysP0Confirm ethics and data-protection requirements before recruitment
  • in 22 daysP0Finalize Chinese privacy policy and consent
  • in 47 daysP1Decide hosting and deploy an accessible rider app
  • in 68 daysP2Begin rider recruitment only after the gate clears
  • in 244 daysP3Publish the transparency findings
  • no date setP1Verify 社保 rates and benchmark sources
  • no date setP1Make +86 SMS signup work end to end
  • no date setP1Apply the trip-correction migration and test offline capture
  • no date setP2Test quick logging with riders after privacy gates
  • no date setP3Validate aggregates and cross-project CSV numbers

Delivery Simulator

A driving game about delivery-rider economics, fed by the wage tool.

5 open· next · 1 undated
  • in 178 daysP1Finish the gig-app-style HUD
  • in 203 daysP2Playtest the shift loop with riders
  • in 239 daysP2Install Windows build support and create a playable package
  • in 244 daysP3Publish a clearly labeled playable build
  • no date setP1Verify economy numbers against the Wage Tool fixture

School Print

Print from a phone or iPad to the campus printers, released with a school login.

No open items tracked.

Hardware

D7000 robotic camera

A pan-tilt rig that scans a scene, scores the frames and fires a Nikon D7000.

One open item still says to flash esp32/pantilt.ino; the repo moved the motion controller to an Arduino Uno R4 WiFi on 1 Oct 2026.

16 open· next
  • in 22 daysP0🛒 HARDWARE DEADLINE: finalise the BOM from BUILD_MANUAL.md
  • in 32 daysP0🛒 ORDER ALL PARTS (steppers, drivers, ESP32, optocoupler, MC-DC2 cable, bearings, slip ring)
  • in 37 daysP0🛒 Send the 5 STLs to a printer — they are exported and ready
  • in 52 daysP1Pi 4 + gphoto2 ↔ D7000 over USB: shutter, live view, RAW+JPEG download
  • in 68 daysP1Optocoupler shutter release + verify the persisted actuation budget
  • in 83 daysP2Flash esp32/pantilt.ino; validate homing, backlash compensation, IMU settle
  • in 94 daysP2Torque validation under real load: camera + 18-200mm at full extension, tilted
  • in 114 daysP3Mechanical assembly: print, fit, balance slide adjustment, cable routing
  • in 122 daysP3Full rig on a tripod - mechanical stability and vibration check
  • in 137 daysP4Phone app end to end against real hardware: shutter, exposure, joystick aiming
  • in 147 daysP4Field test #1: outdoors, real light, real subjects, on battery
  • in 158 daysP5Exposure: ETTR convergence with the raw-headroom correction, validated on real RAWs
  • in 163 daysP5Validate composition scoring on your own photographs
  • in 167 daysP5Autonomous scan→score→trigger loop, with JSONL decision logging
  • in 171 daysP6🎯 TRIP REHEARSAL: full field day, power budget, weather, pack-down
  • in 173 daysP6🚀 TRIP-READY

Smart Notebook

A pen-mounted camera that reads a printed dot pattern and records handwriting.

The open items below were written for the earlier fixed-panel design, which the repo archived on 24 Sep 2026 in favour of a pen-mounted camera. Treat its hardware tasks as stale until the list is rewritten.

13 open· next
  • in 33 daysP0Confirm the Plan A sensor stack on a bench prototype
  • in 63 daysP0🛒 PROCUREMENT DEADLINE: order the sensor + electronics
  • in 78 daysP0🛒 Send the 7 STLs to a printer — they are exported and ready
  • in 109 daysP1⚠️ MILESTONE M0 - HARD GATE: sensor accuracy RMS < 0.30 mm
  • in 122 daysP1Write a page and read it back as legible SVG (receiver.py serial)
  • in 142 daysP2Firmware bring-up: FreeRTOS tasks, 1€ filter tuning, stroke segmentation, BLE, SD
  • in 158 daysP2Sheet ID: 8-cell IR barcode with ambient cancellation + parity
  • in 183 daysP3Chassis assembly: disc binding, registration pins, sheet-removal detection
  • in 188 daysP3Print real sheets with fiducials + ID barcodes (make_sheets.py)
  • in 208 daysP4Host pipeline: receiver → strokes → SVG/JSON, plus scan_pipeline.py ArUco camera capture
  • in 219 daysP4Battery life + portability check under real use
  • in 234 daysP5🎯 Use it as your actual notebook for a full week
  • in 244 daysP5🚀 v1 complete (Plan B dock deferred to a later phase)

InkWatch

A square e-paper calendar watch on a custom PCB.

6 open · 6 undated
  • no date setP1Resolve the panel FPC pinout and VGL diode orientation
  • no date setP1Finish the BOM and crown daughterboard
  • no date setP1Commit and merge the routed-board work
  • no date setP2Compile firmware for the target and prove USB update
  • no date setP2Order and assemble only after board blockers clear
  • no date setP3Put InkWatch on the portfolio schedule

MacBook Air cooling cradle

A 3D-printed stand that pushes air across a fanless laptop, powered over USB-C.

3 open · 3 undated
  • no date setP1Finalize and print the cooling cradle
  • no date setP2Measure thermals and power on the MacBook Air M3
  • no date setP3Commit the tested build package

Research

Real-time LaTeX

A live-preview engine for LuaLaTeX, its VS Code plugin and the test documents.

No open items tracked.

Planned

Swift Student Challenge

A six-phase plan to learn enough Swift and SwiftUI to enter.

6 open· next
  • 17 days overdueFinish Swift Fundamentals milestone (Phase 1)
  • in 18 daysFinish SwiftUI & App-Building milestone (Phase 2)
  • in 46 daysFinish Playground Craft & Prototypes milestone (Phase 3)
  • in 67 daysLock final concept (Phase 4)
  • in 95 daysFeature-complete build (Phase 5)
  • in 114 daysSubmit Swift Student Challenge entry (Phase 6)

Finished

TexFast

A native macOS LaTeX editor and fast build driver, in daily use.

No open items tracked.

Small projects

A notification bridge, two physics explainers, and a few one-off tools.

No open items tracked.