Skip to content

Full-stack & AI engineer · Web, mobile and LLM agents

Open to full-time, contract and B2B work · Remote, hybrid or on-site

Essen, Germany (CET) · EU citizen, open to relocation

Luis Otavio

I build AI products end to end: the web app, the API and the LLM agent behind them, from an AI tutor on the web to WhatsApp bots for fire brigades.

  • 10,000+users on Tapnote's web app, which I built as sole developer
  • 3rd placein the Amazon Challenge with Terra Krya, R$ 100,000 in funding
  • 3+ yearsshipping production software, since Jan 2023
  • 125GitHub stars on my open-source WhatsApp assistant
Curupira · one agent on WhatsApp and Telegram that files fire reports, reads the fire-risk forecast and answers from brigade documents.

01 / Selected work

Things I haveshipped.

Featured work first, each broken down into the problem, what I built, the stack and the outcome. Everything else lives in the archive below.

01Tapnote, Poland2026Sole developer

Tapnote Web

Problem

Tapnote, a Polish AI study app with 30,000+ subscribers, lived on mobile. Students needed the same tutor on the web.

What I built

  • Architected the full-stack web app with Next.js, React, TypeScript, Tailwind CSS, Node.js and AWS, reaching feature parity with the native mobile app.
  • Engineered AI tutoring features with LLMs and RAG on a PostgreSQL / Supabase backend for context-aware homework help and personalized study assistance.
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Node.js
  • AWS
  • PostgreSQL
  • Supabase
  • LLMs
  • RAG

Impact

10,000+

users on the web app, for a study app with 30,000+ subscribers

  • Feature parity with the native mobile app
  • Context-aware tutoring grounded with RAG
web.tapnote.app (sign-in required)

02Akdo.ai, Germany2025–26Full-stack developer, team of 5

Enterprise Training Platform

Problem

Enterprises such as Siemens Energy, Henkel and Essity needed a training platform where courses could be drafted automatically, with each organization's users and data strictly isolated.

What I built

  • Architected the platform in Next.js, TypeScript and AWS, with LLM course generation and AI-assisted authoring tools.
  • Owned multi-organization authentication and tenant isolation with Better Auth.
  • Designed and shipped a peer review system so training creators receive structured feedback and ratings.
  • Implemented ISO/IEC 27001 controls with Kertos, supporting the company's certification.
  • Next.js
  • TypeScript
  • AWS
  • Better Auth
  • LLMs

Impact

50+

enterprise courses produced with the LLM authoring tools

  • Tenant isolation for 3+ client organizations
  • Supported the company's ISO/IEC 27001 certification
akdo.ai

03Terra Krya, Brazil2026AI Engineer

Curupira

Problem

Volunteer fire brigades in central Brazil coordinate in group chats, far from the Caminho do Fogo platform where alerts, fires and field actions are recorded. I build the AI agent; Terra Krya brings it to the brigades.

What I built

  • WhatsApp and Telegram agent with one shared memory: brigade members sign in from the chat, then report alerts and fires with a location pin and photos, each write confirmed before it is saved.
  • Fire status updates, field actions, area notifications and the INPE fire-risk forecast up to three days ahead, all by conversation.
  • RAG over 68 brigade documents with citations, plus voice notes in and out.
  • Forked from my open-source AI Agent Boilerplate, with 2,300+ pytest and Vitest tests and Sentry monitoring.
  • TypeScript
  • Fastify
  • Baileys
  • grammY
  • Python
  • FastAPI
  • Pydantic AI
  • Gemini
  • PostgreSQL
  • pgvector
  • Redis Streams
  • Docker

Impact

84 users

and 8,500+ messages across 10 brigade groups of 30+ people

  • Field reports reach the platform straight from the group chat
  • Brigades are notified when a fire is registered in their area
caminhodofogo.com.br

04Terra Krya, Brazil2026AI Engineer

OCA IÊ

Problem

Brazil-nut (castanha) collectors in northern Brazil sell with little visibility into what the harvest is fetching in other regions. I build the AI agent; Terra Krya brings it to the communities.

What I built

  • WhatsApp agent on the IE Sociobio platform: producers log prices just by talking, and compare their region with others.
  • A weekly regional recap posted to each group, with prices, harvest counters and phase, rewritten or rescheduled by asking the bot.
  • The Caderno da Safra harvest survey answered by conversation, plus operator broadcasts paced to stay clear of spam detection.
  • TypeScript
  • Fastify
  • Baileys
  • Python
  • FastAPI
  • Pydantic AI
  • Gemini
  • PostgreSQL
  • pgvector
  • Redis Streams
  • Docker

