Builder · Lisbon, Portugal

Built an AI-ops platform from scratch

Full-stack engineer. Designed, deployed, and maintain a self-hosted production system: 10 live apps on a Raspberry Pi, Claude AI as a co-operator, and a fully automated dev pipeline — all built in about 6 months.

See the apps See the journey
46
GitHub repos
2053
Commits
10
Production apps
1
Raspberry Pi 5
0
Cloud bills

From day one

Every project has a commit history. Here's the infrastructure behind that history.

Pre-2025 · Local
Started building (no git yet)
First scripts, first Flask apps, first HACCP food-safety tracker for a restaurant kitchen. No version control — just files and iteration.
Python Flask SQLite
2025 · GCP
Moved to the cloud
Deployed first apps to Google Cloud Platform VMs. Got real with production traffic, systemd services, nginx reverse proxies, and the costs that come with it.
GCP VMs nginx systemd Cloudflare
2025-11-22 · First GitHub push
First repo: blip-app-council
Finally got on GitHub. An internal app for managing the ecosystem of apps — scheduling, health checks, monitoring. The foundation for everything that came next.
GitHub Flask
2026-04-25 · Sprint starts
Rebuilt everything from scratch
Three repos in one day: blip-prefs, blip-receipts, blip-ehr. Started the "blip-*" naming convention. Decided every project gets a permanent BLIP-NNN ID that never changes, even when names do.
blip-prefs blip-receipts blip-ehr
2026-05-01 · Queue system
blip-ask: operator queue + WebSocket PTY
Built a full task queue with a live terminal inside the browser. WebSocket-backed PTY means I can run any shell command from my phone. 120 commits, shipped in days.
WebSocket PTY 120 commits
2026-05-05 · Self-hosted
Migrated GCP → Raspberry Pi 5
Bought a Raspberry Pi 5. Migrated all apps off cloud VMs. Set up Cloudflare Tunnel for zero-config HTTPS. Now running 10 production Flask apps on a Pi in my apartment. Cloud bills: $0.
Raspberry Pi 5 Cloudflare Tunnel nginx 8 GB RAM
2026-05-07 · Infra + HACCP
blip-scan and blip-infra ship
blip-scan: production HACCP food-safety tracker with barcode scanning, DLC/FIFO expiry alerts, role-based access. blip-infra: static CDN via Cloudflare Pages for docs and mockups. 223 commits on blip-scan alone.
HACCP Barcode scan CF Pages 223 commits
2026-05-09 · Ops channel
blip-ops: AI-human collaboration panel
Built a two-way operator panel where I can paste context to Claude and it responds, all persisted in SQLite. Setup codes, operator actions, recommendations, phase gates — a full workflow engine.
Claude API SQLite Flask REST
2026-05-15 · Research DB
blip-research: price tracking + competitive intel
156 commits in 10 days. Tracks product prices across Amazon FR/ES/IT, LeBonCoin, eBay. Claude scrapes, observes, and surfaces findings. The DB drives multi-region shopping decisions.
Price tracking Multi-region 156 commits
Now · Scaling up
M920q dedicated server arriving
Lenovo ThinkCentre M920q from Amazon FR — dedicated home lab server. RPi stays as the low-power always-on node. M920q takes the heavy workloads. Building toward a multi-node self-hosted stack.
M920q Multi-node Home lab

The stack as it stands

Local Dev
Windows 11
Claude Code
GitHub
46 repos
GH Actions
RPi 5
10 apps
nginx + systemd
Cloudflare
Tunnel + DNS
CF Pages
Internet
HTTPS
my.jetblip.com

10 live apps

All running on a Raspberry Pi 5 in Lisbon. All production. Some of these solve real problems for a real restaurant.

blip-scan
BLIP-001
HACCP food safety tracker. Barcode scanning, DLC/FIFO expiry alerts, role-based access (chef, manager, admin), container movement ledger. Used in a real restaurant kitchen.
223 commits
port 8093
live at /blip-scan/
blip-ask
BLIP-002
Operator queue + live terminal. WebSocket-backed PTY lets me run any shell command from a browser or phone. Task queue with AI drafts, attachments, and decision gateway.
120 commits
port 8082
live at /blip-ask/
blip-ops
BLIP-105
AI-human operations panel. Two-way channel between Claude and me: setup codes, operator actions, recommendations, phase gates, snapshot diffs, full REST API. The nerve center.
labs monorepo
port 8120
live at /ops/
blip-research
BLIP-106
Price tracking and competitive intelligence. Observations DB, multi-region Amazon scraping (FR/ES/IT), Claude-powered analysis. Drives hardware BOM decisions with real market data.
156 commits
port 5050
live at /blip-research/
blip-inbox
BLIP-008
Email CRM. Transactional email via Gmail SMTP (free) or AWS SES (scale). Automated weekly DLC digest, DKIM/SPF/DMARC configured. Replaces expensive SaaS email tools.
port 8084
live at /blip-inbox/
blip-dock
BLIP-006
Bookmark + quick-access widget. Six display variants (A-F), role-based previews, shadow DOM encapsulation. The F variant embeds full-page popups inside the drawer without breaking the host page.
103 commits
widget · embeddable
Every project must be presence-independent, business-model-ready, reusable as a primitive, and self-sustaining. The goal is move-on velocity — compound autonomous income. If a stranger can't use it without my intervention, it's not done yet.
Jeremy Trindade · autonomy philosophy, May 2026

The stack

Every choice was deliberate. No framework churn. Flask and SQLite scale further than most projects need. The complexity is in the architecture, not the dependencies.

Backend
Python 3.12 Flask SQLite gunicorn REST APIs WebSockets
Infrastructure
Raspberry Pi 5 Cloudflare Tunnel nginx systemd SSH
DevOps
GitHub Actions Self-hosted runners CF Pages Wrangler CLI Deploy scripts
AI integration
Claude API Claude Code CLI Ops channel Memory rules Autonomous sessions
Frontend
Vanilla JS Shadow DOM Jinja2 CSS custom props No React
Email & DNS
AWS SES Gmail SMTP DKIM/SPF/DMARC Cloudflare DNS

Let's talk

Looking for a full-stack engineer who ships production systems, not just prototypes.

[email protected] GitHub →