Case file, system build from a prototype

The plan was all there. The system under it was not.

Each December, police officers and firefighters in Jonesborough, Tennessee take local kids shopping. Shop with a Cop and Firefighter came with a detailed prototype. Turning it into a working system was the job.

The live Shop with a Cop and Firefighter landing page in navy and red, with the program logo, the headline Every kid in Jonesborough deserves a holiday to remember, and three paths for parents and guardians, community sponsors, and volunteers.
The live landing page, on the town's own domain.
The prototype landing page before the build, in green and burgundy with the town logo, the same headline, and the same three paths for parents, sponsors and volunteers.
Before. The prototype, which ran in a single browser.
Starting problem
A detailed prototype that ran in a single browser
Role
Season one scope, the working system, security, launch
What shipped
Three public forms and the staff system behind them
Verified outcome
Staff signed off. Registration opened on its own on November 1, 2026.

Read the full write-up Visit the live system

Keep the prototype as the blueprint.

The program had done careful work. Its prototype covered every form, field and rule, along with the household numbering, the shopping sheets and the printable forms. That plan stayed the blueprint for the whole build.

A prototype states the plan. It cannot run a program. The working system, the security and the launch were still ahead, and they were the job Tri-Cities AI Lab was hired to do.

Scope season one to the jobs that take the most staff time.

The first decision was what to leave out. Season one went after the jobs that take the most staff time, and the rest of the plan waits for a later season.

Build the public forms for phones and for everyone.

Child registration, sponsor sign-up and volunteer sign-up are three public forms, built to WCAG 2.1 AA and working on phones. All three have spam protection.

The child registration form on a phone, opening with parent or guardian fields for full legal name, home address and telephone number.
The child registration form on a phone.

Keep the decisions and the sending in staff hands.

Staff sign in with a single-use link sent by email, so there are no passwords to manage. A review inbox lets them approve or deny with recorded reasons, and they assign the event at approval. Household numbers are assigned automatically, and the roster keeps a full change history.

Staff also assign sponsors. Each sponsor gets one email with every shopping sheet attached, and sheets print for children the program shops for. Email goes out only when staff choose to send it. A printable forms library and spreadsheet exports cover the rest of the office work.

The staff review inbox showing a made-up test household with two children, a suggested event for each child, and buttons to approve and add to the roster or deny.
The review inbox, shown with made-up test families.
The shopping sheets screen showing a made-up test sponsor with three children marked sent or approved, a button to send, a button to print instead, and a section for children the program shops for.
Shopping sheets grouped by sponsor. Test data shown.
A made-up test child's roster record with event, sizes, guardian and household details, the approval email that was sent, and staff changes showing each old value crossed out beside the new one.
A roster record and its change history. Test data shown.

Protect the records, and test away from them.

This system holds family records, so it also has to end them. They delete automatically 90 days after the season's last event. A separate review copy gave staff a place to test everything without touching real families.

True now.

  • The system is live at swacf.jonesboroughtn.org, on the town's own domain.
  • Three public forms take child registrations, sponsor sign-ups and volunteer sign-ups.
  • Review, numbering, shopping sheets and email run from one working system.
  • Staff tested it thoroughly and signed off.
  • Registration opened on its own at midnight on November 1, 2026.

Not measured.

How much staff time the system saves. Registration opened on November 1, 2026, and a full season has not run on it yet. A number goes here only after it has been measured.

Every screenshot on this page shows made-up test families. No real family data appears here.

Have something that should be on this page?

Tell us what's broken, slow, or stuck. The first conversation is free.

Where are you stuck?

Nothing you type here leaves this page.

Every text is read by Dustin, not a bot.