Tito Agudelo

Senior Software Engineer

I'm a Senior Software Engineer with 13+ years building web and mobile applications, mainly using React, Next.js, and the modern JavaScript ecosystem. I've worked with startups and large companies in distributed teams, designing scalable systems, real-time applications, and data-driven products.

Recently I've focused on integrating AI into real-world applications — LLMs, RAG pipelines, and automation workflows. I care about clean architecture, strong UX, and reliable systems.

Senior engineer, remote-first since 2016

Over the last 13+ years I've shipped production software for early-stage startups and large companies — full-stack web, React Native mobile, real-time data products, and the supporting backend services that keep them honest.

I've been fully remote since 2016, working with distributed teams across the United States and internationally. I own work end-to-end, communicate asynchronously, and care just as much about the systems we build as the people we build them with.

13+Years in software
2016Remote since
US + globalTeam footprint
React · Next.js · TSPrimary stack

What the work delivers

Less buzzword bingo, more outcomes. The thread across my work is building software that ships, holds up under load, and stays maintainable.

  • Architecture that survives

    Clear domain boundaries, small focused modules, and types that document intent — so the system is easy to change six months later, not just today.

  • Systems thinking

    Treat data flow, failure modes, and observability as first-class concerns. The interesting bugs live between services, not inside them.

  • Pragmatic problem solving

    Reach for the smallest tool that fits, ship a working slice, then harden where reality demands it. Avoid framework-driven architecture.

Why this demo exists

Retrieval-Augmented Generation grounds an answer in trusted context instead of relying on a model's memory alone. The pipeline below runs entirely in this app — no external APIs — so you can read every line and see exactly how the data flows. The point isn't the novelty; it's the structure: deterministic retrieval, observable generation, typed boundaries between layers.

  1. Step 1

    Knowledge

    A small curated corpus about my work, stack, and approach.

  2. Step 2

    Retrieve

    Score documents against the query, return the top matches.

  3. Step 3

    Generate

    Synthesize a grounded answer from the retrieved context.

Ask the knowledge base

The pipeline retrieves the most relevant documents and synthesizes a grounded answer. No external model — pure TypeScript, end to end.

Pure in-memory retrieval · no external APIs500 chars left
Try one of these