This is a submission for Weekend Challenge: Passion Edition
What I Built
Aruna — Maps for Photographers 📸
Tagline: Pin the place. Read the light. Shoot the frame.
Photography is more than finding a location—it's about finding the right light at the right moment.
Existing map tools can tell you where a place is, but they don't tell you how it will look through your lens.
That's why I built Aruna, a lightweight AI-powered location scouting tool designed specifically for photographers.
With Aruna, photographers can:
- 📍 Drop a pin or search for any location
- ☀️ See accurate golden hour, blue hour, sunrise, sunset, and sun direction
- 🤖 Generate an AI scouting briefing tailored to the location
- 🖼️ Discover visual inspiration based on photography styles like Landscape, Astro, Street, Wildlife, and Portrait
Instead of simply giving a map, Aruna helps photographers visualize the shoot before they even leave home.
Demo
🌐 Live App
https://aruna-light.vercel.app/
Try this flow
- Open Start Scouting
- Search for Kuari Pass (or any location)
- Select a photography style (Landscape, Astro, Street, etc.)
- Click Generate Aruna AI Briefing
You'll receive:
- Accurate light information
- Golden & blue hour timings
- Sun direction
- AI-generated scouting notes
- Photography inspiration images
- Suggested compositions and gear recommendations
Code
GitHub Repository
Aruna — Photographer Location Scouting
Map-centric scouting dashboard for photographers: capture a location, pick photography tags, and generate an AI briefing covering light windows, composition cues, gear suggestions, and access notes.
Built with Next.js 16 (App Router), React 19, Tailwind CSS 4, react-hook-form + Zod, and Google Gemini.
Getting Started
npm install
npm run dev
Open http://localhost:3000 — it redirects to the dashboard.
The app works without any API key: briefings fall back to a local simulated preview so the scouting flow is always usable.
Free API key setup (optional, for live AI briefings)
-
Get a free Gemini API key at aistudio.google.com/apikey — no billing required.
-
Copy
.env.exampleto.env.localand paste your key:GEMINI_API_KEY=your-key-here
Stretching the free tier
-
Key pool rotation: free-tier quota is per key. Provide several free keys comma-separated and Aruna automatically rotates to the next key when one hits its quota (429):
GEMINI_API_KEY=key1,key2,key3
-
Model choice:…
Repository:
https://github.com/Harshtank-io/aruna
How I Built It
Tech Stack
- Next.js 16 (App Router)
- React 19
- Tailwind CSS v4
- MapLibre GL
- SunCalc
- React Hook Form
- Zod
- Google Gemini AI
Turning a passion into a product
The goal was simple:
Build the Google Maps experience photographers actually need.
That meant the map couldn't just display a marker—it needed to understand the light.
Every pin becomes the source for real astronomical calculations, allowing the AI to produce useful recommendations based on actual lighting conditions instead of hallucinated times.
Interactive map
Aruna uses MapLibre GL with 3D terrain powered by free elevation data.
Features include:
- Search any location
- Click anywhere to drop a pin
- Forward & reverse geocoding using Nominatim
- Smooth desktop experience
- Mobile-first fullscreen map with bottom drawer
Accurate light calculations
Using SunCalc, Aruna calculates:
- Sunrise
- Sunset
- Golden Hour
- Blue Hour
- Solar position
- Sun bearing
These values are generated mathematically and then injected into the AI prompt so every briefing is grounded in real-world data.
AI Scouting Brief
Google Gemini generates a structured scouting guide that includes:
- Location overview
- Lighting recommendations
- Best shooting angles
- Composition ideas
- Lens suggestions
- Camera settings
- Gear recommendations
- Access considerations
- Creative shooting ideas
The AI enhances the real astronomical data instead of replacing it.
Photography inspiration
Rather than returning generic images, Gemini helps generate search queries that are then used against:
- Wikimedia Commons
- Openverse
This provides style-specific inspiration for categories such as:
- Landscape
- Astro
- Street
- Portrait
- Wildlife
Reliable free-tier AI
To make development practical on free API limits, Aruna supports multiple Gemini API keys.
If one key reaches a rate limit (429), it automatically rotates to the next.
If every key is exhausted, the application gracefully falls back to a locally generated scouting briefing while still using the real SunCalc data, ensuring the experience never completely fails.
UI & Design
The interface was intentionally kept calm and minimal.
Inspired by modern editorial and Awwwards-style layouts, it features:
- Clean typography
- Botanical hero artwork
- Two-color visual system
- Minimal distractions
- Focus on the map and scouting workflow
The goal was to create a tool photographers would genuinely enjoy using before every shoot.
🟢 Best Use of Google AI
Google Gemini powers the intelligent scouting assistant by transforming accurate light data into practical, location-aware photography guidance. Instead of generating generic advice, the AI builds on deterministic astronomical calculations to produce meaningful recommendations photographers can actually use in the field.
Thanks for reading!
Building Aruna combined two passions—software engineering and photography. It was exciting to turn a personal workflow into a tool that helps photographers spend less time planning and more time creating.
#googleai #webdev #showdev
Top comments (0)