Gora

Project Narrative
The challenge
Finding a compatible climbing partner is more nuanced than matching people by location. Availability, grade, discipline, goals, preferred gyms or crags, and appetite for a trip all matter. Gora needed to make that discovery feel immediate without turning a climbing utility into a dating product.
The platform also has to balance useful location context with privacy, establish trust before people meet, coordinate sessions and multi-day trips, and keep conversations and notifications reliable across iOS and Android. Those product constraints sit on top of a geographically distributed network where some areas naturally begin with fewer climbers than others.
The solution
Gora is a mobile-first social climbing platform for discovering nearby climbers, sessions, trips, gyms, and crags. Climbers can filter the community around their style and experience, create plans, join an existing session, message other participants, and use profiles and reviews to make informed decisions before meeting.
The experience is designed around concrete climbing intent. Discovery, scheduling, maps, direct chat, reporting and blocking, privacy-aware location, and push notifications work together as one continuous flow from “I want to climb” to an organised day at the wall.
Technical architecture
The iOS and Android app is built with Expo, React Native, Expo Router, NativeWind, Zustand, and TanStack Query. A typed oRPC contract connects it to a Hono API backed by PostgreSQL with Drizzle ORM and Redis. Better Auth handles identity, Firebase supports analytics and messaging, Expo Notifications delivers timely activity, and React Native Maps powers geographic discovery.
Cloudflare R2 stores media, while Apple and Google in-app purchase validation supports the paid product. Docker and Caddy provide the deployment layer, HotUpdater handles over-the-air app updates, and the public site uses Next.js, Payload CMS, and Tailwind CSS. The result is a shared TypeScript system with clear boundaries between mobile experience, API, content, media, and operations.
Product outcome
The shipped product gives climbers a focused way to turn nearby community into real sessions and trips. It is available on the App Store and Google Play, with a web presence that explains the product and supports discovery without duplicating the app itself.
Gallery






