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)
- Open app → explain goal: safe itinerary that renders as sections.
- Create a plan with constraints (dates, budget, location, safety preferences).
- Show structured output: overview → daily plan → safety tips → budget.
- Save plan → refresh → load saved plan.
- 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.