Founding Software Architect
Integra.do (INAI)
Current · concurrent with GuBeeJul 2025 – Present
- Designed and built INAI from scratch. Its agents reply to real-estate leads on WhatsApp at any hour, qualify them and pass the good ones to brokers. Imobiliária Inglaterra has used it since January 2026, with about 4,000 leads a month
- Split the work among five agents (sales, billing, support, maintenance and new launches) with a router between them, which kept each agent small enough to test properly
- Built the WhatsApp and portal intake (ZAP, VivaReal, OLX, ImovelWeb) so leads are not lost or duplicated when something fails
- Picked a model size per task and put cost and latency per client on dashboards, which kept the LLM bill under control
- Wrote about 70% of the 2,400+ commits plus the architecture and roadmap docs; the rest of the team works on top of those standards
Context
INAI is Integra.do’s AI platform for real-estate companies. Its agent persona, Bruna, works as a digital SDR on WhatsApp: it qualifies leads coming from property portals and chat, searches and recommends listings, and hands qualified leads to brokers. Integra.do is part of the GuBee group. Imobiliária Inglaterra was the first client and has run on it since January 2026, with about 4,000 leads a month. I founded the codebase, CI and Kubernetes setup, wrote the AI core, and drive the roadmap that turns it into a multi-tenant SaaS.
Responsibilities
- Own the system architecture: hexagonal Kotlin services, multi-tenant data model, agent runtime and integration adapters
- Design the agent core: hybrid router (keyword + semantic + session affinity, LLM tie-break), agent-to-agent handoff and per-tenant overrides
- Build lossless ingestion: WhatsApp on Redis Streams (consumer groups, pending-entry recovery, per-tenant debounce) and ZAP, VivaReal, OLX and ImovelWeb leads with dedupe and replay protection
- Design retrieval: hybrid search (pgvector + SQL + full text fused with RRF) with a local ONNX cross-encoder reranker, and geo ranking on PostGIS and OpenStreetMap POIs
- Build the agent runtime: dynamic tools (HTTP, sandboxed GraalJS scripts, MCP), SpEL rules, Handlebars prompt templates, three-layer memory, semantic LLM cache and two-tier guardrails
- Control LLM cost and latency by tiering four models by task (chat, classification, insights, transcription) and tracking spend per tenant
- Write the platform roadmap (admin and RBAC, financing simulation, CRM connectors, SSO, developer portal and SDKs, voice) and sync it with Jira
Stack
Impact
- Went from an empty repository to the first client in production in about six months
- Led a hardening milestone: tenant isolation on 43 controllers, BCrypt API keys migrated with a dual-read window, about 200 blocking calls removed, oversized modules split
- About 3,200 automated tests cover the agent flows, routing and intake
- 11 Grafana dashboards make LLM cost, latency, prompt-cache hit ratio and the re-engagement funnel visible per tenant