A rewards app for Detroit students

Your next step starts here.

Tap In 313 helps Detroit students in grades 6 to 8 get through the door of an after-school program, then shows them what to do next. Students earn points and badges for showing up, follow an interest track from one program to the next, and redeem points for gift cards at local businesses.

  • iOS app, built with SwiftUI
  • Grades 6 to 8
  • Sample data for this demo

Tap In 313 is an independent project. It is not an official City of Detroit app.

Why now

The City is opening the doors. We help students walk through them.

The City of Detroit is investing to expand GOAL Line Detroit after-school programming. More sites mean more chances, but a student still has to find a program, show up, and see how it connects to the next one. That is the gap Tap In 313 is built for.

  • $2.2 millionCity investment to expand GOAL Line Detroit after-school programming
  • 7 new sitesFour recreation centers and three libraries, added to 33 existing locations and partners for a total of 40
  • Nearly 60programs and activities, with locations in every City Council district
  • 2,708 studentsK-8 students served since 2018. The expansion adds up to 1,000 more, for about 3,700 total

The seven new sites are the Helen Moore, Coleman A. Young, Williams, and A.B. Ford Recreation Centers, and the Conely, Lincoln, and Chaney Libraries. Transportation to and from school is part of GOAL Line, and two behavioral specialists support students' social and emotional needs. The City lists academic improvement, socioemotional improvement, drug and violence prevention, character development, and leadership development as benefits.

Figures are from the City of Detroit's announcement of the expansion. News coverage of the announcement: BridgeDetroit, Chalkbeat Detroit, and WXYZ.

We complement GOAL Line Detroit. We do not compete with it, and we do not claim a partnership with it. Our job is participation: getting students through the door and giving them a clear path so programs stop feeling disjointed.

Interactive demo

Try the app. Follow Jordan's story.

This is a web simulation of the iOS app. It runs the same rules on the same sample data, so what you tap here matches what the app does. Follow the five steps, or explore on your own. Refreshing the page starts over.

How it works

Show up, follow a path, get rewarded.

  1. Find a program and tap in

    Students browse programs on a map or in a list, see the site, schedule, address, and points, and join. When they arrive, staff tap to confirm their attendance. That confirmation is what awards the points, so points always mean a student really showed up.

  2. Follow an interest track

    Four tracks connect programs into a path with three levels: Explore, Build, and Launch. An "Up next" card on the Programs tab always answers the question "what's next?" Finishing a level pays a one-time bonus and plays an unlock moment.

  3. Earn points, redeem locally

    Points and badges add up as students attend. They can redeem points for digital gift cards from local restaurants and shops, and see the gift card code right away.

Programs, map and list

Every program shows its site, venue type, schedule, grades, address, points earned, and a "Free ride from your school" tag.

"Up next" card

The next program on the student's path sits at the top of the Programs tab: "Your next step starts here."

Staff attendance

Staff pick a program, see the roster, and tap to confirm each student. The student's points, level, and badges update instantly.

Local rewards

A rewards catalog grouped by local merchant, with a locked state until a student has enough points.

The four interest tracks (sample tracks for this demo)
TrackExplore (+25)Build (+40)Launch (+60)
Tech BuilderRoboticsCoding and Tech ClubAI Coding
CreatorArt ClubMusic Studio: Music CreationPodcasting
Maker and EntrepreneurLeather MakingFinancial LiteracyContent Creation
AthleteBasketball DrillsTrack and FieldSwimming

Each level is one program and 2 sessions. Bonus points are paid once, when a level is completed, and never twice. Programs are real GOAL Line activity names. Which track a program belongs to, and every track payoff, is a sample idea and not a confirmed event or offer.

For judges

What to know before you score it

A short, honest summary of what is real, what is sample, how it is built, and what is deliberately left for later.

What is real and what is sample
ItemStatusNotes
GOAL Line site namesRealFrom the City of Detroit announcement.
GOAL Line activity namesRealFrom the City of Detroit announcement.
Libraries that host tutoringRealRedford, Parkman, Edison, Sherwood, and Hubbard libraries.
Which activity runs at which siteSamplePlaced for the demo. Not a real schedule.
Days, times, and descriptionsSampleWritten for the demo.
Points, tracks, and track payoffsSampleOur design. Payoffs are ideas, not confirmed events or offers.
Students and staffSampleFictional. First name and last initial only.
Merchants and gift cardsSampleMade-up businesses. Codes are demo codes and are not valid at any store.
Addresses and map pinsApproximateFrom a map lookup. Pin spots are approximate.

What is built

  • One iOS app with a student mode and a staff mode on one shared store.
  • Programs as a map and a list, program detail, and joining a program.
  • Four interest tracks, "Up next," and My path with level progress.
  • Unlock moments in order: level complete, track complete, then badges.
  • Profile with points, badges, and history that reads "Checked in by staff at [time]."
  • Rewards catalog and redeem flow that shows a digital gift card code.
  • Staff roster with tap-to-confirm attendance, plus an "at a glance" dashboard and an iPad layout.

How it is built

  • Built with SwiftUI for iPhone and iPad, with one observable store as the single source of truth.
  • The points balance is always derived: attendance points plus level bonuses minus redemptions. It is never stored separately, so it cannot drift.
  • No backend, no accounts, and no network layer in this build.
  • This web demo is a port of the app's rules to JavaScript, tested against the demo story: 60 points, then a second Robotics session gives +20 and a +25 level bonus, reaching 105 points and the Century Club badge.

Built with students in mind

  • Privacy: students are minors, so the app holds first name and last initial only. No photos, home address, or precise location. Use by children under 13 would need verified parental consent, which is on the roadmap.
  • Accessibility: Dynamic Type, VoiceOver labels, 44 point minimum tap targets, and Reduce Motion support. Meaning is never carried by color alone: every state pairs color with an icon or a word.
  • Contrast: colors follow the City brand palette with text pairings chosen to meet WCAG 2.1 AA.
  • Independent: the app does not use the City logo or tagline and is not an official City app.

The web demo simplifies a few things: avatars are initials instead of pixel-art characters, and the map is a sketch with approximate pin spots instead of a live map. The iOS app is the submission.

Roadmap

What comes after the demo

Scope for this build is locked so the core loop works well. These are the next steps, none of which are in this build.

Making it real

  • Real sign-in and a live backend
  • Real merchant integrations
  • Push notifications
  • Parental consent flow for students under 13

Helping families

  • Parent accounts and "arrived safely" notifications
  • "Near my school" distance and a 2-mile filter
  • Waitlists and spots left

Growing it

  • Streak badges and leaderboards
  • Grades 9 to 12
  • A dark palette