Inspiration
Witnessing the challenges my friend, who has a mobility impairment, faced while navigating public transportation left a profound impact on me. In many instances, we grappled with inaccessible routes, lack of adequate facilities, and the frustration of not knowing which options were disability-friendly.
This firsthand encounter highlighted the pressing need for a solution that not only provided accessible routes but also empowered users to advocate for better infrastructure. It became clear that this issue wasn't isolated but rather a widespread challenge faced by people with disabilities across various states in the US. This realization fueled our determination to create Urban Pulse, a platform that aims to address these systemic barriers and foster greater inclusivity in public transportation systems nationwide.
What it does
Urban Pulse is a web application dedicated to enhancing accessibility in cities through improving public transportation and infrastructure. By gathering and analyzing data on routes commonly used by people with disabilities, we collect feedback on accessibility features at various locations, empowering decision-makers to allocate resources effectively for creating more inclusive cities. Our platform bridges the gap between users' needs and infrastructure development, fostering a more accessible environment and city for all.
How we built it
In the creation of UrbanPulse, a comprehensive application aimed at advancing urban planning and financial strategies to enhance accessibility for people with disabilities, we employed a diverse set of technologies across the frontend and backend to ensure a seamless, efficient, and user-friendly experience. Here's an in-depth look at how we accomplished this:
Backend Architecture Our backend is built on Flask, a lightweight WSGI web application framework in Python, chosen for its simplicity and flexibility in building web services. We integrated Kintone for database storage and management, a platform that enabled us to securely store and manage user data and application information with ease.
For the critical task of analyzing and visualizing routes data, we incorporated the Mapbox API. This powerful tool allowed us to deliver detailed maps, offering insights into accessibility challenges faced by individuals with disabilities. Our analysis and visualization pipeline also included Folium, Shapely, and Geopandas—three libraries that provided us with extensive capabilities for spatial data manipulation and interactive map creation, enhancing our ability to analyze geographic information system (GIS) data effectively.
To manage sensitive information such as API keys, we utilized YAML files, ensuring a secure and organized way to store configuration details. Security was further bolstered by hashing passwords, a method that adds a layer of protection for our user's credentials.
Frontend Development On the frontend, we opted for React coupled with TypeScript, a combination that not only facilitated the development of a robust and maintainable codebase but also enhanced our application's performance and user experience. For the UI components, we employed Chakra UI, a simple, modular, and accessible component library that provided us with the tools needed to build an intuitive and responsive design.
Authentication is a cornerstone of our application's security, handled through an Auth Context, ensuring a secure and user-friendly login and sign-up process. Axios was our choice for making API calls, favored for its promise-based structure that simplifies async requests. Navigation within our application is powered by React Router, enabling us to implement dynamic routing in a web app, thus providing a seamless user navigation experience.
A distinctive feature of UrbanPulse is the location tracker, which is fundamental to our goal of collecting data to improve urban accessibility. This feature leverages navigator.geolocation, a web API that fetches the geographical position of the device, feeding crucial data back to our backend for analysis.
Challenges we ran into
Implementing the location tracking feature using the navigator.geolocation API posed challenges in ensuring seamless functionality across various devices while maintaining accuracy and complying with privacy regulations. We had to account for differences in device compatibility and accuracy of location data, optimizing our implementation to deliver consistent and reliable results regardless of the user's device. Additionally, managing and processing large volumes of spatial data from Mapbox and GIS libraries required careful performance optimization and data handling strategies. Real-time route analysis and visualization demanded efficient algorithms and data structures to process data swiftly without compromising accuracy, ensuring a seamless user experience. Despite these challenges, thorough testing and refinement allowed us to overcome these obstacles and deliver a robust location-tracking feature capable of supporting UrbanPulse's mission effectively.
Accomplishments that we're proud of
We are proud that by creating a platform that empowers individuals with disabilities to navigate public transportation more efficiently, we have made significant strides toward fostering inclusivity and accessibility in urban environments, ultimately improving the quality of life for people with disabilities. Moreover, we are proud that we prioritized usability and accessibility, ensuring an intuitive and engaging experience for users with diverse needs. Finally, we are proud that the data analyzed from our solution can be used to significantly influence financial decisions for improving the quality of life for people with disabilities.
What we learned
Through the development of Urban Pulse, we learned the importance of user-centered design and the value of gathering comprehensive feedback. We gained insights into the complexities of public transportation systems and the unique challenges faced by people with disabilities. Moreover, we learned how improving infrastructure could catalyze the transition to sustainable city development.
What's next for Urban Pulse
Moving forward, we plan to collaborate with transportation authorities and accessibility advocates to further improve the accessibility of public transportation infrastructure. By harnessing Language Model AI (LLM) and Natural Language Processing (NLP), Urban Pulse can analyze user feedback on buildings lacking accessible utilities. Moreover, ML algorithms can learn from users' route preferences, crafting personalized routes. This adaptive approach considers factors like mobility aids and accessible transportation modes, ensuring optimal accessibility and convenience for individuals with disabilities.
Built With
- chakaraui
- flask
- kintone
- mapbox
- navigator.geolocation
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.