What I Built
SkyScout is an AI-powered celestial observatory and outdoor stargazing companion built to get people off their glowing screens and out under the open night sky. By fusing real-time smartphone hardware telemetry—magnetometer compass headings, gyroscope pitch, and GPS coordinates—with autonomous AI intelligence, SkyScout transforms any night walk into an interactive celestial exploration.
Most traditional sky map apps make you stare down at a bright screen to read tiny text in the dark, destroying your night vision and pulling you right back into a digital bubble. SkyScout does the opposite: it is an audio-first experience. When you point your phone toward the sky and tap "Capture & Identify," SkyScout locks onto the celestial object in your crosshairs and narrates its astronomical facts, mythological lore, and viewing tips directly through your headphones. You can tuck your phone into your pocket, look up with your naked eyes, and simply listen as the cosmos comes alive around you.
SkyScout is designed for hikers, campers, amateur astronomers, curious families, and anyone who wants to step outside, breathe fresh night air, and reconnect with the wonders of the universe.
Code
The entire codebase for SkyScout—including the Flutter mobile app and the Mastra agent backend—is open source and available on GitHub:
Koushiklalala / SkyScout
AI Stargazing Observatory and Cosmic Storyteller built with Flutter, Mastra AI Agent, and MongoDB Atlas
🌌 SkyScout — AI Stargazing & Cosmic Storyteller
An intelligent, multi-modal stargazing observatory app built with Flutter, Mastra AI Agent, MongoDB Atlas, and automated voice narration.
🌟 Hackathon Tracks & Prize Eligibility
- 🚀 Best Use of Render ($200): Backend AI runtime and static audio streaming service deployed on Render.
- 🤖 Best Use of Mastra ($100): Orchestrates astronomy tools, spherical coordinate calculations, and multi-modal celestial synthesis.
- 🍃 Best Use of MongoDB Atlas ($100): Stores rich astronomical datasets, mythology lore, and user stargazing session history.
- 🎙️ Best Use of ElevenLabs ($100): Server-side audio voice synthesis generating spoken celestial narrations.
✨ Features
- 4K AR Camera Viewfinder: High-resolution sky photography in native hardware resolution with responsive HUD telemetry.
- Real-Time Sensor Lock: Tracks device GPS latitude/longitude, magnetic compass azimuth (0–360°), and altitude tilt pitch.
- 360° 8-Octant Celestial Mapping: Accurately maps coordinates to constellations (Taurus, Orion, Ursa Major,…
Repository Link: https://github.com/Koushiklalala/SkyScout
The repository is organized into two primary components:
skyscout/: The Flutter mobile client containing real-time sensor streams (compass heading, pitch, GPS), the dark-mode HUD viewfinder overlay, and the responsive audio player.
skyscout_backend/: The Node.js & TypeScript service featuring our Mastra agent, astronomical database lookups on MongoDB Atlas, passwordless OTP authentication, and voice audio generation.
How I Built It
SkyScout is an intelligent, open-source personal celestial observatory and audio storyteller built to get people off their screens and into the natural world under the real night sky.
How it gets people off the screen and into the world ("Touch Grass"):
Most astronomy apps demand that you keep your face glued to a bright blue-light screen in the dark, squinting at complex 3D star charts and reading tiny paragraphs of text. SkyScout completely flips this model:
1.The screen is the shortest part of the experience: You step outside at night, point your phone toward the sky, and tap a single button.
2.Audio-First Observation: SkyScout’s AI agent identifies the constellation in your line of sight and immediately begins narrating a rich, spoken story combining ancient mythological folklore with astrophysics.
3.Eyes on the Stars, Not the Glass: You tap once, put the phone down on the grass or in your pocket, and simply listen to the story while gazing directly at the real stars with your own eyes.
Why Does Open Innovation Matter?
When you step outside to "touch grass" and stargaze, you are often far from city lights and reliable high-speed cellular networks. In the middle of an open field or on a mountain trail, depending strictly on closed, cloud-only AI APIs creates a fragile experience—if you lose connectivity or hit API rate limits, the app completely breaks. Open innovation and open-source agent tooling change that paradigm entirely.
Building SkyScout on an open-source agent framework (Mastra) and open architectures gave us complete control over our agent's execution loop. Unlike closed black-box assistant APIs, Mastra let us build a transparent, inspectable tool pipeline where mathematical astronomical calculations, compass octant mapping, and coordinate validations happen deterministically. When external networks drop or cloud quotas run out, open innovation allows our engine to gracefully fall back to local database lookups and built-in procedural synthesis without leaving the user stranded under a dark sky.
Furthermore, open innovation protects user privacy and democratizes technology. SkyScout handles real-time geolocation coordinates, compass headings, and pitch telemetry—deeply personal spatial data that shouldn't be locked inside proprietary corporate telemetry vaults. By leveraging open-source frameworks and community-driven platforms, we created an observatory experience that anyone can inspect, self-host, and run without prohibitive per-token fees, proving that AI is most powerful when it empowers people to put down their screens and explore the physical world around them.
My Agent Session
SkyScout was built and debugged end-to-end through collaborative pair programming with an AI coding agent. The session spanned real-time hardware telemetry integration in Flutter, structuring Mastra agent tools for astronomical coordinate lookups, implementing robust cloud voice fallbacks, and configuring cloud deployment on Render.
If you have uploaded your DevRelay session transcript, embed it using DEV's native Liquid tag:
Related posts
Filtering Clients Is the Hidden Time-Killer for Freelancers
Mastering INP: How We Achieved Sub-10ms Input Latency Across 30 Reactive Web Tools
![Why Object.keys(user) Returns string[], Not (keyof User)[]: TypeScript Means It](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F2q4w48b9bzs43tynyhsf.png)
Why Object.keys(user) Returns string[], Not (keyof User)[]: TypeScript Means It
Adding AdSense to a static Vercel site without throwing away your Content-Security-Policy

TanStack Table vs ReUI: picking a React data grid for a shadcn app
