Inspiration

Have you ever experienced going to a coffee shop to study only to find out there are no tables available, no outlets, or just an unproductive work environment? Study Spot was born out of necessity: students waste valuable study time physically checking locations to see if they are full or have the right amenities like outlets and comfortable seating. The app is meant to prevent wasting time hopping from place to place, providing a way to know before you go!

What it does

Study Spot is a full-stack mobile platform that provides real-time seating availability and recommendations for areas to study and work in.

  • Map - Find and scroll for study spots near you through an intuitive map design
  • Live Availability - Know which areas have seating through verified check-ins from other users
  • Save Your Spot - Save favorite study spots, leave pictures, ranks, and notes for future reference
  • Study Sessions - Users can see what topics others are working on and join them in a session

How we built it

StudySpot was built using:

  • Next.js for routing and rendering
  • React for functional components
  • Typescript to enforce type safety across frontend
  • Mapbox powered the interactive map
  • FastAPI for easy build and documentation of a REST API
  • SQLAlchemy 2.0 gave us a good ORM layer with strict model definitions
  • JWT + Google Token Verification so users sign in with their Google account.
  • Alembic to magane every database schema change
  • PostgreSQL (with supabase) for reliable relational databases
  • Google Places API to source our study spots location data

We structured the projected for modularity and scalability to maintain developer velocity as well.

Challenges we ran into

Complex Map Rendering: Overcoming performance and logic hurdles to dynamically render the map and filter location data based on real-time relevance and user preferences

Data Flow Architecture: Untangling how information actually moves through the system, ensuring data passes reliably between the backend database and the user interface

Third-Party API Logistics: Navigating the administrative and technical setup of the Google Maps ecosystem, including managing API keys, subscriptions, and data limits

Authentication Handoffs: Troubleshooting the security flow to seamlessly and securely connect Google OAuth logins with our custom JSON Web Token (JWT) session management

The Full-Stack Learning Curve: Tackling the steep challenge of building a complex application with limited prior experience, requiring the simultaneous learning and immediate application of new engineering concepts

Accomplishments that we're proud of

  • Building an MVP that provides study spots and check-in features
  • Becoming familiar and comfortable with using Fast API for backend applications
  • Designing app logo from scratch

What we learned:

  • How important backend architecture is when multiple teammates are working across features
  • How much thought goes into designing APIs before frontend work can move quickly
  • How to manage authentication across mobile clients and backend token verification
  • How to balance user experience with technical constraints like data freshness, validation, and portability
  • That building a MVP is not about adding every idea, but about choosing the most meaningful features and executing them well
  • How to use Expo for app demos and testing

What's next for Study Spot

  • Launch it on the app store for both Apple and Android devices!
  • Develop location-aware check-in system
  • Deploy the MVP web app to a beta group of UCF students
  • Advance ML-based recommendations and AI natural language search
  • Establish strategic partnerships at local cafes and campus study hubs to incentivize user check-ins, launch co-branded promotions

Built With

Share this project:

Updates