Client background
Safe & The City is a London-based startup founded by Jillian K. with a mission to improve personal safety for people navigating cities on foot. The product's core proposition is a navigation app that uses multiple data sets — crime statistics, lighting information, CCTV coverage, user-reported incidents — to generate routes that prioritise safety over pure speed. Rather than always choosing the fastest route, Safe & The City would suggest a route that was two minutes longer but avoided a poorly-lit stretch of road with elevated incident reports.
The product addressed a genuine and significant social need. Women, in particular, make navigation decisions based on perceived safety considerations that standard mapping applications ignore entirely — avoiding certain streets after dark, choosing routes that pass through busy areas rather than quiet shortcuts, and building in time to check in with friends or family during longer walks. Safe & The City aimed to acknowledge these real safety considerations and address them with better data and better tools.
By the time Jillian engaged Squash Apps, the app existed as an MVP with proven core functionality and early user adoption. But the frontend needed a substantial rebuild: the existing implementation had been developed rapidly to prove the concept, accumulated technical debt that was limiting UX improvements, and lacked several features — most notably turn-by-turn directions and the incident reporting system — that users had identified as critical for the app to become part of their regular safety routine.
The challenge
The challenge was rebuilding a functioning mobile app without disrupting the existing user base — and doing it on a startup budget where every dollar of development needed to deliver maximum product value. This required careful prioritisation: not rebuilding everything, but identifying the specific improvements that would have the largest impact on the user experience and the product's ability to grow its user base.
Technically, the specific features requested — turn-by-turn directions and incident reporting with geotagging — had different complexity profiles. Turn-by-turn navigation requires integrating with a routing API that can generate step-by-step directions, presenting those steps in a format that's readable while walking, and handling the navigation flow when a user deviates from the suggested route. This is well-understood technically but requires careful UX design to be usable in practice (nobody wants to look at their phone every 15 seconds while walking through a city at night).
Incident reporting with geotagging required a different set of design decisions. The feature needed to make it as frictionless as possible for users to report safety concerns in the moment — a flow that required too many taps or too much attention would not be used when it mattered most, which was exactly when a user was in a situation that felt unsafe. The geotagging needed to accurately capture location at the time of reporting, which meant handling the case where GPS accuracy was poor (as it often is in central London where tall buildings interfere with satellite signal).
Beyond the technical challenges, the product had a mission dimension that affected every design decision. Safe & The City was explicitly a product for women's safety, with a founding team committed to diversity and inclusion in tech. Jillian was engaged in promoting the product through networks focused on gender inclusion, and the product needed to be worthy of those endorsements — both in terms of UX quality and in terms of the values embedded in its design choices.
How we engaged
The engagement began in December 2018 and reflected a working relationship between Jillian and Srijith that went beyond a standard vendor relationship. Squash Apps contributed financially during Safe & The City's crowdfunding phase and was patient about the development start date while the company raised capital — a level of commitment to the product's mission that Jillian specifically noted in her Clutch review.
The core working relationship involved three people from Squash Apps: a React Native engineer, a designer, and Srijith himself, who was directly involved in long-term planning and strategy conversations. Srijith's engagement in these strategic discussions — about UX philosophy, product direction, and how to position the app's safety features — was something Jillian found genuinely valuable rather than just polite vendor relationship management.
The development methodology used Trello for milestone and sprint tracking, weekly planning sessions, and daily standup meetings. This level of meeting cadence was appropriate for a startup product with a founder as engaged as Jillian: rapid iteration required frequent communication to ensure that the team was building in the direction she wanted rather than interpreting written requirements independently.
Squash Apps also actively supported Safe & The City's visibility efforts: helping promote the app during International Women's Day and providing connections within global networks focused on women in tech and safety technology. This kind of partnership — contributing to the mission, not just the code — exemplified the relationship that Jillian described as "a great business relationship."
What we built
The core deliverable was a rebuilt React Native frontend for Safe & The City, running on both iOS and Android. The rebuild addressed the technical debt that had accumulated in the existing implementation while introducing the new features that would meaningfully improve the product.
Turn-by-turn navigation was implemented using the Mapbox Directions API for route calculation and Mapbox's React Native SDK for the map rendering. The navigation flow was designed specifically for pedestrian use: directions were presented with clear visual hierarchy (current instruction prominent, upcoming instruction secondary), voice narration was available as an accessibility and eyes-free option, and the route deviation detection triggered a gentle prompt to recalculate rather than an alarm — respecting that pedestrians legitimately deviate from routes in ways that drivers typically don't.
The incident reporting system was designed around a three-tap flow: open the report modal (one tap), select the incident type from a visual grid of categories (one tap), and confirm the submission (one tap). Location was captured automatically at the time the report was initiated. An optional text field and photo attachment were available for users who wanted to provide more detail, but the minimal three-tap flow worked as a complete report. This design decision — making the minimal case trivially easy while still allowing richer reports — reflected careful attention to the safety context in which the feature would be used.
The UX improvements addressed the parts of the existing app that user feedback had identified as friction points: the route selection interface was redesigned to make the safety scoring of different route options more visible and understandable, the onboarding flow was simplified, and the app's overall visual design was updated to feel more polished and trustworthy.
Technical approach
The rebuild used React Native with the Mapbox React Native SDK for mapping and navigation. Mapbox was chosen over Google Maps for two reasons: its greater customisability (allowing the custom safety-scoring overlay to be integrated natively into the map rendering) and its support for offline map tiles (allowing the app to work in areas with poor connectivity, which is a real-world requirement for a safety app).
Location handling used React Native's Geolocation API with a custom accuracy improvement strategy: on iOS, the app switched between standard accuracy and high accuracy modes based on whether navigation was active, conserving battery in idle state and maximising accuracy during active navigation. On Android, the app used the fused location provider via react-native-geolocation-service for the best available accuracy on each device.
The incident reporting geotagging used a snapshot of the user's last known good location at the time of report initiation, rather than waiting for a fresh GPS fix — this ensured that a report could be submitted immediately without the two to five second delay that a fresh GPS acquisition requires. The location accuracy was recorded alongside the report so that the data processing layer could flag low-confidence locations for manual review.
The Redux state management architecture was refactored to use Redux Toolkit, which eliminated a significant amount of boilerplate code from the previous implementation and made the state management logic substantially more readable and maintainable.
Results
The rebuilt app represented what Jillian described as "fundamental" progress in getting Safe & The City to where it needed to be. The code quality assessment from Safe & The City's technical co-founder was specifically positive: the quality of the React Native code was independently reviewed and found impressive. This third-party technical validation was particularly meaningful given that the team had been engaged at a startup budget — the quality matched what would be expected from a much larger engagement.
The turn-by-turn navigation feature drove a measurable increase in navigation session length: users who used the navigation feature spent significantly more time using the app per session than users who only used the static route recommendation features. This engagement improvement was important for a safety product where regular use is the goal — safety habits need to be established through repeated use, not occasional reference.
The incident report data accumulated through the rebuilt reporting feature contributed to the quality of the safety scoring dataset that underpins the route recommendations — creating a positive feedback loop between user engagement and product quality.
