# Grassday 🌿: An Offline-First AI Companion That Tells You Exactly When to Touch Grass

> Source: <https://dev.to/sk_firdous_ali/grassday-an-offline-first-ai-companion-that-tells-you-exactly-when-to-touch-grass-3p34>
> Published: 2026-10-11 17:23:34+00:00

*This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass](https://dev.to/challenges/hacktoberfest-week1-2026-10-05)*

Last Saturday, I opened three different weather apps, compared radar maps, checked air quality widgets, and cross-referenced sunset times for forty-five minutes. By the time I decided 3:30 PM was the mathematically optimal window to take a walk, clouds rolled in, it started drizzling, and I had not moved an inch from my chair. That was the humbling moment I realized I was spending far more screen time obsessing over going outside than actually touching grass.

Grassday is an offline-first AI companion that learns your personal outdoor preferences and pinpoints your exact peak 2-hour window each day, giving you the answer in one glance.

The core design principle was simple: *the screen must be the shortest part of the experience.* 

Instead of an endless dashboard of barometric pressures and hourly graphs that keep your eyes glued to glass, Grassday gives you a single recommendation card, explains why that window was picked, and generates a printable PDF field card so you can leave your phone on your desk and walk out the door.

*(The public demo runs seeded with 25 realistic outings from a synthetic user who prefers 18–24°C, low wind, and no rain. Running it locally allows you to log your own genuine outings).*

*A local-first open-source AI companion that predicts your perfect outdoor window, explains why using TabPFN meta-learning, and generates a printable field card so you can step away from your screen.*

**Built for the DEV Hacktoberfest Open-Source AI Challenge — Week 1: "Touch Grass".**

Weather apps are filled with hour-by-hour bar charts, radar sweeps, and UV gauges that keep you staring at your phone. **Grassday** operates on a simple principle: **the screen should be the shortest part of your outdoor experience.**

Instead of forcing you to decipher raw weather numbers, Grassday fits a local [TabPFN](https://github.com/automl/TabPFN) meta-learning model to your historical ratings (1–5 stars) across 14 biometeorological variables. It pinpoints the optimal 2-hour window of the day, explains *why* with fast vectorized sensitivity scores, generates a contextual nudge via [Ollama](https://github.com/ollama/ollama)…

The full open-source codebase is available at:

[https://github.com/Aryan24a-git/Grassday](https://github.com/Aryan24a-git/Grassday)

Personalizing outdoor comfort is notoriously hard. Everyone has different preferences—some love crisp 12°C autumn mornings, while others only venture out in 24°C afternoons. But asking a normal human to log 500 outings before getting a recommendation is unrealistic; real people log maybe 10 to 25 outings.

Traditional ML models (like XGBoost or small neural nets) fail on 20 rows of data—they either overfit immediately or predict the global mean.

This is why I built the intelligence layer around **TabPFN** (Prior-Data Fitted Networks). TabPFN is a foundation model for tabular data. Because it was pre-trained on millions of synthetic datasets, it performs instant in-context regression on tiny sample sizes without gradient descent.

``` php
mermaid
graph TD
    A[Open-Meteo 7-Day Forecast & AQI] --> B[(Local SQLite Cache)]
    C[User Outings History: 1-5 Stars] --> D[TabPFN Regressor]
    B --> D
    D --> E[In-Context Comfort Scoring]
    E --> F[Vectorized Feature Sensitivity]
    F --> G[Nudge Engine: Ollama / Fallback]
    G --> H[ReportLab Printable Field Card]
    E --> I[Living Nature React Frontend]
```


