DEV Community

Manthan Gupta
Manthan Gupta

Posted on

Touch Grass, Check the Clouds First: SkyReader

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built

SkyReader is a website that reads the sky. Take one photo of the clouds and it names the cloud type (cirrus, cumulonimbus, stratus and so on), checks live weather for your area, and gives a plain verdict: Go, Go with care, Wait, or Stay in, with the reasons and a short note on what those clouds usually mean.

It's built to make the screen the shortest part of going outside: look up, take one photo, get an answer in a few seconds, put the phone away. A built-in cloud atlas helps you learn to read the sky yourself, and a sky log later checks whether the tip held up against what actually happened.

It's for walkers, runners, hikers and anyone curious about the weather above them.

Demo

SkyReader

manthan-gupta-21906.github.io

Code


How I Built It

  • Cloud classifier: a small open-weight image model (MobileNetV3-Small) [fine-tuned on public ground-based cloud datasets plus my own phone photos: confirm once done], exported to ONNX and run in the browser with onnxruntime-web. Photos never leave the device.
  • Weather: the Open-Meteo API, which needs no key. Only a rounded location is sent.
  • Verdict: a transparent rule engine, not an LLM. Cloud signal, rain chance, wind gusts, convective energy, UV, temperature and daylight each add a penalty, and a thunderstorm signal can never produce a plain "Go". Every reason is shown on screen.
  • App: React, TypeScript and Tailwind as an installable PWA that works offline, with IndexedDB for the local sky log.
  • Built with an agent: I wrote the requirements first (PRD, TRD, UX design, data schema, architecture and a phase plan), then had OpenCode build the app phase by phase from them, using [model name and how you accessed it].
Result Value
Top-1 accuracy, held-out test set [after training]
Top-1 accuracy, my own phone photos [after field test]
Verdict hit rate over [N] days [after outcome checks]

Why Does Open Innovation Matter?

  • The photo stays on your device. An open model that runs in the browser needs no upload and no API key. A closed vision API would need both.
  • Classification keeps working without signal, which matters on a trail.
  • I could tune it for my own sky. Fine-tuning and calibrating an open model on local photos is possible. A closed classifier doesn't offer that.
  • Open data and an open weather API keep it free to run and easy to audit.
  • The model is swappable. Drop in a new model.onnx and manifest and the app uses it, with no code changes.

[Add one honest comparison once measured, for example open model vs a closed API on your own photos.]

My Agent Session

[Embed the DevRelay session with the agent_session tag, or link it.]

It wasn't a smooth run: the agent used bash syntax in PowerShell, started in the wrong repo and tried to open Notepad. Fixing that meant stricter prompts and stopping after each phase, and I'd recommend the same to anyone building with an agent.

Prize Categories

[List the partner categories you qualify for, or remove this section.]

Top comments (0)