I build software that runs businesses: full-stack apps, AI agents and workflow automation. 17 years writing production code, first on public-sector systems in Brasília and, since 2019, through my own software company, OlmedaTech. Some recent work: a WhatsApp multi-agent service (n8n + Chatwoot) that ran in production for over two years; a Go service that syncs a dental group's legacy MS Access ERP to cloud MySQL in real time, which together with n8n pre-scheduling cut lost patients by more than 75%; RAG support agents on Supabase/pgvector; MCP servers; daily work with Claude Code. Stack: TypeScript, React/Next.js, Node, Python, Go, Java/Spring, PHP. PostgreSQL, MySQL and SQL Server (long-time DBA), Supabase. Docker, Google Cloud and my own VPS. n8n and Make. I work remotely, 14:00–23:00 CET, which covers US Central mornings. Written, async communication suits me best. Based in Altea (Alicante), Spain, with work authorization for up to 30 hours per week. Available for part-time engagements or fixed-scope projects, invoiced through my Spanish company, OlmedaTech Soluciones Digitales S.L.…

Emerson Cardoso

Verified

I build software that runs businesses: full-stack apps, AI agents and workflow automation. 17 years writing production code, first on public-sector systems in Brasília and, since 2019, through my own software company, OlmedaTech. Some recent work: a WhatsApp multi-agent service (n8n + Chatwoot) that ran in production for over two years; a Go service that syncs a dental group's legacy MS Access ERP to cloud MySQL in real time, which together with n8n pre-scheduling cut lost patients by more than 75%; RAG support agents on Supabase/pgvector; MCP servers; daily work with Claude Code. Stack: TypeScript, React/Next.js, Node, Python, Go, Java/Spring, PHP. PostgreSQL, MySQL and SQL Server (long-time DBA), Supabase. Docker, Google Cloud and my own VPS. n8n and Make. I work remotely, 14:00–23:00 CET, which covers US Central mornings. Written, async communication suits me best. Based in Altea (Alicante), Spain, with work authorization for up to 30 hours per week. Available for part-time engagements or fixed-scope projects, invoiced through my Spanish company, OlmedaTech Soluciones Digitales S.L.…

Available to hire

I build software that runs businesses: full-stack apps, AI agents and workflow automation. 17 years writing production code, first on public-sector systems in Brasília and, since 2019, through my own software company, OlmedaTech.

Some recent work: a WhatsApp multi-agent service (n8n + Chatwoot) that ran in production for over two years; a Go service that syncs a dental group’s legacy MS Access ERP to cloud MySQL in real time, which together with n8n pre-scheduling cut lost patients by more than 75%; RAG support agents on Supabase/pgvector; MCP servers; daily work with Claude Code.

Stack: TypeScript, React/Next.js, Node, Python, Go, Java/Spring, PHP. PostgreSQL, MySQL and SQL Server (long-time DBA), Supabase. Docker, Google Cloud and my own VPS. n8n and Make.

I work remotely, 14:00–23:00 CET, which covers US Central mornings. Written, async communication suits me best.

Based in Altea (Alicante), Spain, with work authorization for up to 30 hours per week. Available for part-time engagements or fixed-scope projects, invoiced through my Spanish company, OlmedaTech Soluciones Digitales S.L.

See more

Experience Level

Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Expert
Intermediate
Intermediate
Intermediate
Intermediate
Intermediate
Intermediate
Intermediate
See more

Language

Portuguese
Fluent
English
Advanced
Spanish; Castilian
Advanced

Work Experience

Founder & Lead Engineer at OlmedaTech Soluciones Digitales S.L. (Spain)
July 2, 2026 - Present
Spanish arm of OlmedaTech, delivering software engineering, AI agents and workflow automation to clients in Europe and the US on a B2B basis. Full-stack builds (React/Next.js, Node, Python, Go), RAG and LLM integrations on Supabase/pgvector, MCP servers, and n8n/Make automations running on my own infrastructure and Google Cloud.
Founder & CTO at OlmedaTech (Brazil)
February 1, 2019 - Present
Software company I founded in Brasília, building web and mobile systems, integrations and automation for private clients. Highlights: a WhatsApp multi-agent service (n8n + Chatwoot) in production from 2022 to 2024; a Go real-time sync service mirroring a dental group's legacy MS Access ERP to cloud MySQL, which together with n8n pre-scheduling cut lost patients by more than 75% in three months; a digital prize/scratchcard platform on Next.js and Supabase (Edge Functions in production). Stack: React/Next.js, Node, Python, Go, PHP, Flutter, PostgreSQL/MySQL, Docker, VPS and Google Cloud.
Systems Lead, idCultura platform at Federal District Secretariat of Culture (Brasília)
January 1, 2011 - December 31, 2015
Designed and led the development of idCultura, the platform that managed the Federal District's cultural funding: registration and validation of artists and organisations, project submission, evaluation and final selection, supporting grants, direct investment and public calls. Over its life it administered more than US$25M in funding for 5,000+ users and stayed in use until 2019. Small team of 1–5 developers, working as a seconded public servant.
Technology roles (systems development, emergency operations centre, strategic projects) at Public Safety Agency, Brasília
December 31, 2008 - February 26, 2026
Head of Systems Development, Head of the 190 Emergency Operations Centre and Head of Strategic Projects before retiring in 2026. In-house systems on SQL Server, Java/Spring and PHP, process mapping (BPM) and project management (PMBOK).

