Create, profile and understand your espresso. 1. Take a photo or describe your coffee. Get a perfect espresso profile. Automatically. 2. Understand your profiles, shot graphs by enabling shot comparison, analysis and AI-coaching
Get Started β’ Features β’ Web Interface β’ API
When I got my Meticulous, after a loooong wait, I was overwhelmed with the options β dialing in was no longer just adjusting grind size, the potential was (and is) basically limitless β my knowledge and time not so.
MeticAI is a growing set of AI tools to help you get the most out of your Meticulous Espresso machine. Among other things it lets you:
- π§ Automatically create espresso profiles tailored to your preferences and coffee at hand
- π Understand your espresso profiles and shot data like never before
- π¬ Get AI coaching to improve your technique
- βοΈ Unleash your Meticulous β no more guesswork, just great espresso
- π Beautiful Web Interface - Upload photos or describe preferences from any device
- π± Mobile Friendly - Works perfectly on your phone's browser
- π¨ Creative Recipe Names - Like "Slow-Mo Blossom" and "Choco-Lot Going On"
- π¬ Natural Language - Just describe what you want in plain English
- π€ Fully Automatic - From input to machine, no steps in between
- π― Advanced Profiling - Multi-stage extraction, blooming, pressure ramping
- π Detailed Guidance - Dose, grind, temperature recommendations
- π¬ Expert Knowledge - Explanations of why each profile works
- β‘οΈ Modern Techniques - Turbo shots, flow profiling, and more
- π REST API - Integrate with any automation system
- π Home Assistant - MQTT bridge for HA automations and entities
- π³ Single Docker Container - Simple deployment and updates
- π Open Source - Customize and extend as you like
- π Auto Updates - Optional Watchtower integration
- π± iOS Shortcuts - One-tap brewing from your iPhone
- π Remote Access - Optional Tailscale integration
- π Secure - Self-hosted means your data stays private
- π¨ Modern UI - Built with React and shadcn/ui for a polished experience
- βοΈ A Meticulous Espresso Machine (connected to your network)
- βοΈ A server to run MeticAI (Raspberry Pi, Mac, Linux, or Windows with Docker)
- βοΈ A free Google Gemini API key β Get yours here (takes 30 seconds)
Prerequisites: Docker and Docker Compose (Get Docker)
Linux / macOS:
Quick Install:
curl -fsSL https://raw.githubusercontent.com/hessius/MeticAI/main/scripts/install.sh | bashDocker:
docker pull ghcr.io/hessius/meticai:v2.0.6Upgrading from v1.x:
curl -fsSL https://raw.githubusercontent.com/hessius/MeticAI/main/scripts/migrate-to-unified.sh | bashWindows: See the Windows Installation Guide for PowerShell installer and Windows-specific notes.
macOS App Installer: Download from Releases β no terminal required.
Open http://YOUR_SERVER_IP:3550 in any browser to access the web interface!
- π API Reference
- πͺ Windows Installation
- π Updating & Migration
- π Remote Access (Tailscale)
- π Home Assistant Integration
- π± iOS Shortcuts
- π§ Troubleshooting
The web interface is the easiest and most powerful way to use MeticAI. Simply open http://YOUR_SERVER_IP:3550 in any browser.
Create a profile in 3 steps:
- Upload a photo of your coffee bag, or describe what you want - like "bold and chocolatey" or "light and fruity"
- Click Create Profile
- β¨ Done! The recipe is now on your machine
The web interface shows real-time status, analysis results, and generated profiles with full details. It works perfectly on mobile browsers too!
For automation and integration:
With a photo:
curl -X POST http://YOUR_IP:3550/api/analyze_and_profile \
-F "file=@coffee_bag.jpg"With text preferences:
curl -X POST http://YOUR_IP:3550/api/analyze_and_profile \
-F "user_prefs=Bold and chocolatey"With both:
curl -X POST http://YOUR_IP:3550/api/analyze_and_profile \
-F "file=@coffee_bag.jpg" \
-F "user_prefs=Traditional extraction"For power users who want one-tap brewing from their iPhone, you can create custom shortcuts.
MeticAI includes a real-time Control Center powered by the meticulous-addon MQTT bridge:
- Live telemetry β Real-time pressure, flow, weight, and temperature gauges
- Machine control β Preheat, tare, purge, abort, brightness, sounds, and more
- Live Shot View β Watch your extraction in real-time with live charts
- Auto-detection β Automatically detects when a shot starts and prompts you to watch
- Last Shot Banner β After a shot, offers one-tap analysis with AI coaching
- Home Assistant β MQTT bridge enables auto-discovery of 24 sensors + 11 commands in HA
The Control Center appears as a side panel on desktop and a full page on mobile. Enable it in Settings β Control Center β MQTT Bridge.
When the MQTT bridge is enabled, your Meticulous machine is automatically discoverable in Home Assistant.
- Start MeticAI with the Home Assistant overlay:
docker compose -f docker-compose.yml -f docker-compose.homeassistant.yml up -d
- In HA, add the MQTT integration and point it to your MeticAI server's IP on port 1883
- This enables automations like "notify me when my shot is done" or "preheat at 7am on weekdays"
β Full Home Assistant integration guide
cd ~/MeticAI
docker compose pull
docker compose up -dWith Watchtower enabled, updates happen automatically every 6 hours.
β Full update guide, migration from v1.x, and troubleshooting
cd ~/MeticAI
docker compose down -v # -v removes all volumes and data
rm -rf ~/MeticAINote: To verify volume names before removal, use docker volume ls
Access MeticAI from anywhere using Tailscale:
- Get an auth key from Tailscale Admin
- Enable during installation, or add manually:
cd ~/MeticAI
echo "TAILSCALE_AUTHKEY=your_key_here" >> .env
docker compose -f docker-compose.yml -f docker-compose.tailscale.yml up -dImportant: Both your MeticAI server and the device you're accessing it from must have Tailscale installed and connected to the same account. See the full Tailscale setup guide for HTTPS setup, troubleshooting, and more.
MeticAI v2.0 runs as a single unified container with five internal services managed by s6-overlay:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MeticAI Container β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β nginx (:3550) β β
β β Web UI + API Reverse Proxy β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βββββββββββββββββββββΌββββββββββββββββ β
β βΌ βΌ βΌ β
β ββββββββββββ βββββββββββββββ βββββββββββββββ β
β β Server β β MCP Server β β Gemini CLI β β
β β (FastAPI) β β(Meticulous) β β (AI) β β
β β :8000 β β :8080 β β β β
β ββββββββββββ βββββββββββββββ βββββββββββββββ β
β β β
β β MQTT β
β βΌ β
β ββββββββββββ βββββββββββββββββββ β
β βMosquitto ββββMeticulous Bridgeββββ Machine (Socket.IO) β
β β :1883 β β (MQTT Bridge) β β
β ββββββββββββ βββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Real-time telemetry: The meticulous-addon bridge connects to your machine via Socket.IO and publishes live sensor data (pressure, flow, weight, temperature) to the internal MQTT broker. The FastAPI server subscribes and pushes updates to the web UI via WebSocket.
Optional sidecars:
- Tailscale - Secure remote access
- Watchtower - Automatic container updates
# Container logs (stdout)
docker logs meticai -f
# Structured logs via API (last 100 entries, filterable by level)
curl http://<SERVER_IP>:3550/api/logs
curl "http://<SERVER_IP>:3550/api/logs?level=ERROR&lines=200"
# Restart a single service
docker exec meticai s6-svc -r /run/service/server# Check logs
cd ~/MeticAI && docker compose logs -f
# Check container status
docker compose ps- Verify the machine is on and connected to your network
- Check the IP address in your
.envfile - Try using the IP address instead of
meticulous.local
# Check relay logs specifically
docker compose logs meticai | grep -i errorcd ~/MeticAI
docker compose down -v # -v removes volumes
docker compose pull
docker compose up -dMIT License - see LICENSE for details.
- Meticulous for creating an amazing machine
- Google Gemini for AI capabilities
- pyMeticulous by Meticulous β official Python client for the Meticulous API
- meticulous-mcp by @twchad β MCP server for machine profile management
- meticulous-addon by @nickwilsonr β MQTT bridge for real-time telemetry and Home Assistant integration
Runs on pyMeticulous, meticulous-mcp, meticulous-addon, and caffeine β
Made with β€οΈ by @hessius