Garrett Holmes Denver · replies within one business day

Case file № 001 · Product build · Coordination tools

The sign-up sheet, without the ads

System
SignUpCity
Client
Product · built for people who run the office
Status
Live · opened September 13, 2026

Sign-up sheets, scheduling polls, and event pages for the person who organizes everyone else: free, ad-free, and nobody who signs up ever needs an account. Built for executive assistants first, because I was one, and the tools we were handed showed our colleagues ads or paywalled the time zones.

The SignUpCity home page: “Someone asked for a sign-up sheet. Make a SignUpCity instead.”, with the box where an organizer describes the sheet they need. Live

The evidence

Screens of the running thing

A SignUpCity sign-up sheet for a farewell lunch on a phone: a list of things to bring, each with the names already signed up and the remaining places.
Exhibit A A sign-up sheet as a participant sees it, on a phone: what is needed, who has taken what, and how many places are left. No sign-in, no ad, and the whole thing prints.
A SignUpCity scheduling poll on a phone: proposed times shown in London time with the Denver equivalent beneath, and yes, if-need-be, and no options for each.
Exhibit B A scheduling poll across time zones. Each option is shown in the participant’s own zone with the organizer’s zone beneath it, and a time that doesn’t exist in either cannot be offered at all.

Captured during the pre-launch review, with a seeded sheet and poll. No participant data is real.

The system

How the parts connect

In
Organizer sheet · poll · event · magic-link sign-in
Participants signed personal link · no account
The system
Edge application capacity in one round trip · DST-safe
Database weekly encrypted copy off-platform
Scheduled jobs reminders · sweeps · quotas
Out
Confirmations & reminders one-click unsubscribe
Print · CSV · QR · calendar the formats an office runs on
Fig. 1 · One organizer, many participants, no accounts on the participant side.

Before & after

The account, both columns

Before

  • An assistant running a potluck list, a shift sign-up, or a meeting poll had three kinds of tool to choose from: the one that shows every participant ads, the one that makes them create an account, and the one that charges to handle time zones.
  • Most of them end the loop early. The poll closes, and the meeting invitation still has to be built and sent by hand.
  • None of them print well, export cleanly to Excel, or land in the participant’s calendar without a copy-and-paste.

After

  • Three surfaces from one place: sign-up sheets with slots and capacity, scheduling polls across time zones, and event pages with RSVP. Participants get a personal signed link and a “me” page to change or cancel their own answer. No account, ever.
  • Every sheet prints as a sheet, exports as a CSV that opens correctly in Excel and cannot run a formula, carries a QR code, and produces calendar files; organizers get one subscribable feed for everything they run.
  • Every email carries one-click unsubscribe as the mail standard defines it, and the link is built so a corporate mail scanner following it cannot unsubscribe someone by accident.
  • Time zones are handled properly, which turned out to mean refusing to schedule things at times that don’t exist. A spring-forward gap is rejected in the schema and in the editor; a fall-back overlap resolves to the earlier instant and says so. The inherited conversion had been silently moving a Denver 3 a.m. by an hour.
  • Capacity is enforced in a single database round trip, tested with fifty people racing for three places. A waitlist promotion claims the place before it counts, so two simultaneous cancellations can never hand out the same slot twice.
  • An organizer can describe a sheet in a sentence and have a draft built for them by a language model. When the model fails, the typed text is kept and nothing is lost; measured on the release candidate it parsed 85% of sheets and 96% of polls correctly.
  • A weekly encrypted copy of the database leaves the hosting platform entirely, so a lost account is an inconvenience rather than an ending.

The verdict

The framework is the least interesting part. The work was finding the failure modes before a user did: an hour-off daylight-saving shift, a scheduled job with nothing to run, a sheet that broke quietly past eight rows because the local test database didn’t enforce a limit the real one does, and reminder queries whose date format would never have matched. Each one is now a test.

Bill of materials

What was used, and the job it did

01SvelteKit on Cloudflare Workersthe application, at the edge
02D1 + Drizzlethe database, 34 tables under migration
03Workers AI · Claude“describe your sheet” drafting, with a fallback
04Magic-link sign-inorganizers only; participants never sign in
05Resend · Brevomail, with bounce and complaint handling
06Vitest · Playwright365 checks before every release

Garrett Holmes · The Operations Ledger

Composed by hand in Denver. Replies within one business day.