Brifing

Photo Ferret: Open-Source AI-Powered Photo Gallery System

An AI-tagged photo gallery using TypeSafe's Jev model for slider-based browsing.

Hacker News: Show HN3 min

1AI-Driven Image Classification

Photo Ferret utilizes TypeSafe's Jev image model to automatically analyze and tag nature photography. The system evaluates dozens of scales, including color vividness, scene drama, and specific content like sky or water coverage. This metadata allows visitors to browse large collections using interactive sliders instead of traditional, manual scrolling methods.

2Local Authoring and Export

The project functions through a local authoring tool installed on the owner's computer. Users upload images, which are processed and tagged by the Jev model before being exported as a static site. This architecture ensures that the original, high-resolution files remain securely on the owner's local machine at all times.

3Privacy-Focused Metadata Handling

During the upload process, the system automatically strips sensitive metadata from images, including GPS coordinates, camera serial numbers, and contact details. Only essential data like orientation, date, and color profiles are retained. This ensures that the published gallery remains private and secure while maintaining the integrity of the image files.

4Browser-Based Filtering Engine

The public gallery runs entirely in the browser, using a generated data.json file to manage filtering, sorting, and facet counts. Users can interact with a sidebar to adjust sliders, select color palettes, or toggle yes/no tags. All filtering operations occur client-side, providing a responsive experience without requiring constant server-side database queries.

5Deployment on Cloudflare Workers

The static site is designed for deployment on Cloudflare Workers, leveraging their free tier to host up to 10,000 photos. The deployment process uses wrangler.jsonc to push the site assets. By separating the authoring environment from the public-facing static site, the project achieves high performance and scalability for large image collections.

6Technical Stack and Storage

The backend relies on Node 24 and SQLite for local data management, storing original files and derived webp thumbnails. The system uses a queue-based approach to process two images at a time through the Jev API. This modular design allows for easy updates to metadata schemas without requiring complex database migrations.

7Interactive Gallery Features

The interface includes a lightbox for viewing photo details, a slideshow mode with adjustable timing, and a grid view. Users can share specific filtered views via URL parameters, making it easy to distribute curated sets. The gallery supports various sorting methods, including random shuffling, date-taken, or specific slider-based dimension rankings.

8Model Limitations and Risks

The project relies on TypeSafe's preview features, which are not intended for production use and may change without notice. The author emphasizes that AI classifications are merely model guesses. Users are responsible for their own API costs and must ensure they are comfortable sharing uploaded images with the third-party analysis service.

9Open Source Implementation

Released under an MIT license, the code provides a blueprint for building AI-enhanced static galleries. By decoupling the classification logic from the presentation layer, the project demonstrates how developers can integrate generative AI models into personal workflows. It serves as a practical example of managing large media libraries with modern web tools.

Original article: Hacker News: Show HN — Photo Ferret: Open-Source AI-Powered Photo Gallery System