GEOFF KELLY.
← ALL WORK
WRK//0032026

Martha's Mission.

Client work for a North Carolina food pantry: volunteer training with graded quizzes, an admin compliance dashboard, and their paper supplier order form digitized.

ROLE

Consultant, full build

STATUS

Delivered, deployment-ready

FOR

Pantry volunteers, staff, and board

YEAR

2026

The problem.

Martha's Mission Cupboard is a food pantry that receives from the Food Bank of Central and Eastern North Carolina. New volunteers trained from a paper binder, and completion tracking meant asking around. The board needed proof that training happened.

The budget was a nonprofit budget and the users range from teenagers to retirees on tablets. Whatever I shipped had to be simple, sturdy, and cheap to run.

What I built.

  • A training flow that mirrors the pantry's physical stations, five sections with a short quiz gating each one. No accounts and no passwords for volunteers: name, email, phone, and you are in.
  • Grading is server-authoritative. The answer key lives only on the server, and volunteers who fail a section get their score but not the answers, so a retake means actually re-reading the material.
  • An admin dashboard with per-section scores, attempt counts, struggle analytics, and CSV export for board review.
  • Their paper supplier order form, digitized faithfully. Line items round-trip exactly as written on paper, and the app generates filled or blank PDFs on demand.
  • A break-glass admin CLI baked into the runtime image, so a fully locked-out client can reset a password with one command. When your client is a small nonprofit, that is not a nice-to-have.

Engineering notes.

  • Every SQL query is compile-time checked, and the Docker build needs zero database access
  • Training content and migrations are embedded in the binary, so the deployed image needs no files on disk
  • Argon2id password hashing, JWT sessions with an enforced minimum secret length, and a CORS allowlist instead of a wildcard
  • Config validates at startup with actionable errors, including the exact openssl command to fix a weak secret
  • Admin pages are lazy-loaded so the PDF library stays out of the volunteer-facing first load on phones
Volunteer training page with section progress and content
STATION-BY-STATION TRAINING
Admin dashboard with volunteer training records and pass rates
ADMIN DASHBOARD // DEMO DATA
Digitized supplier order form with PDF export
SUPPLIER ORDER FORM // PAPER TO PDF
Training flow at tablet width
TABLET // THE PANTRY RUNS ON IPADS
NEXT // WRK//004

Better Than NES