PackPoint
With PackPoint, UW students learn the best places to be productive and to destress. By discovering and sharing locations with one another, there is a place for all Huskies. Never lose your pack.
Inspiration
As college students, we often struggled to find good places on campus to study, relax, or meet friends. During our first year, the campus felt overwhelming because we simply didn’t know where anything was. Even later in college, most students only know a handful of well-known locations that are often overcrowded or don’t fit their preferences.
We realized that students usually discover new places through word of mouth, not through official campus resources. This inspired us to build PackPoint, an app designed to help students discover and share hidden spots around campus that match their needs.
What It Does
PackPoint is a location-based community discovery app where students can share and discover useful spots around campus.
Users can:
- View nearby PackPoints on a map
- Discover new study or hangout locations recommended by other students
- See details such as ratings, noise level, crowd level, and amenities
- Upload and share new spots with the community
- Add photos and descriptions of locations
- Find locations that match their preferences for productivity or relaxation
The goal of PackPoint is to help students find environments that support their productivity, mental well-being, and social life.
How We Built It
The original version of PackPoint was built during DubHacks 2022, where our team created a working prototype using:
- HTML
- CSS
- JavaScript
- Express.js
- PostgreSQL
This version demonstrated the core idea but was limited by the 24-hour hackathon timeframe.
After the hackathon, I rebuilt PackPoint as a fully functional native iOS app with a dedicated backend.
iOS App
- Swift
- SwiftUI with some UIKit components
- MVVM architecture
- Firebase phone authentication
- MapKit for location-based discovery
- Image uploading and display for shared locations
Backend
- Node.js
- Express.js API
- PostgreSQL database
- Azure App Service hosting
- Azure Blob Storage for image uploads
- Firebase Admin SDK for authentication
The backend stores users and shared locations (“PackPoints”) and exposes endpoints for tasks such as retrieving nearby points or creating new ones.
Challenges We Ran Into
One of the biggest challenges was building a reliable backend that could support user-generated locations and images.
Some of the more difficult problems included:
- Designing a database structure for users and location points
- Integrating authentication between the iOS app and backend services
- Handling image uploads and storage
- Fetching and displaying nearby locations efficiently on a map
Because this was my first full mobile app built end-to-end, many of these systems required significant experimentation and debugging.
Accomplishments We’re Proud Of
- Building a native iOS app from scratch
- Designing a full client-server architecture
- Implementing phone authentication using Firebase
- Creating a map-based discovery interface
- Successfully deploying a live backend hosted on Azure
Most importantly, we turned a hackathon concept into a real working application that allowed users to share and discover locations in their community.
What We Learned
Through PackPoint we learned:
- The complete lifecycle of building a mobile application
- Backend API design and database modeling
- Cloud deployment and hosting
- Authentication systems
- Designing products based on user research and real needs
We also gained experience turning a rapid hackathon prototype into a more polished, production-style architecture.
What’s Next for PackPoint
Future improvements could include:
- Real-time Pack Chat to allow students to discuss locations
- Live updates for crowd and noise levels
- Better filtering and recommendation systems
- Expanding beyond campuses to support local communities and city discovery
The long-term vision is to create a platform that helps people discover meaningful places and connect with their local communities.
Gallery