Self-hosted photo printing kiosk. WiFi hotspot, photo editing, instant 4x6 prints — no internet required.

Features

📶

WiFi Hotspot

Turn any machine into a hotspot with captive portal. Guests connect and start uploading instantly.

✂️

Image Editor

Crop, rotate, adjust brightness/contrast/saturation. Per-photo edits with persistent state.

🎨

Templates

Project-level overlays and text with landscape + portrait support. Copy between orientations.

🖨️

Print Queue

CUPS integration with multi-printer support. Round-robin or manual assignment. Configurable copies.

📸

Photo Booth

Live camera viewfinder with countdown timer. Capture, edit, and print — all from the browser.

🔒

HTTPS + Offline

Auto-generated TLS certificates for camera access. Runs entirely offline on local network.

📱

Mobile-First

Touch-friendly UI designed for phones. QR codes for easy project access.

🔧

Admin Dashboard

Photo review, queue management, project settings, printer configuration, font uploads.

🌐

Cross-Platform

macOS, Linux, Raspberry Pi. Single binary deployment. Docker for development.

Quick Start

# Clone git clone https://github.com/scout-kit/fine-print.git cd fine-print # Install dependencies make deps # Run in development mode make dev # With HTTPS (for camera access on LAN) FINEPRINT_TLS=1 FINEPRINT_PORT=8443 make dev # Build for production make all # Cross-compile for Raspberry Pi make build-pi

Open http://localhost:8080 — default admin password: changeme

Built With

Single binary. No external services. Pure Go image processing.

Go

Backend, API, image pipeline

SvelteKit

Frontend SPA, embedded in binary

Fabric.js

Canvas editor, crop, overlays

SQLite / MySQL

Dual database support

CUPS

Printer integration

miekg/dns

Captive portal DNS hijack