I'm a backend developer at Lãberit, building hospital software on SINASUITE with Java and Spring.
Outside work I build Costia, a family of everyday apps with AI where it saves work. I take them end to end: product, backends, mobile clients, and the platform they run on. That platform is a GitOps cluster where AI agents do most of the routine engineering, and I review what they propose.
I'm most interested in AI agents, platform engineering and Kubernetes.
One Costia account and one Premium subscription work across every app. There are no ads in any of them.
| App | What it does | |
|---|---|---|
| 💸 | Costia Finance | Split bills and track spending; scan a receipt and let everyone tick theirs. iOS, Android and web, with a public API. |
| 🏋️ | Costia Training | A strength log that keeps a history rather than a number and tells you what to put on the bar next. Works offline in the gym. |
| 📦 | Costia Inventory | Map your home, record where things are, and find them again by searching or asking the assistant. |
| 🥗 | Costia Ambrosia | A meal planner for the whole household that turns the week's menus into a shopping list for each supermarket. |
| 🧩 | Costia Claude Tools | Your Claude Code setup (skills, hooks, MCP servers, AGENTS.md rules) as a Costia account: a catalogue you can install in any repo and share. |
| 🍽️ | Costia Menu · in progress | Software for restaurants: the menu on a site of its own, and ordering from the table. |
Stack: Spring Boot 4 on Java 25, Expo and React Native offline-first clients, PostgreSQL, and a shared platform for identity, subscriptions and AI.
The apps are maintained by a pipeline of AI agents. Every signal that needs code becomes an issue, and an agent works on it in an isolated sandbox. What comes out is a merge request. Agents propose and never merge. I approve every change, and Git is the only path to production.
flowchart LR
s1([User suggestions]) --> triage
s2([Production alerts]) --> triage
s3([Dependency updates]) --> triage
s4([Docs drift]) --> triage
triage{Triage} --> agent[AI agent<br/>in a sandbox]
agent --> mr[Merge request]
mr --> review[CI + my review]
review -->|merge| git[(GitOps repo)]
git --> argo[Argo CD]
argo --> k8s[Kubernetes]
k8s -. telemetry .-> s2
Underneath, Kubernetes operators do the heavy lifting: Argo CD, External Secrets, cert-manager, ExternalDNS, CloudNativePG and the Istio Gateway API. The Grafana stack provides metrics, logs and traces.
| Project | What it is |
|---|---|
| Manual Tasks · repo | A Claude Code plugin that records the manual steps only you can do (a console setting, a secret to seed, a review to answer) and lays them out on a board. |
| CubeDojo | A speedcubing app: a WCA-faithful timer, a path from the beginner method to full CFOP, and trainers for every case set. |
| Supermarket recommender | My degree's final project: a supermarket web shop that suggests personalised, sustainable recipes and favours products that are about to expire. Spring Boot, React, Elasticsearch hybrid search and an LLM. |
| gq | A yq-compatible YAML/JSON processor that preserves Go template syntax in .gotmpl files, built for Helmfile. Go |
| glaber | A desktop app for GitLab API chores without scripting: CI/CD variables, projects and package uploads. Tauri React |
| helm-utils | Helm and Helmfile utilities, including a JSON Schema generator for values.yaml. Bash |
| Mirage | A proxy that deploys on Vercel's free tier. TypeScript |
- external-secrets: fix(gitlab): return NoSecretErr for missing variables and allow empty values (open)
- expo: docs: recommend maintained React Native passkey library (open)
- SchemaStore: Helmfile schema fixes and new fields (merged)
Spanish and Catalan (native) · English (professional)



