You're viewing the AI side. See the human side
Vikram Bhalla

TripTick

This is an AI-built project. Switch to AI mode to read the full story.

This project page is best viewed in AI mode, where I explain my frustrations with travel planning apps.

Use the toggle in the navigation to switch modes, or click here to view in AI mode.

TripTick

A travel planning app with a three-column layout that finally separates research from planning. Because juggling Google Maps, spreadsheets, and seventeen browser tabs is not a system.

Planning a trip involves two distinct activities that people constantly confuse: research and planning. Research is "what cool things exist in this place?" Planning is "what are we actually doing on Tuesday?"

Every trip I've ever planned devolved into the same chaos: Google Maps with a hundred saved places, a spreadsheet trying to make sense of it all, browser tabs I forgot I opened, and somehow still missing half the good stuff.

TripTick exists because I was tired of this mess.

The Frustration

Existing travel apps fall into two camps. Itinerary apps want you to plan immediately. Add a place, assign it a time, commit to a schedule. But I don't know what time I want to visit that temple. I just know it looks interesting.

Discovery apps are the opposite. Great for finding places, terrible for turning discoveries into an actual plan. You end up with a massive list and no structure.

The missing piece: a staging area. Somewhere to dump interesting places while you're researching, before you're ready to commit to a schedule.

The Layout

Three columns. Left to right.

Wishlist: The dumping ground. Find something interesting? Throw it in the wishlist. No commitment, no scheduling. Just "this might be cool." AI auto-categorises items as stays, experiences, food, transport, or other.

Itinerary: The actual plan. Day-based structure with time slots (morning, afternoon, evening). Drag items from the wishlist when you're ready to commit. Multi-night accommodation tracking with progress indicators. Activities can span multiple slots if needed.

Map: Visual representation of everything. Minimal circular pins with category colour coding. Bidirectional highlighting: hover over a list item, the map pin highlights. Hover over a pin, the list item highlights.

The flow is natural. Research fills the wishlist. Planning drags from wishlist to itinerary. The map shows where everything actually is.

The AI

Gemini 2.5 Flash powers a chat assistant with Google Search grounding. Ask it questions about your destination. "What's the best time to visit Angkor Wat?" "Are there good restaurants near our hotel?" "What's the deal with visa requirements for Thailand?"

The grounding means it pulls current information from the web, not just training data. Useful for things that change: opening hours, seasonal events, recent developments.

The AI also handles categorisation. Add "The Strand Hotel" to your wishlist, it figures out that's accommodation. Add "morning temple tour," it categorises as experience. Saves the manual tagging that nobody does consistently.

The Details

Google Places Integration: Search for places directly. Get details, photos, ratings. Add to wishlist with one click.

Multi-Night Tracking: Hotels show "Night 2 of 4" progress indicators. Know at a glance where you're staying and for how long.

Drag and Drop: Framer Motion handles the animations. Drag from wishlist to itinerary feels smooth. Reorder within itinerary works as expected.

Real-Time Sync: Firebase subscriptions with Zustand state management. Multiple devices stay in sync. Plan on laptop, check on phone.

Onboarding: Six-step tour for new users. Shows the three-column concept, explains the workflow. First impressions matter.

Current State

TripTick is live at triptick-d97cb.web.app. MVP prototype stage. Core workflow works. Polish ongoing.

Tech stack: React 19 with TypeScript, Vite for builds, Bun as runtime. Firebase handles auth, database, and hosting. Google Maps APIs for the mapping bits. Tailwind for styling.

I used it to plan my last trip. The wishlist captured thirty-something places during research. The itinerary ended up with maybe fifteen, properly scheduled. The map showed that two "must-visit" places were on opposite ends of the city and would waste half a day in transit.

That last insight alone justified the entire project. Sometimes the best feature is just seeing your plans on a map before you commit to them.

Next up: collaborative trips (multiple people adding to the same wishlist), offline mode, and maybe export to calendar. The roadmap of features that seem simple until you start building them.