GIL NETO
Founder-Engineer & Senior Software Engineer, AI Products
Senior engineer with 12 years' experience. I ship B2B utilities end-to-end — infrastructure to UI — solo, and I build LLM-backed systems where the model does judgment and deterministic code does correctness. Currently on a single Hetzner VPS: Kelaro (live accounting-automation SaaS), Koa (Python document-extraction engine, the deliberate alternative to vision-LLM extraction), and Augur (GRC tooling, EU-residency, parked).
Philosophy
→Infrastructure-First
I own the boundary — from Cloudflare DNS to React component. Three products live on a single Hetzner CCX23: Docker, Nginx, Postgres 16, Temporal, self-hosted analytics, all containerized and reproducible. Runbooks and an infrastructure map kept in sync with prod.
→AI-Augmented Execution
AI coding agents kill boilerplate. That frees me to spend cycles on system architecture, data modeling, and business logic — not scaffolding. The result: solo-shipping multiple products without cutting corners on tests, types, or observability.
→Scope Discipline
Code is a tool to solve business friction and, as such, I build stateless, low-liability utilities with operational impact. Currently, six projects parked and three shipped.
Experience
Independent Founder-Engineer
Building and operating B2B utilities solo — infrastructure, backend, UI, billing, ops — on a single Hetzner CCX23 VPS, plus contract work as a senior full-stack engineer on AI product teams.
- →Kelaro (live, kelaro.io) — accounting-automation SaaS in closed beta with active pilots (PT chartered accountant, NL).
- →Koa — deterministic document-extraction engine powering Kelaro's pipeline, built as the deliberate alternative to vision-LLM extraction: balances must reconcile, and it refuses loudly rather than returning a plausible total.
- →Augur (tryaugur.eu) — GRC tooling for AI governance, EU data residency by design. Parked since July 2026 on capacity, not on thesis.
- →Single-VPS multi-product topology: Nginx, Docker, Postgres 16, Temporal, ImprovMX, Brevo SMTP. Authored infrastructure map and runbooks.
- →Agentic development pipeline with a decision gate ahead of specification, plus an agent-run knowledge system where guarantees live in lifecycle hooks rather than prompts.
Lead Software Engineer
Promoted to Lead. Drove monolith-to-microservices migration and feature delivery across the enrichment platform while managing a development team.
- →Owned feature delivery for high-traffic enrichment pipelines processing data at production scale.
- →Designed and shipped the LLM-integration layer (prompt orchestration, structured-output extraction) powering production enrichment workflows.
- →Stood up the observability stack (Grafana, CloudWatch, structured logging), reducing incident MTTR.
- →Mentored junior engineers across teams of 4–5. Introduced code-review and CI quality gates that lowered regression rate.
Senior Software Engineer
Joined as Senior to tackle full-stack challenges in a high-paced environment.
- →Built and maintained a scalable design system consumed across multiple product surfaces.
- →Owned front-end architecture decisions (state, routing, build) across feature teams.
- →Drove client-facing projects across sectors (health, retail, others).
Front-end Lead Developer
Built and led the front-end for Glartek's core industrial-IoT product across multiple iterations. Defined the component library, build pipeline, and front-end architecture that supported enterprise deals with industry-leading manufacturing and oil & gas companies.
Analyst / Consultant
Delivered features across multiple enterprise applications. Final two years: on-site systems administrator for a major oil & gas project in Kuwait, owning operations and incident response.
Shipped Projects
Kelaro ↗
Live · Closed BetaAccounting-Automation SaaS
B2B SaaS for fractional CFOs and accountants. Ingests bank PDFs and Open Banking (PSD2) feeds, runs deterministic extraction via an internal engine (Koa) orchestrated by Temporal, and emits accountant-ready datasets. Active pilots: PT chartered accountant + NL.
Next.js + Postgres 16 + Temporal workflows on Hetzner. Stripe integration with founder-discount pipeline (coupons, promo codes, 30-day trial). Admin dashboard for Users / Waitlist / Promo Codes / MRR. OAuth 2.0 against GCP and Azure Entra ID enterprise tenants.
Augur ↗
ParkedGRC Tooling for AI Governance
Compliance and audit tooling targeting EU-regulated buyers. Designed for full EU data residency end-to-end — self-hosted analytics, EU-only infra, no third-party trackers. Landing live and lead capture wired. Parked since July 2026: the thesis was never disproven, capacity was the binding constraint.
Fastify + Postgres on Hetzner behind Nginx with TLS. Self-hosted Umami for privacy-first analytics. ImprovMX inbound mail. Same VPS as Kelaro — single-box multi-product topology.
Koa
EngineDeterministic Document Extraction — the Alternative to Vision-LLM
Config-driven extraction system that turns bank-statement PDFs into structured JSON. Built deliberately against the vision-LLM approach: balances have to reconcile and the engine refuses loudly when they don't, rather than returning a plausible total. A confidence score is not a proof. Three components: a Python/FastAPI engine, a Next.js + Prisma mapper UI for authoring per-bank templates, and an isolated PII scrub container. Powers Kelaro's extraction pipeline.
Python 3.12 / FastAPI with pdfplumber + pikepdf for native PDFs and Tesseract / PaddleOCR fallback for scans. Pydantic schemas end-to-end. mypy strict, ruff, CI-gated, auto-deployed via GitHub Actions on push to release branch.
Tech Stack
Languages
Frameworks & Runtime
Infrastructure & Cloud
Integrations
-
The index was lying and the eval knew
Six weeks after I fixed capture with hooks, my second brain was still confidently wrong. The nightly test had been saying so for a month. Nobody read the number.
-
My agent had two rules and obeyed neither
Both rules were well written. They contradicted each other and I hadn't noticed, because writing a rule and making a decision are not the same job.
-
Running a second brain on an LLM agent that forgets
I told the agent to save my context. Sometimes it did. The fix wasn't a better prompt - it was hooks, structure, and economics.