Fujimod
Try your camera firmware in the browser and build Fujimod SD boot files.
Real-time aurora visibility forecasts with AI-powered, carbon-optimized Green Path recommendations. Chase the Northern Lights sustainably. Built for Earth Day 2026.
LifestyleTypeScript · CSSGitHub @klee1611OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
🌌 Carbon-optimized aurora sighting dashboard — Earth Day 2026 Hackathon
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Sustainable Aurora Viewing — Earth Day Hackathon 2026
A real-time, carbon-optimized dashboard for aurora borealis sightings. Built for the dev.to Earth Day Weekend Challenge.
AuroraPath connects people with Earth's most spectacular natural phenomenon — the aurora borealis — while promoting sustainable travel. Instead of jumping in a car and driving to a dark-sky spot, AuroraPath shows you the best eco-friendly routes: public transit, carpooling, and low-carbon options, each with real CO₂ savings so you can chase the lights and tread lightly on the planet.
AuroraPath combines live NOAA space weather data with Google Gemini AI to help you:
Can't see the video? Download it here.
The headline number is NOAA SWPC's own aurora forecast: the probability of visible aurora from the OVATION Prime 30-minute forecast, read straight off its global 1° grid. AuroraPath does not model the aurora itself.
| Situation | Number shown |
|---|---|
| Location known | OVATION probability at your grid cell |
| No location yet | Highest OVATION probability anywhere in the Northern Hemisphere |
| Green Path gate | Highest OVATION probability within 300 km of you (the radius Green Path searches), so you are not blocked when the aurora is within travelling distance but not overhead |
| OVATION feed down | No number (null). Green Path returns 503 instead of guessing |
The forecast is valid ~30–90 minutes ahead of observation and refreshes every minute.
Implemented in lib/vscore.ts; the API field is still named avs for
compatibility.
Note that OVATION is the probability of aurora overhead at a point. NOAA notes that with a clear view of the poleward horizon you can sometimes see aurora up to ~1000 km away, so a low number at your exact location does not rule out a horizon display.
| Chance | Level | Meaning |
|---|---|---|
| 80–100% | 🌌 Excellent | Very likely overhead |
| 60–79% | ✨ High | Likely overhead |
| 35–59% | 🌠 Moderate | Reasonable chance |
| 10–34% | 🌃 Low | Faint or occasional; SWPC's map starts shading at 10% |
| 0–9% | 🌙 None | Unlikely |
An earlier version blended hemispheric power, the Newell solar wind coupling function and Kp into a custom 0–100 score with a dipole-based oval estimate. It was a reasonable approximation, but OVATION Prime is the operational model NOAA builds from those same inputs, so using its output directly is more reliable and easier to explain. The Kp and hemispheric power feeds that only fed the old score are no longer fetched.
All from NOAA SWPC, no API key required:
| Feed | Endpoint |
|---|---|
| OVATION aurora probability (headline number) | json/ovation_aurora_latest.json |
| Solar wind + IMF (propagated to the bow shock) | products/geospace/propagated-solar-wind-1-hour.json |
| G/R/S scales + forecasts | products/noaa-scales.json |
The system uses a two-layer identity model:
Key data flows:
GET /api/aurora — public endpoint, NOAA ingestion + OVATION probability lookup, 30 req/min IP rate limit.
Optional ?lat=&lng= reads the probability at that location; coordinates are rounded to 0.1° by the
client before being sentGET /api/geocode — server-side Nominatim proxy (hides user GPS coordinates from third parties)POST /api/green-path — requires Auth0 session cookie; verifies identity, checks/increments Upstash Redis quota, calls Gemini with M2M token| Framework | Next.js 14 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS |
| Map | react-leaflet + Stadia Maps |
| Charts | Recharts |
| AI | Google Gemini 3.1 Flash |
| Auth | Auth0 (SPA + M2M) |
| Cache / Quota | Upstash Redis |
| Data | NOAA Space Weather Prediction Center |
| Deploy | Vercel |
git clone https://github.com/klee1611/AuroraPath.git
cd AuroraPath
npm install
cp .env.example .env.local
Fill in .env.local:
| Variable | Where to get it |
|---|---|
AUTH0_SECRET | Run: openssl rand -hex 32 |
AUTH0_BASE_URL | Your app URL (e.g. http://localhost:3000) |
AUTH0_ISSUER_BASE_URL | Your Auth0 domain (e.g. https://dev-xxx.auth0.com) |
AUTH0_CLIENT_ID | Auth0 → Applications → Regular Web App |
AUTH0_CLIENT_SECRET | Auth0 → Applications → Regular Web App |
AUTH0_M2M_CLIENT_ID | Auth0 → Applications → Machine to Machine |
AUTH0_M2M_CLIENT_SECRET | Auth0 → Applications → Machine to Machine |
AUTH0_M2M_AUDIENCE | https://YOUR_DOMAIN.auth0.com/api/v2/ |
GEMINI_API_KEY | Google AI Studio |
UPSTASH_REDIS_REST_URL | Upstash console → Redis → REST API |
UPSTASH_REDIS_REST_TOKEN | Upstash console → Redis → REST API |
DAILY_GEMINI_LIMIT | Max AI calls per user per day (default: 5) |
Upstash is optional in development. If not set, an in-memory fallback is used automatically.
http://localhost:3000/api/auth/callbackhttp://localhost:3000npm run dev
npx vercel --prod
Add all .env.local variables in Vercel → Project Settings → Environment Variables.
Update Auth0 callback/logout URLs to your Vercel domain.
Built with 💚 for Earth Day 2026