The problem
I've always been passionate about accessibility — it stems from work I did with the vision loss community. When people who depend on accessible routes hit a broken ramp or missing curb cut, reporting it meant navigating bureaucratic city forms: describe the problem, wait, never hear back. There was no community loop: no way to signal "this is still broken" or confirm "someone fixed it." The gap was real: a faster, community-owned reporting channel that kept people's data private.
The approach
I chose React Native and Expo to force myself to learn cross-platform development while shipping something real. Supabase handled auth and the database so I could focus on the domain problem instead of infrastructure. The pivotal call was implementing Postgres Row Level Security from day one — users can only see and edit their own reports. That wasn't an afterthought; it shaped every feature that followed.
The hardest part wasn't the code. My first designs missed what users actually wanted. They didn't just want to report problems — they wanted to verify them, share workarounds, celebrate fixes together. That insight changed everything.
What shipped
A map-first mobile app where accessibility barriers are pinned to real city locations. Users can report, verify, and follow up on flags. Launched with 3 testers; peer verification emerged organically within weeks — people confirming problems they'd encountered independently, not just filing tickets.
Reflection
I've always been extremely passionate about accessibility, stemming from work I did with the vision loss community. Building this reinforced something I already believed: privacy isn't a feature you add later — it's a foundation, especially when the people using your app are sharing vulnerable information about the barriers they face every day.