Inspiration

Husky SafeTrip is a service that UW offers where a student can call a member of the UWPD at night and receive a safe ride back to their home. Some of our friends were having trouble getting from West campus to North campus, and they needed the Husky SafeTrip, but couldn't get it. This current system where students call the UWPD is quite inefficient. If the driver might get another call at the same time, be swamped with lots of requests to get driven, or simply miss it. We thought it would be much more convenient if students could use an app to put in drive requests, which improves the process for both the students and the drivers.

What it does

Students enter their name, UW ID, pick up location, and drop off location. Bedrock’s Claude model parses the information given for the start and end points to give addresses which are then sent to the driver. The driver’s location is tracked so the user knows roughly how long it will take for their ride to come. The overall idea is to make the current system that the school uses more effective.

How we built it

We built the project using a combination of frontend and backend technologies, cloud services, and AI tools. The frontend was created with Streamlit to provide a responsive interface for riders and drivers, including real-time location tracking and ride request forms. The backend was powered by FastAPI, handling ride management, driver assignment, and ETA calculations using AWS Location Services for geocoding and route computation. We integrated WebSockets for live updates of driver positions and ride status. AI tools, specifically Bedrock, were used to parse natural language addresses from users and standardize them for geocoding. All ride and driver data were stored in AWS DynamoDB, allowing for scalable and reliable database operations.

Challenges we ran into

Tracking the location of the driver and correctly calculating the ETA were very difficult.

Accomplishments that we're proud of

We're really proud of the fact that we were finally able to put live location tracking and were able to put a working AWS model in our project. Most importantly, we're happy that this project takes one step closer to making UW a safer campus.

What we learned

From this project, we gained experience in real-time location tracking and WebSocket communication, integrating backend APIs with a frontend interface, and handling geocoding and route calculations. We also developed skills in managing ride queues and estimating ETAs, incorporating AI-assisted natural language parsing for addresses, and debugging asynchronous updates. Additionally, we strengthened our ability to work with cloud databases, specifically AWS DynamoDB, to store and retrieve ride and driver information efficiently.

What's next for HuskyDrive

We’d like to add a login for students with their UW NetID for extra security, as well as one for the drivers. We also plan to add a map so a user can see their driver’s location. On a larger scale, we could see ourselves trying to integrate this app with other schools that provide a similar service for their students.

Built With

Share this project:

Updates