Inspiration

UAppen was inspired by the challenge of discovering campus events at UMass Amherst—students often miss opportunities because event information is scattered across multiple platforms and difficult to keep track of.

What It Does

  • UAppen is a mobile app available on iOS and Android.
  • Displays UMass Amherst campus events on an interactive map.
  • Allows filtering by category (Arts & Music, Athletics, Service, Cultural, etc.).
  • Shows detailed event information and provides walking directions to event locations.

How We Built It

  • Built using React Native with Expo for cross-platform mobile development.
  • FastAPI (Python) backend and SQLite for scraping events from the UMass Campus Pulse events page.
  • Supabase used for email/password authentication with @umass.edu domain restriction.
  • Integrated Google Maps for location-based event visualization.

Challenges We Ran Into

  • Extracting precise event locations from scraped data while removing irrelevant details. This involved developing a regex-based normalization system that parses building names, removes room numbers and suffixes, and maps variations to standardized campus locations with accurate coordinates.
  • Migrating from Firebase to Supabase, due to the complicated setup. Firebase required native modules and an AsyncStorage persistence configuration that didn't work correctly with Expo, whereas Supabase's pure JavaScript SDK integrated seamlessly with React Native.
  • Inconsistent marker sizing on Android vs iOS map view. The challenge was that Android's native MapView implementation handles custom marker views differently from iOS, resulting in markers appearing at a fraction of their intended size and requiring extensive platform-specific debugging.

Accomplishments We’re Proud Of

  • Implemented email domain restriction to ensure only UMass students can register.
  • Built a real-time category filtering system that instantly updates map markers. We implemented this by using refs to maintain access to all events, applying category mapping logic to filter events, and forcing marker re-renders with dynamic keys when filters change.
  • Developed a location normalization system that groups events by building/location for cleaner visualization.
  • Successfully integrated Supabase, FastAPI, Google Maps, and React Native into a cohesive mobile experience.
  • Achieved smooth transitions and consistent performance across iOS and Android platforms.

What We Learned

  • Designed and scaled a full-stack mobile application that connects multiple systems in real time.
  • Deepened understanding of Supabase authentication, relational data, and real-time sync.
  • Learned seamless integration of Supabase with React Native + Expo.
  • Gained experience building a robust FastAPI backend, structuring endpoints, and managing async data pipelines.
  • Gained experience in web scraping and data extraction, building a Python scraper that fetches events from the UMass Engage API with pagination support and automated scheduling.
  • Strengthened collaboration between frontend and backend teams, handling cross-environment debugging, and ensuring performance with frequently updated data.

What’s Next for UAppen

  • Expand event coverage to include off-campus events within a 15-mile radius.
  • Enable in-app ticket booking for a more seamless event experience.
  • Allow users to create and manage their own events directly in the app.
  • Automatically categorize unlabeled events into the proper predefined categories.
  • Reduce data synchronization time from 2 hours to 15 minutes for faster updates.

Built With

Share this project:

Updates