OUTCURIO A developer built OUTCURIO, an AI-powered "real-world curiosity companion" that uses a photo of a user's surroundings and a vision-language model to generate offline activities meant to reduce screen time. The project pairs a Java 21/Spring Boot 3 backend and React/TypeScript frontend with local open-weight inference via Ollama, using a provider abstraction so text and vision models can be swapped without embedding model-specific logic. It includes JWT authentication, SQLite persistence, and a fallback experience mechanism for when local inference is unavailable. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass https://dev.to/challenges/hacktoberfest-week1-2026-10-05 OUTCURIO is an AI-powered real-world curiosity companion designed to help people spend less time scrolling and more time exploring the world around them. We often pick up our phones whenever we feel bored. A quick check turns into endless scrolling, and we miss the interesting things happening around us. I wanted to explore a different idea: What if AI didn't try to keep us on our screens, but actually encouraged us to put them down? That's the idea behind OUTCURIO. Instead of providing endless digital content, OUTCURIO turns a user's surroundings, interests, and curiosity into small real-world experiences. 🌎 How it works Users take or upload a photo of their surroundings, such as a room, desk, classroom, or park. The vision-AI workflow is designed to understand the scene and use visible objects and spatial relationships to inspire a relevant activity. Users choose their available time, mood, and preferred activity. OUTCURIO generates a real-world challenge suited to their preferences. Users can discover an unexpected activity instead of deciding what to do themselves. OUTCURIO encourages users to step away from the screen, observe their surroundings, solve a small challenge, draw something, make a prediction, or explore something new. Users return to record their observations, answers, or evidence. The experience history and personalization features are designed to make future activities more relevant. Who is it for? OUTCURIO is for students, curious minds, people who get bored easily, and anyone who wants to turn idle moments into opportunities for discovery. The goal isn't to eliminate technology. It's to use technology intentionally, so that more of life happens beyond the screen. Our philosophy: AI should help you experience the world, not replace experiencing it. outcurio-ghxu7gq5t-gopika6.vercel.app https://github.com/Gopika252006/OUTCURIO https://github.com/Gopika252006/OUTCURIO OUTCURIO combines a conventional full-stack application with an open-weight AI integration. Technology stack Backend: Java 21, Spring Boot 3, Maven Frontend: React, TypeScript, Vite Database: SQLite with Spring Data JPA and Hibernate Authentication: Spring Security, JWT, and BCrypt AI inference: Ollama with configurable text and vision models Communication: REST APIs between the frontend and backend Architecture The frontend provides the user experience, while the Spring Boot backend manages authentication, profiles, experience generation, persistence, and submissions. The AI integration is designed around a provider abstraction, allowing local models to be configured without scattering model-specific logic throughout the application. For Snap My World, the intended workflow is: Photo → Vision analysis → Scene understanding → Experience generation → Validation → Real-world activity The experience lifecycle then continues: Activity → User response → Evaluation → History → Personalization A fallback experience mechanism is intended to keep basic activities available when local AI inference is unavailable. AI-generated results and fallback results should be distinguished clearly. The application also emphasizes safe activities, varied challenges, and a screen-off interaction model rather than an endless feed. Open innovation makes OUTCURIO possible in a way that goes beyond simply connecting an application to an AI API. Using open-weight models through local inference offers several advantages: More control: Developers can choose and configure models for text generation and vision tasks. Local-first potential: Core experiences and local data can remain on the user's device or local machine, depending on deployment. Privacy-conscious design: Photos of personal surroundings can be processed locally when the selected model and configuration support it. Experimentation: Developers can modify prompts, validation rules, and model choices without depending entirely on a closed API. Accessibility: A local inference path can reduce dependence on paid, usage-limited cloud services, although hardware requirements still apply. Most importantly, open innovation supports the philosophy behind OUTCURIO: technology should empower people to experiment, build, and engage with the real world. I want OUTCURIO to demonstrate that AI can be useful without demanding constant attention. The screen is the starting point, not the destination.