Commit Graph

4 Commits

Author SHA1 Message Date
Jeff Emmett 1aec028c52 feat: switch to RunPod proxy for Gemini image generation
- Use RunPod serverless endpoint (US-based) to bypass EU geo-restrictions
- Add RUNPOD_API_KEY and RUNPOD_GEMINI_ENDPOINT_ID env vars
- Add fallback to direct Gemini API if RunPod not configured
- Endpoint ID: ntqjz8cdsth42i

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 22:10:13 -05:00
Jeff Emmett 2e855c8875 chore: add explicit GEMINI_PROXY_URL env variable
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 20:01:37 -05:00
Jeff Emmett 584428d028 fix: use IPv4 address in healthcheck to fix Traefik detection
The healthcheck was using localhost which resolves to IPv6 [::1],
but Next.js only listens on IPv4. Changed to 127.0.0.1.
Also removed deprecated 'version' key from docker-compose.yml.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 18:59:55 -05:00
Jeff Emmett efc6b8158b feat: add prompt-to-print web app at zine.jeffemmett.com
Full-stack Next.js 15 web application for creating mycro-zines:

Features:
- Text or voice input for concept description
- Style/tone selection (punk-zine, minimal, collage, etc.)
- AI-powered outline generation via Gemini
- 8-page image generation with refinement loop
- Print-ready PNG download (300 DPI)
- Shareable zine URLs (/z/[id])

Tech stack:
- Next.js 15 with App Router
- Tailwind CSS v4 + Radix UI
- Gemini API for text and image generation
- Sharp for print layout assembly
- Docker + Traefik for deployment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 17:55:39 -05:00