All work · AI feature

HOMETOWN

AI Schedule Importer

Athletic directors rebuilt every schedule by hand before they could sell a single ticket. I designed an AI importer that pulls existing schedules from files, links, and screenshots straight into Hometown—and shipped it as a working prototype in code.

  • ClientHometown
  • RoleSenior User Experience Designer
Review and Import modal over the Varsity Football schedule, listing extracted games with date, time, opponent, venue, and status.
01

The friction

Athletic directors are the main users of Hometown, and every one of them manages schedules outside the platform. Games have to be in Hometown before directors can create and sell tickets—and ticket sales are the most critical source of revenue for these programs. Entering each schedule by hand was very time-consuming.

Schedules live everywhere else

Directors already have their schedules—in spreadsheets, PDFs, league sites like MaxPreps, and screenshots. Getting that data into Hometown meant re-entering it game by game.

A team schedule on MaxPreps, one of the outside sources athletic directors keep schedules in.
02

Import from anywhere

The AI Schedule Importer brings an existing schedule into Hometown from whatever source a director already has, in a few steps.

Start from the dashboard

Import Schedule sits alongside the other quick actions on the dashboard.

Hometown dashboard with quick actions, including Import Schedule.

Pick the team

Directors choose which team the schedule belongs to.

Import Schedule modal asking which team to import a schedule for.

Bring any source

Upload a CSV or PDF, drop in a screenshot, or paste a URL—here, a MaxPreps schedule page.

Import a schedule modal with CSV file, PDF, URL, and Screenshot options; a MaxPreps URL is pasted.

AI does the extraction

The importer parses the source, applies field mapping, extracts each game, and checks for conflicts, showing progress at every step.

Four progress states of extraction: parsing file, applying field mapping, extracting games, checking for conflicts.
03

Review before it goes live

Directors stay in control. Nothing lands in the schedule until they’ve reviewed what the AI found.

Review and import

Every extracted game appears with its date, time, opponent, venue, and home or away status. Conflicts and missing fields are flagged, and any cell can be edited before importing.

Review and Import: 8 games extracted, 6 selected, 2 conflicts, 2 with missing fields, each row editable.

A clear summary

After import, a summary shows what was imported, what was skipped, and what still needs review.

Import Complete: 6 imported, 2 skipped, 2 need review.

Ready for ticketing

Imported games land in the team’s schedule, ready to edit and manage—so directors can move on to tickets and ticket sales.

Varsity Football schedule populated with the imported games, ready to edit.
04

Prototype in code

To get the feature to engineers quickly, I built it as a working prototype in code, hosted on a public testing URL.

Built with Claude Code and v0

I built the prototype with Claude Code and v0, versioned it on GitHub, and deployed it to Vercel.

One prototype, two audiences

The speed and fidelity of a working prototype let us test with users and sync with developers from the same build.

05

Outcome

Building the prototype in code accelerated both validation and production.

  • Days, not weeks

    Reduced deployment from weeks to days.

  • Faster validation

    Users tested a working prototype on a public URL.

  • Faster production

    Developers synced against the same working build.

Try the live prototype

Managed schedule with ticket sales status for each game.