- Home
- Student Projects
- Rideshare
RideShare
RideShare
RideShare is an innovative carpooling app designed to seamlessly match riders with drivers for their daily commutes, optimizing routes and minimizing walking distances.
Project Overview
Project Overview
Can you provide a brief overview of the project you've been working on?
RideShare allows users to register as either a rider or a driver. By setting their home and work locations, the app intelligently matches riders with drivers whose existing commute routes align. The core objective is to make carpooling convenient by minimizing the walking distance for riders. Users can personalize their experience with options like setting a maximum walking distance and specifying their commuting days. I also explored the possibility of a gender filter to enhance user comfort and safety.
Purpose of the project
Purpose of the project
What inspired or motivated you to choose this particular project?
My primary motivation was to develop a project with sustainability at its heart. Transportation is a significant contributor to pollution, and RideShare offers a practical way to make a positive impact. Simultaneously, I've always been drawn to complex optimization problems. Working with geographical data presented a unique and stimulating challenge, especially concerning precision and resolution.
Technical Details
Technical Details
Could you explain the technical aspects of your project? What software, tools do you use?
The app is built on a client-server architecture.
- Frontend: A responsive React application, utilizing Firebase for user authentication, real-time notifications, and streamlined deployment.
- Backend: Developed using a microservices approach with Python (FastAPI). These services operate behind an API gateway and are containerized using Docker and orchestrated with Kubernetes for scalability and resilience.
Challenges and Solutions
Challenges and Solutions
Were there any significant challenges you encountered during the project, and how did you overcome them? Can you share a specific problem-solving moment that stands out in your project?
While I had prior programming experience, I intentionally chose to challenge myself by implementing Kubernetes to manage the microservices. For the project's initial scale and guidelines, this was admittedly ambitious, a deliberate case of overengineering. The most significant challenge was managing the inherent overhead of a microservices architecture without losing sight of delivering the core app features. This pushed me to be highly organized and to deeply understand the trade-offs involved in complex system design.
Collaboration and Teamwork
Collaboration and Teamwork
Did you collaborate with other students or team members on this project? How did teamwork contribute to the success or progress of your project?
This was an individual project, meaning I handled the design, prototyping, and implementation phases solo. However, I'm incredibly grateful for the invaluable guidance and mentorship provided by Professor Solomon Shifferaw throughout the development process.
Learning and Takeaways
Learning and Takeaways
What key lessons or skills have you gained from working on this project?
A key takeaway is understanding the practical limits and capabilities of generative AI in complex projects. While AI tools are fantastic assistants, they can only take you so far, especially as a project grows in scope and intricacy; their "context window" for understanding the entire system becomes a bottleneck. It reinforced the importance of deeply owning your project and not letting the current capabilities of AI define your own skill ceiling. True mastery comes from diving in and building it yourself.
Future Development
Future Development
Do you have plans for further development or improvement of your project in the future?
At present, I don't have immediate plans for further development. Monetizing a project like RideShare presents unique challenges, and that wasn't the initial goal. However, I'm open to revisiting it. If I were to find a sponsor or a compelling opportunity that aligns with the project's sustainability goals, I would certainly consider dedicating more time to its evolution.
Pictures
Pictures
Check other student projects
Check other student projects