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 β’ Updates
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
- π¬ Science-Based - Explanations of why each profile works
- β‘οΈ Modern Techniques - Turbo shots, flow profiling, and more
- π REST API - Integrate with any automation system
- π³ Self-Hosted - Runs on Raspberry Pi or any Unix server
- π Open Source - Customize and extend as you like
- π‘ Update System - One-command updates for all components
- π macOS Dock Integration - Optional dock shortcut for quick access
- π± QR Code Setup - Easy mobile access during installation
- π Automatic Updates - Built-in update system with web UI support
- π URL Integration - Control via curl from any HTTP-capable device
- π 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, or Linux computer)
- βοΈ A free Google Gemini API key β Get yours here (takes 30 seconds)
Option 1: macOS Installer App (Easiest for Mac users)
Download and run the standalone installer app - completely GUI-based, no terminal at all!
- Download the installer: MeticAI-Installer.dmg (coming soon)
- Open the DMG and drag "MeticAI Installer" to Applications
- Launch the app and follow the graphical prompts
The app will guide you through everything via dialogs:
- β Checking prerequisites (with helpful install links)
- β Choosing installation location
- β Entering API key and IP addresses
- β Background installation with progress feedback
- β Auto-opens web interface when complete
No Terminal window - 100% graphical!
β Learn more about the macOS installer
Option 2: One-Line Install (Recommended for terminal users)
curl -fsSL https://raw.githubusercontent.com/hessius/MeticAI/main/web_install.sh | bashThat's it! The installer will:
- β Check for and install prerequisites (git, docker, docker-compose)
- β Detect and handle any existing MeticAI installations
- β Stop and remove running MeticAI containers if found
- β Guide you through setup (just paste your API key and machine IP)
- β Download and start all services
- β Show a QR code to access the web interface from your phone
- β [macOS only] Optionally create a Dock icon for quick access
Option 3: Manual Install
git clone https://github.com/hessius/MeticAI.git
cd MeticAI
./local-install.shAfter installation completes, scan the QR code with your phone or visit http://YOUR_SERVER_IP:3550 in a browser!
Reinstalling or Upgrading?
If you already have MeticAI installed, the installer will:
- Detect existing containers and installation artifacts
- Offer to run the uninstall script first for a clean installation
- Allow you to continue anyway if you prefer to reuse existing configuration
For a clean reinstall, it's recommended to run ./uninstall.sh first.
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:8000/analyze_and_profile \
-F "file=@coffee_bag.jpg"With text preferences:
curl -X POST http://YOUR_IP:8000/analyze_and_profile \
-F "user_prefs=Bold and chocolatey"With both:
curl -X POST http://YOUR_IP:8000/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 has automatic updates built in!
Quick update:
./update.shCheck without updating:
./update.sh --check-onlyThe system automatically:
- β Checks all components for updates
- β Shows what's new
- β Updates and rebuilds containers
- β Can even update from the web interface!
β Full update system documentation
Need to remove MeticAI? We've got you covered with a clean uninstallation process.
Run the uninstaller:
./uninstall.shThe uninstaller will:
- β Stop and remove all Docker containers
- β Remove Docker images built by MeticAI
- β Remove cloned repositories (meticulous-source, meticai-web)
- β Remove configuration files (.env, settings)
- β Remove macOS integrations (Dock shortcut, rebuild watcher)
- β Ask about external dependencies (Docker, git, qrencode)
Safe by default:
- External dependencies are NOT automatically removed
- You'll be asked to confirm before removing anything
- Summary shows what was removed and what was kept
Note: The uninstaller doesn't remove Docker, git, or other tools unless you explicitly choose to do so. This is safe if you use these tools for other projects.
MeticAI doesn't just create recipesβit creates experiences with:
π― Witty Profile Names
- "Slow-Mo Blossom" for gentle light roasts
- "Choco-Lot Going On" for bold chocolatey extractions
- "Warp Speed Espresso" for turbo shots
π Complete Guidance Every profile includes:
- βοΈ Recommended dose and grind settings
- π‘οΈ Temperature recommendations
- π¬ Scientific explanation of why it works
- βοΈ Any special equipment notes
π Modern Techniques Supports advanced espresso methods:
- Multi-stage extractions
- Pre-infusion and blooming
- Pressure profiling and flow control
- Turbo shots and more
β See example profiles and dialogues
- π± iOS Shortcuts Setup Guide
- π Update System Guide
- π Logging & Diagnostics
- π§ Troubleshooting
- π API Documentation
- ποΈ Technical Architecture
- π§ͺ Testing Guide
- π Security Notes
Prerequisites not installing:
- The script auto-detects your OS and installs what's needed
- On unsupported systems, manually install: git, docker, docker-compose
- See TECHNICAL.md for manual setup
Can't connect to machine:
- Verify your Meticulous machine is on the network
- Check the IP address is correct in your
.envfile - Ensure both devices are on the same network
"Connection Failed" errors:
- Make sure MeticAI is running:
docker ps - Check you're on the same network as the server
- Verify the IP address in your requests
Profiles not appearing on machine:
- Check the MCP server logs:
docker logs meticulous-mcp -f - Verify
METICULOUS_IPin.envis correct - Ensure the machine's API is accessible
Poor coffee analysis:
- Take photos in good lighting
- Ensure the label is clear and in focus
- Try adding text preferences to guide the AI
Check detailed logs:
# View structured error logs
tail -f logs/coffee-relay-errors.log | jq .
# View all logs
tail -f logs/coffee-relay.log | jq .
# Or via API
curl "http://localhost:8000/api/logs?level=ERROR&lines=100"
# See LOGGING.md for more detailsCheck container logs:
# All services
docker compose logs -f
# Specific service
docker logs coffee-relay -f
docker logs gemini-client -f
docker logs meticulous-mcp -fRestart services:
docker compose restartFull reset (recommended - uses wrapper script for correct permissions):
./docker-up.shFull reset (manual - may require permission fix on Linux):
docker compose down
docker compose up -d --build
# If you used sudo, fix permissions:
sudo chown -R $(id -u):$(id -g) data logs meticulous-source meticai-webFor comprehensive troubleshooting and log analysis, see LOGGING.md.
MeticAI is built on the excellent Meticulous MCP project by twchad and its containerized fork by @manonstreet, which provides the essential interface for controlling the Meticulous Espresso Machine.
- Google Gemini 2.0 Flash - Vision AI and reasoning
- FastAPI - Backend API framework
- Docker - Containerization and deployment
- React - Web interface
- Python - Core application logic
MeticAI is open source and welcomes contributions!
- π View the code on GitHub
- π Report issues
- π‘ Contribute improvements
Made with βοΈ, β€οΈ, and π€
Get Started β’ Features β’ Documentation