Accessibility-focused campus navigation for UC Santa Cruz. Users drop pins
marking accessibility features (stairs, ramps, elevators, hazards). Gemma 4
acts as a routing agent server-side: it calls a get_nearby_pins function to
check conditions near the start, end, and midpoint of a trip, then reasons
about the best accessible route and explains why.
Built on a personal project concept about UCSC's difficult, hilly terrain — this Next.js version and the Gemma 4 agent layer were built this hackathon sprint.
- Open this folder in VS Code.
- Open a terminal (
Ctrl+`) and run:npm install
- Copy the env example and fill it in:
Open
cp .env.local.example .env.local
.env.localand add two lines:Both stay server-side, never exposed to the browser.GEMMA_API_KEY=your_key_from_aistudio.google.com/apikey MONGODB_URI=your_connection_string_from_mongodb_atlas.env.localis already gitignored. - Run it:
npm run dev
- Open http://localhost:3000
- 📍 Manual pin — click the pin icon in the header, then click a spot on the map, and pick a type (stairs, ramp, elevator, hazard).
- 📷 Photo report — click the camera icon, then click a spot on the map. This opens your camera/file picker; the photo is sent to Gemma 4's vision capability, which decides if the spot is unsafe for someone with mobility limitations and automatically drops a labeled pin if so.
All pins are saved to MongoDB and shared with everyone using the app — new pins from any user show up for everyone next time the map loads.
git init
git add .
git commit -m "SlugWay: Gemma 4 accessible campus routing agent"
git branch -M main
# create a new EMPTY repo on github.com under your account first, then:
git remote add origin https://github.com/<your-username>/slugway.git
git push -u origin main.env.local is already in .gitignore — your API key will never get
committed.
- Go to vercel.com, sign in with GitHub, "Add New Project," import this repo.
- In the project's Environment Variables settings, add
GEMMA_API_KEYwith your key. - Deploy — you'll get a live
https://slugway-<something>.vercel.appURL for your demo link.
- Track: Autonomous Agent Track
- Gemma 4 drives the actual routing decision via server-side function calling against live pin data — not a single prompt-response, a genuine multi-turn tool-use loop.
- Attach your GitHub repo link and the Vercel live demo URL.