Impact

34 users

and 400+ messages across 5 producer groups of 10+ people

  • Prices shared across regions every week, from the platform's own data
  • Harvest survey filled in without leaving WhatsApp
iesociobio.org

05My product, pre-launch2026Sole developer

TourLore

Problem

Travelers either book a fixed group tour or piece a day together from blogs and maps. TourLore is an AI tour guide and trip planner for iOS and Android: it writes a personal walking tour for any city, narrates each stop, works offline and answers photo questions mid-walk.

What I built

  • Expo / React Native app with Expo Router, NativeWind, MapLibre maps, audio narration and offline mode, in a Turborepo monorepo with EAS builds.
  • Backend: a Hono + tRPC API on Google Cloud Run, Zod contracts shared with the app, Drizzle on Neon PostgreSQL, Inngest background jobs, Sentry and GitHub Actions CI.
  • An LLM tour-planning agent on the Vercel AI SDK and Gemini on Vertex AI, with tool calling, quality-gated by LLM-as-judge evals in Langfuse.
  • The Next.js 16 landing site in 30 languages (next-intl), with a Resend waitlist.
  • React Native
  • Expo
  • MapLibre
  • Hono
  • tRPC
  • Zod
  • Drizzle
  • Neon
  • Inngest
  • Vercel AI SDK
  • Gemini
  • Langfuse
  • Cloud Run

Impact

30 languages

on the landing site and waitlist, ahead of launch

  • Tour quality gated by LLM-as-judge evals before changes ship
  • One Zod contract shared by the app and the API
tourlore.co

06Open source2026Author

agent-mesh

Problem

When a change spans repos, you either restart in each repo and explain everything again, or let one AI agent edit a repo whose rules, hooks and conventions it never loaded.

What I built

  • A Python CLI where a lead agent hands each repo's part of a change to a Claude Code or Antigravity agent working inside that repo, in its own git worktree, with that repo's rules loaded.
  • Plan, review, execute: tasks are sized, strong models plan, the lead reviews each plan before any edit, and the same conversation executes on a cheaper model, switching models when a quota runs out.
  • Every PR gets cross-agent reviews from Claude Code, Gemini (Antigravity) and GitHub Copilot, and every agent runs in a terminal pane you can watch and type into.
  • Python
  • Shell
  • Claude Code
  • Antigravity
  • GitHub Copilot
  • git worktrees
  • herdr

Impact

640 tests

pytest tests over a 9,000+ line Python CLI

  • Expensive models plan, cheap models type
  • Used day to day across my repos, this portfolio included
Luisotee/agent-mesh

07Open source, WAppAIOSSOwner and lead developer

WhatsApp Chatbot Assistant

Problem

Bring context-aware LLM answers into the chat app people already use every day.

What I built

  • Open-source WhatsApp assistant that brings LLMs from OpenAI, Anthropic, Google, Groq or OpenRouter into chats through LangChain and LangGraph, with web search, Google Routes, voice messages and group chats, plus Google Calendar on OpenAI models.
  • Lead developer across 150+ commits.
  • TypeScript
  • Node.js
  • LangChain
  • LangGraph
  • Prisma
  • Docker

Impact

125 ★

GitHub stars and 39 forks

  • Most-starred repository on my profile
  • Forked 39 times by other developers
WAppAI/assistant

08Open source2025–26

AI Agent Boilerplate

Every new chat agent rebuilt the same base: tools, memory, document search, voice and the chat clients.

  • Pydantic AI agent on FastAPI with 22 tools, per-user memory and pgvector RAG (LlamaParse ingestion, Gemini embeddings, page-level citations).
  • Whisper speech-to-text and Gemini text-to-speech in 5 languages; WhatsApp and Telegram clients over Redis Streams.

2,400+ tests

pytest and Vitest; the base Curupira and OCA IÊ were forked from

Luisotee/ai-boilerplate
  • Python
  • FastAPI
  • Pydantic AI
  • pgvector
  • TypeScript
  • Redis Streams

09LangChain.js, open source2024

Google Routes Tool

LangChain.js agents had no native way to plan routes, so travel and logistics agents had to hand-roll Google Maps calls.

  • Contributed the Google Routes Tool to @langchain/community: agents can ask for routes, travel times and distances through Google's Routes API.
  • Shipped with integration tests, docs and an example, reviewed and merged by the LangChain maintainers.

565 lines

merged into @langchain/community, May 2024

langchain-ai/langchainjs#5329
  • TypeScript
  • LangChain.js
  • Google Routes API

10Awana Digital, USA2024

Amazon Challenge with Terra Krya

