Hackathon night · 2026-08-27
Same idea as the Automatica kanban. Every card is a releasable increment —
the site should still look working when the card lands.
Push to main deploys the site and the API. To-do and done lists
have their own pages (to do, done)
so this board stays short.
Filter by person with the chips, the hour cards, or a row in Who’s who.
Click a card for the full brief (or share #t-04).
Board edits: python scripts/update_board.py.
Showing everyone.
Clone the API as a sibling of the site and get FastAPI answering on port 8080. This is the health-check loop, not Cloud Run.
GET http://127.0.0.1:8080/health returns ok./docs loads the Swagger UI.python -m venv .venv then pip install -r requirements.txt.uvicorn app.main:app --reload --port 8080 (or just .\start.ps1 from the site folder).Prove the org-repo loop on hackathon-api. Tiny change, still serves /health, then push to origin/main.
/health still works after the change./health again.git add · git commit · git push origin main.Persist the current waypoint list in the browser so a refresh does not wipe a demo. No API. This is the persistence story until card 11.
localStorage from app/map.js.A job list in the map sidebar, seeded with Howden-shaped work: named jobs, rough Tyneside locations. This is the first hint of dispatch, not a full scheduler.
Leaflet map centred on Newcastle. Click to drop a stop, drag to move it, remove from the list. This is the visual spine of the night: dispatch starts with a map that never looks dead.
app/index.html + app/map.js — OSM tiles, draggable markers, stop list with remove.Calculate a driving route through the waypoints. Public OSRM when the network is up; haversine straight-line fallback if it fails, so the board never looks broken.
OSRM driving or straight-line).https://router.project-osrm.org for the driving geometry.Hours are every card attributed to that person, whichever column it sits in. Click a row to filter the board.
| Owner | Claimed work | Hours | |
|---|---|---|---|
| 🧭 | Reeve | Reeve: start script for front end and back end together (1h, done) · Reeve: get the front end running locally (0.5h, done) · Reeve: get the back end running locally (1h, done) · Reeve: GitHub edit → run → push (API repo) (0.75h) · Demo seed: 5 Tyneside waypoints + named run (1.5h) · Map with clickable / draggable waypoints (3h, ready) · Run the API locally and hit /health (1h, done) | 8.75h |
| ⚡ | Connor | Connor: get the front end running locally (0.5h, done) · Connor: GitHub edit → run → push (site repo) (0.75h, done) · finished push and pull (0.5h, done) · Job list beside the map (seed Howden-shaped jobs) (2h) · Route calculation between waypoints (3h, ready) | 6.75h |
| 🏗️ | Michael | Alpine.js test page calls GET /test_field (1h, done) · Docs wiki (Docs in the nav) (2h, done) · Cloud Run GitHub builds (buildpacks, Python 3.13) (1.5h, done) · Michael: GitHub edit → run → push (both repos) (0.75h, done) · Site + API deploy on push to main (2h, done) · Cloud Run API live + CORS for Pages (4h, done) · Persist routes on the API (replace localStorage) (4h) | 15.25h |
| 🌱 | Lewis | Lewis: GitHub edit → run → push (site repo) (0.75h, done) · Lewis: get the front end running locally (0.5h, done) · Lewis: get the back end running locally (1h) · Save routes in the browser (localStorage) (2h) · Local “who am I” account (name in the browser) (2h) · Serve the site locally (0.5h, done) · Desktop home in Tyneside style (2h, done) | 8.75h |
| 🔧 | Noah | Noah: API version on / and /health (0.5h, done) · Noah: get the front end running locally (0.5h, done) · Noah: get the back end running locally (1h, done) · Noah: API talks to Firestore (4h, in progress) | 6h |
python scripts/update_board.py done 12 (or move 07 doing) — do not hand-edit the kanban HTML.main.Do this on the Tyneside-Software repos, not personal forks unless you have been told otherwise. Full clone-and-run steps (and the usual Windows fixes) live on Onboarding.
.\start.ps1 in the site repo (or .\serve.ps1 for the site only, and uvicorn on :8080 for the API).git add · git commit · git push origin main.