This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
OUTSIDE//OS is an open-source, AI-powered outdoor adventure engine that turns your free time into small, personalized real-world quests.
Instead of endlessly chatting with an AI, you tell OUTSIDE//OS how much time you have, your energy level, the kind of activities you enjoy, and the environment available to you.
It then creates an actionable outdoor mission designed around your situation.
You might get a nature-observation challenge, a mindful walking mission, a gardening activity, or a simple quest to notice things you usually walk past without thinking.
But the part I'm most excited about isn't the quest generator.
It's The Disappearing Interface.
Once you accept a quest, OUTSIDE//OS transitions into a minimal expedition experience. It gives you the instructions you need, then encourages you to lock your phone and actually complete the activity.
No infinite feed. No unnecessary notifications. No AI conversation that keeps getting longer.
The product is designed around a simple principle:
The best interaction with OUTSIDE//OS is the one that gets you back outside.
Demo
Live Demo: https://outside-os.vercel.app/
Code
💻 GitHub Repository: https://github.com/bhavya277/outside-os.git
I'd love for developers to explore the implementation, suggest improvements, contribute quest packs, and experiment with different open-weight models.
Contributions that make the experience more accessible, privacy-preserving, or useful offline are especially welcome.
How I Built It
I approached OUTSIDE//OS as a product-design challenge as much as an AI engineering challenge.
The challenge wasn't simply to connect an LLM to a frontend. It was to make AI-generated activities practical, safe, structured, and useful beyond the screen.
The architecture uses a web interface, a backend for quest generation and validation, a local AI inference layer, and local persistence for the user's personal journal.
Technology stack:
Frontend: React, TypeScript, Vite, and Tailwind CSS.
Backend: Python and FastAPI.
AI inference: Ollama with an open-weight model.
Validation: Structured quest outputs validated before they reach the user.
Persistence: SQLite for local application data.
The local model is the intelligence behind personalized adventure generation. A dedicated model adapter makes it possible to experiment with compatible models instead of tying the product to a single proprietary AI provider.
I also designed a deterministic fallback for situations where local inference isn't available, so the core experience can remain useful without pretending that AI generation is working.
The important distinction is that offline access to saved data, offline access to cached quests, and offline AI generation are different capabilities. The full local-AI experience depends on having a compatible model installed and running.
The aim is to keep the core experience independent of paid cloud AI APIs, while making model choice and the underlying implementation transparent.
Why Does Open Innovation Matter?
This is probably the most important part of the project for me.
Open innovation isn't just about using free libraries or putting source code on GitHub. It is about giving people meaningful control over the technology they use.
- AI should respect personal data
An outdoor journal can contain personal reflections, routines, and information about someone's surroundings.
A local-first approach makes it possible to keep that information on the user's device instead of requiring every interaction to pass through an external AI provider.
Privacy should be an architectural decision, not just a sentence in a privacy policy.
- Developers should be free to experiment
With an open-weight model, developers can experiment with compatible models, compare their outputs, adjust prompts, and improve quest generation without rebuilding the entire product around a proprietary API.
Different models have different strengths, resource requirements, and licensing terms. That flexibility makes experimentation possible.
- Useful AI shouldn't require a paid API
Local inference removes per-request cloud AI API charges for the local generation path. It doesn't make computation completely free: users still need compatible hardware and must account for electricity, model downloads, and storage.
Still, eliminating mandatory per-request API fees can make experimentation and self-hosting more accessible.
- Open source makes the project bigger than its original author
Someone could contribute a gardening quest pack. Someone else could improve accessibility. Another developer could add support for a different model or help make the application more robust offline.
That is the part of open innovation I find exciting: the project can evolve through contributions from people with different experiences and ideas.
The open-source approach isn't an optional decoration around OUTSIDE//OS. It is what makes local inference, model flexibility, and community-built experiences possible.
Top comments (0)