Tiago Antunes — Portfolio

Tripr

--role="Co-founder & Engineer"

Rails 8 Hotwire Tailwind PostgreSQL RubyLLM (Gemini 3.1 DeepSeek V4 GPT-5 Mini) Apify Solid Queue Cloudflare R2 Kamal
Tripr — hotel map picker

cat README.md

AI-powered travel itinerary builder. A multi-model LLM pipeline generates, fact-checks, and ranks attractions, then a constraint-based scheduler packs them into day timelines respecting meal windows, travel time, and capacity budgets.

cat features.txt

Each step of the pipeline routed to a different model: Gemini 3.1 Pro writes the suggestions, DeepSeek V4 Pro checks them as a deliberately sceptical fact-checker, GPT-5 Mini ranks them in batches, and a cheap Gemini model rewrites the descriptions
The generation and ranking steps are forced to answer in a fixed shape, so a malformed or invented result can't reach the user; the fact-checker retries a bounded number of times instead
Day scheduler that respects meal windows (a hard cut-off for lunch, a set dinner start), the travel time between two points, and how much a single day can realistically hold
When a day won't fit, it anchors the plan on the strongest attraction, widens its search radius step by step, then rebalances and retries before dropping anything
Pluggable data sources — Agoda files, Google Places via Apify, and direct partner feeds — each behind a common interface
Failures are recorded per source, so one bad provider finishes the run with errors noted instead of killing it
Trips can be built without an account and later claimed by one, keeping the same record and its share link
Photos stored on Cloudflare R2

cat outcomes.log

Multi-model LLM orchestration where each step is routed to the cheapest model that can do it, backed by a real constraint solver and a pluggable ingestion layer. ~38k lines of Ruby, ~1,950 test examples.

ls screenshots/

6 files · click to enlarge

itinerary map
restaurant picker
place detail
day scheduler
trip constraints
swipe onboarding