Inspiration

KACB’s brief was a modern website refresh. We also built an app so volunteers and crews can report and track litter in the field.

What it does

New KACB website (brand, info, programs). CleanUp Insight app: report litter with a photo, AI classifies and prioritizes, map view, insights, CSV export for grant reporting.

How we built it

Website: static site with KACB palette and content. App: Expo/React Native, Gemini for image classification (Rork fallback), react-native-maps, AsyncStorage. Shared KACB branding.

Challenges we ran into

Image→base64 on device; “no image” vs confidence; running the app from the local bundle instead of a cached one.

Accomplishments that we're proud of

Reliable AI classification with clear “no image” handling, “Powered by Gemini” in the UI, CSV export, frontline-focused copy, and one project that delivers both the website and the app.

What we learned

Native file URIs need expo-file-system; Rork vs local Expo can serve different bundles; capping confidence when the image fails keeps the UX honest.

What's next for Keep Alachua County Beautiful — Website & Litter Tracker

Backend sync, optional offline queue, push/notifications, and cloud image storage so reports and photos persist across devices.

Built With

  • asyncstorage
  • expo-(sdk-54)
  • expo-file-system;-google-gemini-api
  • expo-image-picker
  • expo-location
  • expo-router
  • lucide-react-native.-static-site-for-the-kacb-website-(html/css-or-a-simple-site-generator
  • per
  • react-native
  • react-native-maps
  • rork-ai-(gpt-4o)-fallback;-react-query
  • typescript
  • your
  • zod
Share this project:

Updates