Sidewalk Safe
What is Sidewalk Safe?
SidewalkSafe is an accessibility-focused navigation application designed to help people with visual impairments and mobility challenges navigate city streets safely. The platform enables users who rely on guide dogs, white canes, walkers, or wheelchairs to find accessible routes based on their personal mobility needs and preferences.
The core value proposition is crowdsourced sidewalk accessibility data. Users can report hazards like missing sidewalks, obstacles, poor conditions, ice, flooding, and construction. They can also document positive features like curb cuts and well-lit paths. This community-driven approach creates a living database of real-world accessibility information that traditional mapping services don't provide.
Key capabilities include:
Personalized route planning based on individual accessibility requirements (walking speed, maximum incline tolerance, surface type preferences)
Turn-by-turn navigation with detailed instructions and hazard warnings
Community reporting and verification of sidewalk conditions
Social features allowing users to connect with others and share trusted routes
Moderation system to ensure data quality and accuracy
The application was developed with a personal mission - the developer's sister has accessibility needs, making inclusive design a foundational principle rather than an afterthought.
Tech Stack:
SidewalkSafe is a cross-platform mobile application with a Python backend API.
Frontend (SidewalkSafe repository):
Swift/SwiftUI application targeting iOS and macOS
MVVM architecture with ObservableObject ViewModels
MapKit integration for interactive mapping with custom annotations
CoreLocation for GPS tracking and heading detection
iOS Keychain for secure JWT token storage
Full VoiceOver accessibility support throughout the interface
45+ Swift model files covering users, routes, annotations, segments, and role-based permissions
Backend (SidewalkSafeServer repository):
Python 3.11+ with FastAPI async framework
PostgreSQL 14+ database with SQLAlchemy 2.0 async ORM
JWT authentication with bcrypt password hashing
12 API router modules covering authentication, profiles, annotations, segments, routes, trails, connections, sharing, notifications, moderation, and admin functions
16 database tables including users, roles, profiles, preferences, annotations, segments, routes, trails, connections, and moderation actions
Role-based access control with 7 permission levels (guest through owner)
Haversine distance calculations for location-based queries
Community verification system with upvotes, downvotes, and confidence scoring
Auto-generated API documentation via Swagger UI and ReDoc
The system architecture separates concerns cleanly: the frontend handles all presentation and user interaction with platform-specific optimizations, while the backend provides a stateless RESTful API for data persistence, authentication, and business logic. Communication happens via JSON over HTTPS with JWT bearer tokens for authentication.
Disclosure: This project was built purely for personal use and education. The application and its systems are not deployed for public use, however code access can be requested.