Case study

Femin-Travel

AI-first travel planning with a safety-focused UX. Designed to generate structured itineraries that render reliably as UI sections, and to save plans per user account.

Role
Full-stack + AI UX
Stack
Next.js • TS • Supabase
Demo
Add Loom + live link

Problem

Most “AI travel planners” return unstructured text that’s hard to trust and hard to render. The product needed predictable UI output, saved plans, and a safety-first experience.

Solution

  • • Designed assistant outputs as structured sections (overview, day-by-day, safety, budget).
  • • Implemented auth + persistence so plans can be saved, revisited, and refined.
  • • Built UI patterns that guide users to safer, more specific requests.

Architecture

Next.js (App Router)
  ├─ UI: pages + components (Tailwind)
  ├─ Auth: Supabase Auth
  ├─ DB: Postgres (plans, preferences)
  ├─ AI: assistant endpoint -> structured response
  └─ RLS-ready patterns: user-owned records

Goal: keep the assistant output predictable so UI is stable and the DB model stays clean.

Hard parts (senior signal)

  • • Structured AI outputs: designed response shapes so the UI never depends on “random paragraphs”.
  • • Persistence model: saved plans with clear ownership (user_id) and future RLS compatibility.
  • • UX constraints: safety UX that pushes for constraints (time, location, comfort level) to reduce hallucination risk.

Key features

  • • Guided prompts for itinerary creation
  • • Structured itinerary rendering (day-by-day sections)
  • • Save / load plans per user
  • • Safety-first content sections

Demo script (Loom-ready)

  1. Open app → explain goal: safe itinerary that renders as sections.
  2. Create a plan with constraints (dates, budget, location, safety preferences).
  3. Show structured output: overview → daily plan → safety tips → budget.
  4. Save plan → refresh → load saved plan.
  5. Show how guardrails handle vague requests (ask follow-up / refuse unsafe).
Let’s build a product users trust.
I ship AI features with predictable UX, clean API boundaries, and systems that hold up under real usage. If you’re hiring for AI Product Engineer / Full-Stack (AI Products), let’s talk.