Overview
Pawsport is an AI-powered assistant that helps pet owners navigate the complex process of international pet relocation. Moving across borders with a pet involves confusing regulations, strict timelines, and overwhelming paperwork. Pawsport turns this stressful experience into a planned, manageable journey — backed by a retrieval-augmented generation (RAG) pipeline that pulls from official government sources so answers are grounded in real regulations, not hallucinated.
Design & Planning
Problem framing
International pet relocation involves fragmented regulations across 190+ countries with strict timelines that change without notice. No centralized tool existed to guide owners step-by-step — most people piece together information from embassy PDFs, Facebook groups, and vet offices, often missing critical deadlines that can strand a pet in quarantine.
The core technical problem is regulatory accuracy: a conversational AI confidently giving wrong information is worse than no AI at all. The design had to solve for both fluency and factual grounding.
Key design decisions
- RAG over static grounding data — the original design injected static JSON country data as LLM context, which required manual maintenance and still hallucinated. The replacement: a weekly automated pipeline that fetches official government documents (USDA APHIS, Japan MAFF), chunks and tags them with Claude Haiku, embeds them with OpenAI, and stores them in a pgvector database. At query time, the most relevant chunks are retrieved and passed as grounded context to Claude Sonnet for answer generation.
- Claude Haiku for chunking, Claude Sonnet for generation — Haiku is fast and cheap for the batch tagging pass during ingestion; Sonnet provides higher-quality reasoning at query time when accuracy matters most.
- Supabase + pgvector — colocates the vector store with the relational database (user auth, community data) in a single managed Postgres instance, avoiding a separate vector DB service.
- GitHub Actions weekly cron — regulation documents change without announcement; automated re-ingestion every Sunday keeps the vector store current with no manual intervention.
- Community “Nose Booper” feature — AI cannot provide firsthand accounts of how a specific customs office operates in practice; community members fill that gap with lived experience.
Architecture overview
Ingestion pipeline (weekly): A GitHub Actions workflow fetches official regulation pages (USDA APHIS, Japan MAFF, expandable to new sources), chunks and tags the text with Claude Haiku, embeds chunks with OpenAI text-embedding-3-small, and upserts to Supabase pgvector. Re-runs are fully idempotent.
Query path: React/TypeScript frontend → Vercel serverless functions → similarity search against pgvector → top chunks injected as context → Claude Sonnet generates a grounded, cited answer. The response includes source names and URLs so users can verify against the original government document.
Community layer: The Nose Booper hub is a separate view using the same Vercel serverless layer, backed by Supabase Postgres for user data and posts.
Challenges & what I’d do differently
- Hallucination on regulatory details was the original critical problem — solved by replacing static JSON grounding with the RAG pipeline against real government documents.
- Regulation data freshness is now handled automatically by the weekly GitHub Actions cron, but the pipeline still relies on document structure being stable; a scraping breakage would silently produce stale chunks. Would add a staleness check and alerting.
- Source coverage is currently limited to USDA and Japan MAFF — the pipeline is designed for easy extension (one file per source), but expanding to 190+ countries is significant ongoing work.
Key Features
Interactive AI Travel Assistant
Your 24/7 expert consultant grounded in official government regulations.
- Personalized Planning — Custom timelines based on your specific route and pet
- Regulatory Guidance — Vaccination requirements, quarantine rules, and import permits sourced from official documents
- Cited Answers — Every response surfaces the source document so you can verify
- 24/7 Availability — Ask questions anytime about your pet’s travel requirements
Example: “I’m moving to Japan in 6 months. What do I do?” The assistant retrieves the relevant Japan MAFF chunks and generates a personalized timeline explaining the critical 180-day wait period, rabies titer test requirements, and microchip standards — with a link to the source document.
Nose Booper – Community Hub
Connect with other pet travelers for support and advice.
- Route Buddies — Find others flying the same route on similar dates
- Local Experts — Get advice from people who’ve navigated your specific customs office
- Emotional Support — Share stories and “boops” with a community that understands
Smart Planning Tools
- Dynamic Checklists — Auto-generated based on your route and pet type
- Document Explainers — Plain-English explanations for complex veterinary forms
- Visual Timelines — See exactly when to visit the vet to avoid travel delays
- Progress Tracking — Monitor your completion status for all requirements
Technology Stack
Web Application
- Frontend: React 17, TypeScript, Tailwind CSS
- Backend: Node.js + Express (Vercel Serverless Functions)
- Database & Auth: Supabase (PostgreSQL)
- Deployment: Vercel (CI/CD)
RAG Pipeline
- Chunking & Tagging: Claude Haiku (
claude-haiku-4-5-20251001) - Answer Generation: Claude Sonnet (
claude-sonnet-4-6) - Embeddings: OpenAI
text-embedding-3-small(1536 dims) - Vector Store: Supabase Postgres + pgvector
- Automation: GitHub Actions (weekly cron, Sunday 02:00 UTC)
- Sources: USDA APHIS, Japan MAFF (extensible)