Designer builds native Mac photo tagging app with Claude Code and local vision model

A designer and street photographer built a native Mac app called Loupe using Claude Code without prior Xcode experience. The app solves the problem of searching untagged photos across folders and drives by analyzing images and generating descriptions and keywords.
Technical implementation
Loupe is a SwiftUI Mac app that uses a local vision model (minicpm-v via Ollama) to analyze photos and generate descriptions and keywords. After reviewing and correcting tags, the app writes standard IPTC/XMP metadata into the files, making them compatible with Lightroom, Capture One, and Finder.
Development process with Claude Code
The developer wrote PRDs, designed screens in Figma, connected the Figma MCP, and had Claude Code build the app screen by screen. Claude Code handled setting up the Xcode project, code signing, and TestFlight upload despite the developer having never opened Xcode before starting the project.
App features
- Parallel processing with hardware auto-detection
- Tag editor with keyboard shortcuts
- Vocabulary system with trigger words
- Learning system that adapts to your tagging style
- Full onboarding flow
The app is currently in beta and available at tagwithloupe.com.
📖 Read the full source: r/ClaudeAI
👀 See Also

Debugging a Tiny AI Agent on an Old Nokia Phone: 18 Attempts to Success
A developer documented 18 failed attempts to run Picobot, a ~12 MB AI agent, on an old Nokia phone via Termux, testing free models, OpenRouter, and Groq before settling on Google's Gemini Flash API for a fast, reliable setup.

Using Claude Code for Go-to-Market Operations: Context Engineering Patterns
A developer shares practical patterns for using Claude Code beyond coding, specifically for running go-to-market operations including scraping, enrichment, databases, email infrastructure, and multi-platform content. Key techniques include CLAUDE.md files, session scoping, CLI tools over MCP servers, and subagents for heavy lifting.

Claude Sonnet 4.6 Grades Bug Reports from Four Qwen3.5 Local Models
A developer tested four Qwen3.5 variants by having them generate bug reports for an iOS game issue, then had Claude Sonnet 4.6 grade the reports. The models correctly identified a Swift bug where equipment border colors don't reset, but test code had compilation issues.

Running Local LLM Agents on Mac Minis with Telegram Interface
A developer shares a setup using 5 local LLM agents on Mac Minis, controlled via Telegram bots with zero API costs. The system uses LMStudio to serve models, tmux sessions for Claude Code, and 80 lines of Python for the Telegram bridge.