Education

Master's in Governance, Technology and Innovation (in progress) at Universidade Católica de Brasília
February 2, 2025 - May 31, 2027
Research on AI governance for decision-making in public safety organisations.
Postgraduate Specialisation in Web Systems Development at ISCP
February 2, 2010 - December 2, 2011
Technologist Degree in Data Processing at Universidade Católica de Brasília
February 10, 1992 - December 10, 1994

Qualifications

Add your qualifications or awards here.

Industry Experience

Government, Professional Services, Software & Internet, Education, Other
    RPA + AI: Automated Document Checks on Government Portals (Python)
    Inspection files had to be checked one by one against several public-sector portals: open the site, search the record, read the document, write down what it says. I built an MVP that drives the portals with headless browser automation, pulls the documents, and uses an LLM to extract the fields that matter into a structured record ready for review. Delivered as a working proof of concept covering the full path from portal login to structured output. The project stopped at MVP and was not taken to production, so the claim here is a validated approach, not a system running at scale.…
    CRM and Campaign API Integration with OAuth 2.0 Token Rotation
    Connecting to a CRM whose API expires its tokens every hour, without a human refreshing anything. I split the integration into small n8n sub-workflows (refresh token, get workspace, create contact, pull campaign data), each callable on its own. A single refresh routine holds the current access token and every other flow calls it, so credentials live in one place and rotation is invisible to the rest of the system. This is the pattern I reuse for any OAuth 2.0 API: one refresh flow, thin sub-workflows, and an orchestrator that only knows about business steps.…
    AI Content Pipeline: Grounded Retrieval and Semantic Dedup in Python
    A client needed large batches of generated content that stayed factually anchored to source material and never repeated itself. The pipeline retrieves source passages, generates against them, then runs every candidate through embedding-based similarity checks before anything is accepted. Near-duplicates are rejected and regenerated. Output is validated against a schema, and failures are retried rather than dropped. Python, embeddings, vector similarity, batch orchestration and structured LLM output. Client details anonymised.…
    MCP Server: n8n Workflows as Tools for Claude and ChatGPT
    Assistants like Claude and ChatGPT can call tools through MCP. This project turns existing n8n workflows into those tools, so an assistant can book an appointment, look a customer up or trigger a business process directly. An MCP Server Trigger publishes a set of workflows over the protocol, and each workflow becomes a callable tool with a typed description. Auth is header-based, and every call goes through the same logging and error handling as the rest of the automation stack. Useful when you want an internal assistant that does things, not one that only answers questions.…
    Real-Time Sync: 20-Year-Old Desktop Database to Cloud MySQL in Go
    A dental group ran on a desktop ERP from the early 2000s. Changing it took months, so instead of touching it I mirrored it. A Go service reads the legacy database over ODBC, detects changes and streams them to a cloud MySQL replica over WebSocket, with reconnection and replay so nothing is lost when the clinic's connection drops. That replica is what made automation possible: appointment reminders and pre-scheduling now run on n8n against the cloud copy, and no-shows fell by more than 75% in the first three months. The legacy system was never modified.…
    RAG Support Agent: Document Ingest and Grounded Chat on n8n
    Two workflows that give a support bot a memory of your documents. Ingest: files come in, get chunked, embedded and written to a vector store. Chat: the agent receives a question, retrieves the relevant chunks and answers only from them, keeping conversation history per session. The point is grounding. If the answer isn't in the knowledge base, the agent says so instead of inventing one. In production I run the same pattern on pgvector/Supabase, with ingest triggered by a Drive folder or a webhook instead of a form. Stack: n8n, embeddings, vector store, retrieval tool, session memory.…
    Website Form to CRM: Company Enrichment + AI Lead Scoring in n8n
    Leads from a website form used to land in an inbox and wait. This flow turns each submission into a qualified CRM record in about four seconds. Form submission, then a company lookup against an enrichment API, then an LLM scores fit and buying intent against a fixed JSON schema (score, tier, reasoning, next action), and finally the contact is created in the CRM with those fields as custom attributes. The enrichment call retries three times and degrades gracefully, so an outage never drops a lead. Built on self-hosted n8n. The enrichment and CRM nodes swap for Apollo, HubSpot or Pipedrive without touching the logic.…
    WhatsApp Support Automation: Multi-Agent Router on n8n + Chatwoot
    A pet-care group was answering every WhatsApp message by hand. I built an n8n core that classifies each incoming message and routes it to one of four specialised agents (general info, sales, booking and loyalty), each with its own tools and memory. Anything the agents can't resolve is handed to a human in Chatwoot with the full conversation attached. A central logger writes every run to Postgres, so a failure is traceable instead of invisible. It ran in production from 2022 to 2024. Stack: self-hosted n8n (Docker), Chatwoot, Redis memory, Postgres, WhatsApp API, LLM agents with structured output.…