This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
WHAT I BUILT
Trip-polama, is a colloquial term used in TamilNadu, a mix Tamil and English which means shall we go for a trip. From the header itself we can get to understand that this application can make people get off their seats and go offline for few days to explore the nature and experience the thrill.
DEMO
๐ Live Demo: trip-polama.onrender.com
CODE
๐ป GitHub Repository: karan-2004/trip-polama
๐ What is trip-polama?
Most trip planning apps are great until you actually start your trip. The moment you hit a remote trail or a hill station with zero signal, your app becomes a glorified brick. Maps stop loading, expense tracking requires a server, and coordinating with your group becomes a game of "who has the last bit of LTE?"
trip-polama is an offline-first, "split-brain" trip manager designed specifically for hikers, trekkers, and outdoor groups. The goal is simple: get people off the screen and into the world, with open-source AI at the core.
๐ง The "Split-Brain" Architecture
I realized that the tools you need before a trip are fundamentally different from what you need during one. Instead of a monolithic app, I built two specialized "brains":
1. The Online Brain (The Planner)
When you have a connection, you need a powerhouse. The Online Brain uses larger open-weight models (like Gemma 4 or Llama 3) equipped with online research tools. It performs source-backed research using Wikipedia and other resources to suggest waypoints, check permits, and build a realistic itinerary.
Still need to work on the model to identify a better one which could infer budget and planning based on the current data available. It also needs to be fine tuned specifically for trip planning.
2. The Local Brain (The Manager)
Once you're offline, the brain shifts. The Local Brain is a lightweight system that lives entirely on your device. It handles the essentials with zero signal:
- Offline Waypoints: Mark your path and track visited stops.
- Expense Tracking: A local ledger to track spending and calculate "who owes whom" without a database.
- Photo Log: Capture memories locally without worrying about cloud uploads.
- Buddy Check-ins: Tracking last-known locations of group members.
- "Next Up" Suggestions: Context-aware tips based on your device location, weather, and pace.
Itโs still not a working model in deployment where I need to figure out an even more smaller model to accommodate in mobile and needs more fine tuning in order provide accurate and quick responses offline.
๐ ๏ธ How I Built It
I chose a stack that prioritizes user control and offline reliability:
- PWA (Vite + React + TS): Built as a Progressive Web App so it installs on the home screen and works offline via service workers.
- Dexie.js & IndexedDB: All trip data, photos, and expenses are stored in the browser's IndexedDB. Your data stays on your device, not on a corporate server.
- MapLibre GL: Used for high-performance map rendering.
- Open-Weight AI: Integrated via an Ollama/Groq adapter, ensuring the AI is inspectable and swap-able.
- Node.js & Render: A lightweight gateway serves the frontend and manages the transition to larger online models.
๐ง Challenges I Faced
The biggest challenge was managing the "split" effectively. Ensuring that the chat history and trip context transitioned seamlessly between a massive online model (for planning) and a lightweight local logic (for managing) required a custom routing layer and a strict schema for AI actions.
Another hurdle was the PWA's background GPS behaviorโmodern mobile browsers are aggressive about killing background processes, which I had to account for in the "buddy tracking" design.
๐ What I Learned
This project taught me the power of local-first software. In an era of "everything-as-a-service," building something that intentionally doesn't need a server to be useful is a refreshing challenge. I also learned how to leverage open-weight models to create specialized roles (Planner vs. Manager) rather than relying on a single generic prompt.
๐บ๏ธ The Road Ahead
- On-Device Intelligence: Integrating WebLLM to bring the "Manager" brain fully on-device.
- Offline Maps: Implementing PMTiles for true offline map downloads.
- P2P Coordination: Using WebRTC for live buddy tracking without a central server.
- Privacy First: Automatic metadata stripping for photos.
๐ค AI Agent Session
Here is the transcript of the session where I deployed the app and drafted this post:
Check out the repo and join me in building the future of private, autonomous outdoor exploration!
Prize Categories
I have used render for deployment which made my work much easier to take my project to the world. I would like to enter in render category.
I have used Gemma model through illama for the online brain for trip planner. I would also like to enter in this category.
Top comments (1)
people please use polampolampolam. as password to access demo.