Mobile product and platform engineering
Wrangle
I built the platform behind a travel product that turns photo libraries into ranked, structured micro-guides for better exploration.
What I built
Built the mobile and backend foundations for creating, curating, publishing, and sharing travel guides.
Designed a system that connects mobile capture, private media, guide composition, and discovery without treating any one layer as an isolated feature.
Created the engineering foundation for a product experience that can evolve from a personal trip archive into a useful social guide.
System at a glance
- Expo and React Native provide the mobile workflow for capture, curation, and guide discovery.
- A NestJS service running with Fastify handles product workflows through typed TypeScript contracts.
- Supabase and Postgres support authentication, relational product data, and private media storage.
- Background image-processing work keeps longer-running media tasks separate from interactive product flows.
- Shared domain logic, observability, and CI checks keep the mobile and platform layers aligned as the product changes.
Key decisions
- Shared contracts reduce drift between a fast-moving mobile product and the backend that supports it.
- Private media and membership-aware access controls put user trust ahead of a convenient but unsafe storage model.
- Background processing protects the interaction loop from work that does not need to block a traveler.
How I approached reliability
- Type checks, mobile tests, and API end-to-end checks are part of the delivery path.
- Error boundaries and Sentry instrumentation make failures visible across mobile and backend workflows.
- The platform separates interactive requests from asynchronous media processing so it can fail and recover more gracefully.
Outcome
The result is a real product foundation for transforming scattered travel media into curated, visually navigable guides, with the engineering depth to support privacy, iteration, and future intelligence features.
Technology focus
- Expo
- React Native
- NestJS
- Fastify
- TypeScript
- Zod
- Supabase
- Postgres
- Python
- Sentry
- CI/CD