Skip to main content
Fabien Fouassier

Case Study

Voyage Vibe

Founder project: an AI-powered travel assistant built as a mobile + serverless system. Designed as a production-grade template with strong DX guardrails, contracts-first APIs, and cost-aware AI usage.

Role

Founder & Senior Full-Stack Developer

Timeline

Ongoing (production-focused)

Year

2025

Category

Travel

Voyage Vibe hero image

The Problem

Planning trips is messy, time-consuming, and hard to adjust when plans change. Existing apps either focus on booking or static itineraries but don't combine personalization, real-time AI refinements, and offline usability. Voyage Vibe tackles this gap by offering a conversational travel assistant that produces actionable, offline-ready itineraries.

My Role & Responsibilities

I act as Founder and Senior Full-Stack Developer, owning end-to-end product development:

  • Architecture and infrastructure setup (AWS via SST)
  • Mobile app design and development
  • Backend-lite with contracts-first APIs
  • UI system with accessibility and design tokens
  • CI/CD pipelines with strong DX guardrails

As a solo founder, I own every aspect of the technical stack and product decisions.

Execution Highlights

Contracts-first APIs

Every API boundary is defined with Zod schemas, which auto-generate OpenAPI specs and client types. This enforces consistency between backend and frontend, catches contract violations at build time, and accelerates iteration without sacrificing safety.

DX guardrails

Implemented Plop scaffolding with auto-generated headers and strict templates. Combined with a GitHub Actions matrix running lint, type-check, unit tests, mutation tests (Stryker), and smoke E2E tests (Maestro), this ensures code quality remains high as the project grows.

Mobile app

Built with Expo Router, Zustand, and React Query, with integrated Storybook for component previews and design system documentation.

Backend-lite architecture

Implemented AWS Lambda functions via SST with API Gateway and DynamoDB. Zod contracts drive type generation for both backend and frontend.

Infrastructure setup

Configured Cognito for authentication, CloudFront and S3 for content delivery, with budget alerts and cost monitoring.

UI system

Designed atomic component library with design tokens and accessibility-first principles.

These decisions were made to ensure the system remains predictable, cost-aware, and maintainable as it grows — not just impressive in early demos.

Tech Stack

React NativeExpoAWSAIOpenAI
  • Frontend: Expo 54, React Native 0.81, Expo Router, Zustand, React Query, Storybook
  • Backend: AWS Lambda (SST), API Gateway, DynamoDB (single-table), Cognito JWT
  • Shared: Zod contracts, type-only packages, design tokens, atomic UI
  • Infra: SST (IaC), CloudFront, S3, budgets/alerts
  • CI/CD: GitHub Actions, Maestro, Stryker mutation, lint/type/test matrix
  • AI: OpenAI APIs for itinerary generation and conversational refinements

Related Links