DEV Community

Sourabh Kumar Dubey
Sourabh Kumar Dubey

Posted on

Look Up: an offline AI that nudges you to go see tonight’s sky

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

What I Built

The first time I noticed Venus, I thought it was just a very bright star. My internet had stopped working, so I went up to the roof, and there it was, far brighter than anything around it. I stood there longer than I meant to.

That one star turned into a habit. Now I go outside most days and spend an hour or two in the open, feeling the wind and watching the sky change. It all started with a single bright dot I didn't understand.

Look Up is my attempt to hand that moment to someone else. It's a small website that runs entirely on your own computer. It works out what is actually in the sky tonight where you are (Bengaluru by default), and a local open-weight AI model turns that into a short, friendly nudge: what to look at, where, and when.

Then there's one button, "I'm going out." It starts a timer and dims the page, so the screen becomes the shortest part of the experience.

It's for anyone curious about the sky but never sure what they're looking at: beginners, space lovers, and people who need a small reason to step outside tonight.

You can set your own location, choose how long you want to stay outside, and pick the voice of the nudge (Calm, Excited or Poetic). While the timer runs, it shows a gentle prompt every few minutes, like "notice how quiet it is". When you come back, you can tell it what you saw and it replies.

Demo

Video demo: https://drive.google.com/file/d/1Y58dX_Pt7r3UHUGbwwvtSQheFb6ssVPI/view?usp=sharing

The Look Up website showing tonight's visible planets and a friendly nudge

It runs on localhost. To try it yourself:

git clone https://github.com/skd-33/look-up.git
cd look-up
pip install skyfield
python setup.py
ollama pull qwen2.5:1.5b
python server.py
Enter fullscreen mode Exit fullscreen mode

Then open http://127.0.0.1:8000. You need internet only once, to download the model and a 17 MB NASA ephemeris file. After that, everything works with Wi-Fi off.

Code

Look Up

An offline stargazing website that tells you what to look at in the sky tonight and nudges you to go outside.

It runs entirely on your own computer. Python works out what is really in the sky, and a small open-weight AI model (Qwen2.5 1.5B, via Ollama) turns that into a short, friendly nudge. No server, no API key, no internet after setup.

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

Features

  • Tonight's visible planets: direction, best time and altitude, calculated for your location over the whole night, from sunset to sunrise
  • A short AI-written nudge in a voice you choose: Calm, Excited or Poetic
  • Location picker: Bengaluru by default, a city list, custom coordinates, or browser location
  • "I'm going out" button: pick 10, 20, 30, 60 or custom minutes, the page dims, and gentle prompts appear every few minutes until a soft…

How I Built It

  • Skyfield and a NASA JPL ephemeris file calculate which planets are above the horizon, in which direction, and when they peak. No network needed.
  • Ollama running Qwen2.5 1.5B turns those facts into a warm two-sentence nudge. I started with Gemma 3 1B and moved to Qwen by changing one setting.
  • The site is plain HTML, CSS and JavaScript with a hand-drawn SVG night scene and a small Python server. It makes no external requests.

The part I like most is a bug. My first version told me Venus was "shining bright" while the same page listed Venus as not visible. The model made it up.

The old nudge calling Venus bright while the list beside it says Venus is not visible

A 1.5B model is good at tone and unreliable with facts, so I stopped asking it for facts. Now Python picks the target object and passes only that object's data, and the model only rewrites it. The app then checks the sentence. If it names an object that isn't in the data, or leaves out the time, the app throws it away and uses a plain template. The AI gets to be warm and the code gets to be right.

I wrote the spec first, and when I added things later (location, timer, voices) I did each as its own small step and committed it before moving on. I used coding agents in Antigravity (Claude Opus first, then Gemini Flash when my quota ran out) to write the code. The agents are closed models. The product itself runs only on open weights.

The agent didn't always follow the plan either. It wrote most of the project in one pass instead of one step at a time, and the first page it produced had headings hidden under the header, a clipped "Custom" button, and a night scene too faint to see. I caught these by opening the page and sending screenshots back for fixes.

Why Does Open Innovation Matter?

  • It works with no signal. A stargazing tool is most useful where the sky is darkest, which is usually where the internet is worst.
  • Your location never leaves your computer. There is no server and no API key.
  • It costs nothing to run. Anyone with a laptop can use it.
  • I could swap and change it. I switched models by changing one setting, and I can rewrite how the assistant talks without paying per call.

This is where open worked better than a closed API: a closed model would need internet, an account, and my location sent to someone else's server. A bigger closed model would probably write prettier sentences, but I'll take slightly plainer sentences in exchange for something that works on a hilltop.

What's next: starting the sky nudge automatically at login so it reaches you without opening the site, more voices and models, and more things to spot, like the ISS.

If you have never really looked at the sky, tonight is a good night to start.

Top comments (0)