Maati: a little tree that nudges you back outside A developer built Maati, an open-source web app and optional Windows desktop companion that tracks screen time and nudges users outside with small, time-of-day-appropriate missions. The stack pairs a Next.js/TypeScript/Tailwind front end and a Fastify API with PostgreSQL, while a scikit-learn crop-recommendation classifier trained on temperature and humidity at startup provides seed guidance; a higher-resource TabPFN implementation exists in the repository but is not used in the free Render deployment. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass https://dev.to/challenges/hacktoberfest-week1-2026-10-05 Maati turns “take a break” into a small mission that fits the time of day. It’s for developers and anyone who can look up from a screen and realize hours have passed. A floating cherry blossom tree in the optional Windows desktop companion tracks active screen time. When it’s time for a break, the companion suggests one of three kinds of reset: You can accept a mission, then record its completion in the web app with a photo and caption. The community feed and scrapbook make those real-world breaks something you can look back on and share. Live app: Maati https://maati-web-g4er.onrender.com/ The first visit may take a little while if the free service has gone idle. The web portal uses Next.js, TypeScript, Tailwind CSS, and Framer Motion. A Fastify API handles accounts, profiles, missions, and posts; PostgreSQL stores the user and community data. For seed guidance, Maati loads the real Crop Recommendation CSV into a scikit-learn classifier. The free Render demo trains a lightweight model at startup using temperature and humidity. Its score is an experimental crop-recommendation signal—not a calibrated probability that a seed will germinate. The mission flow uses Backboard for structured advice, Open-Meteo for location and weather, and Google Maps services for place directions and transit details. Render hosts the web app, API, and predictor as separate services. Keeping the crop predictor in an open, replaceable service made it possible to adapt Maati to the limits of a free deployment. The model and its input features are inspectable, and I can swap the predictor without rebuilding the rest of the app. There’s also a TabPFN implementation in the repository for a higher-resource setup. The current free Render demo uses scikit-learn instead, because that model fits the available resources better. The advice and maps portions still use hosted services, so Maati is a hybrid project rather than a fully local or offline assistant. The submission rules ask builders to list categories their project genuinely uses. The free deployment currently runs scikit-learn, so I’d only add Best Use of TabPFN if you can also demonstrate the TabPFN path running. I left out Tinker, Gemma, and Backboard categories because the current deployed build doesn’t use them in the qualifying setups described by the challenge. Challenge details and categories https://dev.to/challenges/hacktoberfest-week1-2026-10-05