Inspiration

When one of our team members went to a concert this year, he had to get into a car with a driver he knew had been drinking because it was too chaotic to figure out a different way to get home and uber was extremely expensive. Luckily, They got home safe, but as we saw in our research 40% of 20 year olds (according to a 2010 UMD study) still choose to get in the car with their intoxicated friend because its the easiest option, and this leads to more than 12,000 fatalities annually associated with drunk driving.

What it does

Beacon is a "get me home" app for college students. You set your budget and preferences once, while sober. At 2am, you tap one button: Get me home. Beacon checks every way home (walking, the bus, the free campus ride, rideshares, and more) using individual agents for each method of getting home, and picks the best one within your budget. It gives you one plan with one next step. You confirm, and Beacon's agent books the ride through the provider's agent. If your ride cancels, Beacon finds a backup within your remaining budget and asks you once to confirm. When the ride ends, Beacon only closes the trip once you're actually home. If you're not home when expected, it texts a trusted friend you picked ahead of time. Your data stays yours. Providers only see a rough area while Beacon compares options. Only the ride you confirm gets your pickup and drop-off, and nothing else.

How we built it

Frontend: a mobile-first PWA built with Next.js, React, TypeScript, and Tailwind. Student Agent: server-side trip state that handles consent, booking, recovery, and arrival. The browser never decides what happened. Provider agents: separate HTTP services under a shared contract (beacon-mobility-v2). Beacon discovers them and verifies their identity through GoDaddy's Agent Name Service (ANS), then separately checks authorization before sharing any precise location. Databricks: we loaded real Blacksburg Transit schedules (297 stops, 24 routes, 74,301 stop times), Virginia Tech pathways, construction, weather, and campus data into Delta tables in Unity Catalog. Native SQL ranks every complete journey on price, time, and walking, and rejects anything infeasible. Every decision is auditable with a statement ID. AI: a bounded model explains why Beacon picked a trip, using only validated facts. It can't book, spend, or override the ranking. Trusted-friend alerts: a server-side monitor detects overdue arrivals and sends a real text to the student's chosen contact.

Challenges we ran into

Keeping AI from having full control: We wanted smart explanations without letting a model decide where to send a drunk student or spend their money. We split it so that deterministic SQL decides and AI only explains.

Cancellations without double-booking: If a booking request times out, you don't know if it went through. We had to reconcile uncertain bookings before retrying, so a student never gets two rides or two charges. Honest data. Campus data is messy. A mapped streetlight isn't proof the lamp works, and a scheduled bus isn't a live bus. We labeled every source and kept unknowns as unknown instead of inventing a "safety score."

Keeping SQL and local logic in sync so the Databricks ranking and our fallback always agree.

Accomplishments that we're proud of

A full end-to-end flow with real ranking, a live agent-to-agent handshake, cancellation recovery, and arrival confirmation. Native Databricks SQL ranking over real Blacksburg transit data, with full decision provenance. Real ANS identity verification between agents before any location is shared. A real trusted-friend text alert. 237 backend tests and 180 data/decision tests passing.

What we learned

The hard part of getting home isn't finding a route. It's the handoffs and the failures. That's where students give up and take the risky option. Agent identity (ANS) and agent permission are different problems, and and we had to figure out both before sharing sensitive data. Being honest about what your data can't tell you makes the product more trustworthy, not unreliable.

What's next for Beacon

Real providers: book Uber and Lyft through guest-rider APIs, so students need no separate accounts, with one payment method billed through Beacon. Open provider network: any developer can plug a transit service into Beacon with our agent framework on ANS, from campus shuttles to trains, subways, and airport shuttles. Campus pilot: partner with Virginia Tech and BT for live bus data and verified pickup spots. More campuses: a data setup that works for any university.

Built With

  • databricks
  • godaddy-agent-name-service-(ans)
  • next.js
  • node.js
  • openai-codex
  • react
  • shadcn/ui
  • tailwind-css
  • telegram-bot-api
  • typescript
  • upstash-redis
  • vercel
Share this project:

Updates

Submission history