Upload a photo, pay 100 sats via Lightning Network, and Gemini 2.5 Flash identifies the top 3 most likely locations the photo was taken.
- Next.js 16 (App Router)
- @moneydevkit/nextjs — Lightning Network checkout loop
- Google Gemini 2.5 Flash — geospatial-intelligence analysis
- shadcn/ui — component design
- Vercel — deployment
git clone <repo>
cd mdk
npm installcp .env.local.example .env.localFill in:
| Variable | Where to get it |
|---|---|
MDK_ACCESS_TOKEN |
moneydevkit.com/dashboard or npx @moneydevkit/create |
MDK_MNEMONIC |
Same as above |
GEMINI_API_KEY |
aistudio.google.com/app/apikey |
npm run devFor local Lightning payments you need to expose your dev server:
ngrok http 3000Then set your app URL in the MDK dashboard to https://<your-ngrok-id>.ngrok-free.app.
vercel deployAdd the three environment variables (MDK_ACCESS_TOKEN, MDK_MNEMONIC, GEMINI_API_KEY) in your Vercel project settings, then set your app URL in the MDK dashboard to your Vercel deployment URL.
Images are never stored server-side. The uploaded photo is held in sessionStorage for the duration of the checkout redirect and deleted from the browser immediately after the Gemini analysis completes.