Commit Graph

10 Commits

Author SHA1 Message Date
Jeff Emmett b001e4eec8 fix: update Gemini model from 1.5-flash to 2.0-flash
The gemini-1.5-flash model is not available in the v1beta API.
Updated to gemini-2.0-flash for outline generation.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 19:11:34 -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 0c5f98b6fe fix: add public directory for Docker build 2025-12-18 18:16:17 -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
Jeff Emmett 2aa9dacfc4 feat: add timestamped filenames and --name flag for print layouts
- Print layouts now auto-generate unique filenames with timestamps
- Added --name/-n flag to customize zine name in filename
- Example files default to 'undernet' as zine name
- Added --help flag with usage examples

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 19:16:46 -05:00
Jeff Emmett 10d9459990 feat: add QR code generator for zine CTAs
- generateQRCode() - create QR codes with punk-zine colors
- generateQRCodeDataURL() - for embedding in HTML/canvas
- generateZineQRCodes() - batch generate multiple QR codes
- generateUndernetQRCodes() - preset for Undernet zine
- CLI support: node src/qrcode.mjs <url> [options]
- Default colors: black QR on green background

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 19:11:38 -05:00
Jeff Emmett 6b848ccd03 feat: regenerate all 8 zine pages with correct dimensions and fixed text
- All pages now 3:4 aspect ratio (fits 7cm x 10.8cm panels)
- Fixed spelling errors:
  - Page 2: Clear readable text for all concepts
  - Page 3: Proper "METAcelium" formatting
  - Page 7: Fixed garbled text, now reads correctly:
    "TO GOVERN WITHOUT BEING GOVERNED"
    "TO REVEAL WITHOUT BEING REVEALED"
    "TO COORDINATE WITHOUT COERCION"
    "TECHNOLOGY FOR COMMUNITIES, NOT CORPORATIONS"
- Improved visual consistency across all pages
- Generated using Gemini 2.0 Flash Exp

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 19:06:21 -05:00
Jeff Emmett 1ff7a68d4f fix: correct print layout for traditional mini-zine folding
- Paper orientation: landscape 11"x8.5" (US Letter rotated)
- Panel size: 7cm x 10.8cm (825x1275 pixels at 300 DPI)
- Layout: 4 columns x 2 rows
- Top row (upside down): pages 1, 8, 7, 6
- Bottom row (right side up): pages 2, 3, 4, 5
- Updated folding instructions in README

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 18:56:45 -05:00
Jeff Emmett 9987ea3722 chore: initialize backlog for task tracking
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 18:46:57 -05:00
Jeff Emmett d8b5c2cd88 feat: initial mycro-zine generator toolkit
- Single-page print layout (2x4 grid) for 8-page zines
- Prompt templates for AI content/image generation
- Example Undernet zine pages
- Support for US Letter and A4 paper sizes
- CLI and programmatic API

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 18:37:45 -05:00