Make environmental data reachable through conversation instead of raw datasets.

  • Engineered autonomous AI agents with LangChain, Smolagents and Mem0 that power conversational interfaces for environmental data.
  • Led a 7-person team on Terra Krya's entry to Meta's Desafio WhatsApp pela Amazônia.

3rd place

Amazon Challenge, R$ 100,000 in funding

desafiopelaamazonia.com.br
  • LangChain
  • Smolagents
  • Mem0
  • Python

11Underdogs, Italy2024–25

Web Platform, CRM and Automation

Operations depended on third-party tools and hours of manual work every week.

  • Ran the company's IT infrastructure single-handedly, Kubernetes included, and built its web platform with Next.js, React and Tailwind CSS.
  • Replaced third-party tools with a custom CRM used by about 30 staff.
  • Automated 20+ business workflows with Zapier, n8n and Make, plus a company-wide LangChain and GraphRAG chatbot handling 100+ daily queries.

40+ h / week

of manual work saved (estimated) across 5 staff

  • Next.js
  • React
  • Tailwind CSS
  • Kubernetes
  • LangChain
  • Zapier
  • n8n
  • Make

02 / Experience

Where I haveworked.

Remote with teams in Germany, Poland, Italy, the US and Brazil, after starting on-site at Huawei.

  1. Jul 2026 – PresentBrazil · Remote

    Terra Krya

    AI Engineer (Freelance)
    • Build and run 2 production AI agents on WhatsApp and Telegram for volunteer fire brigades and Brazil-nut producers, used by 118 people in 15 groups (8,900+ messages).
    • Forked them from my open-source AI Agent Boilerplate; each bot runs 2,300+ tests, with Sentry monitoring and FleetView, a dashboard I built for the fleet's health and conversations.
    • Python
    • Pydantic AI
    • pgvector
    • TypeScript
  2. Feb 2026 – Jun 2026Poland · Remote

    Tapnote

    Full-stack Developer (Contract)
    • Sole developer of Tapnote's web app (10,000+ users), the web version of a Polish AI study app with 30,000+ subscribers.
    • Reached feature parity with the native app; built LLM and RAG tutoring on PostgreSQL / Supabase.
    • Next.js
    • TypeScript
    • Supabase
    • AWS
    • RAG
  3. Jul 2025 – Jan 2026Germany · Remote

    Akdo.ai

    Full-stack Developer
    • Architected, in a team of 5, an AI enterprise training platform used by Siemens Energy, Henkel and Essity; its LLM authoring tools helped produce 50+ courses.
    • Built multi-organization auth with Better Auth for 3+ client organizations, a peer review system, and ISO/IEC 27001 controls for the company's certification.
    • Next.js
    • Better Auth
    • AWS
    • LLMs
  4. Nov 2024 – Jul 2025Italy · Remote

    Underdogs

    Full-stack Developer & Automation Lead (Contract)
    • Ran the company's IT infrastructure single-handedly, Kubernetes included, and built its web platform and a custom CRM used by about 30 staff.
    • Automated 20+ workflows, saving an estimated 40+ hours a week; launched a GraphRAG knowledge-base chatbot handling 100+ daily queries.
    • Next.js
    • Kubernetes
    • LangChain
    • n8n
  • 2019 – 2023BS, Computer EngineeringSorocaba University of Engineering
  • 2024 – PresentBS, System DevelopmentPontifical Catholic University of Paraná

03 / GitHub

In the open.

@Luisotee on GitHub
public repositories
48
stars on WAppAI/assistant
125
forks of WAppAI/assistant
39
stars on earth-defenders-assistant
13

Achievements

  • Pair Extraordinaire×4
  • Pull Shark×3
  • Quickdraw
  • YOLO
  • Arctic Code Vault

Pinned languages

  • TypeScript 3
  • Python 3
  • A WhatsApp AI assistant on LangChain: pick an LLM provider, with web search, Google Routes and voice messages, plus Google Calendar on OpenAI models.
    TypeScript125stars39forks
  • Google Routes Tool, merged into LangChain.js.
    TypeScript
  • Claude Code and Antigravity agents planning and executing across repos: expensive models plan, cheap models type.
    Python
  • Extensible multi-client AI agent with RAG, STT and TTS, with WhatsApp support via Baileys.
    Python
  • This portfolio, built with Next.js, Tailwind CSS, shadcn/ui and Motion.
    TypeScript
  • A platform for audio-first AI assistants that can work offline, built on a plugin architecture.
    Python13stars

04 / Contact

Have somethingto build?

LanguagesPortuguese (native) · English (C2) · Spanish (A2) · German (A1)