Jerick Castro Ortiz
Full-Stack & AI Engineer
Web, mobile and AI products, from idea to production
- Hey Eva live on the App Store and Google Play
- 209users
- 2,600+conversations
- 66%came back
Barranquilla, Colombia · UTC−5 · Open to remote contract or full-time work
02 · About
About

I'm a self-taught full-stack engineer. For five years I've shipped production software as a founder and freelancer. I learned Flutter from scratch to build Hey Eva and wrote its first versions with little AI help. I'm also CTO of KVRA Agency, where I designed the agent workflow the team uses every day. I use AI coding tools, review everything they produce and answer for every release.
- Languages
- Spanish (native), English (C1)
- Education
- Computer Engineering coursework, Universidad de La Sabana, 2020–2021; self-taught since then
- Location
- Barranquilla, Colombia · UTC−5
- Availability
- Open to remote contract or full-time work
Skills
Languages
Web & backend
AI & agents
Mobile
Data & cloud
APIs & integrations
Quality & delivery
03 · Work
Work
04 · Hey Eva
Live
Hey Eva
From Global Technology & Innovation AI S.A.S., the company I founded · Since June 2025
A voice AI companion you talk to in real time. It sets alarms, makes calls and orders an Uber.
I built the whole product, from the iPhone and Android app to the voice server, ops console and store releases.





209
registered users
2,600+
conversations
66%
of users came back for more than one conversation
5.0
rating on the App Store in Colombia
Data as of October 2026
- Hands-free phone actions through tool calling: alarms, calls, texts, WhatsApp, calendar, maps, music and Uber.
- Clean voice with no echo, thanks to a C++ echo-cancellation layer on WebRTC that I wrote.
- Native features beyond Flutter: widgets, Live Activities and the Dynamic Island on iPhone, and a floating bubble on Android.
Hear Eva
A real 30-second conversation, recorded on my phone. Spanish audio, with captions.
- Listens — audio streams to the voice server
- Thinks and looks it up live
- Answers out loud, in real time
- Hears the yes
- Tool call → the phone
music_control(action: "play", provider: "youtube_video") - YouTube opens on the phone
The recording could not be loaded. Check your connection and try again.
Read the transcript
- 0:01JerickHow are you, Eva? Eva, I want to watch an Ibai video.¿Cómo estás, Eva? Eva, quería ver un video de Ibai.
- 0:05JerickWhat's the latest video he's uploaded?¿Cuál es el último video que ha subido él?
- 0:13EvaHi, Jerick. So, the latest video Ibai uploaded…Hola, Jerick. Pues mira, el último video que subió Ibai…
- 0:17Eva…is called “Hice mi propia casa de empeños” (I made my own pawn shop).…se llama "Hice mi propia casa de empeños".
- 0:19EvaWant to watch it together?¿Te animas a que lo veamos juntos?
- 0:22JerickYes, go ahead, put it on, please.Sí, dale, ponlo, por favor.
- 0:26EvaOn it! Putting it on now. Enjoy!¡De una! Ya mismo lo pongo. ¡Que lo disfrutes!
How it is built
The company's design team drew the UI in Figma. I turned those designs into pixel-perfect Flutter screens, using the Figma MCP and a figma-to-flutter skill I wrote for the job.
How a phone action runs: Gemini Live returns a tool call, the voice server relays it, and the app carries it out.
On the phone
- Flutter appBLoC · iPhone and Android
- Native iOS layerSwift
- Native Android layerKotlin
- Echo cancellationC++ · WebRTC
- Phone actionsAlarms, calls, texts, WhatsApp, calendar, maps, music, Uber
Cloud and ops
- Voice serverPython (FastAPI) · Google Cloud Run
- Long-term memoryFirestore · vector search
- Ops consoleReact + TypeScript
- FirebaseAuth · App Check · Cloud Messaging · Crashlytics
Real-time AI
- Gemini Live APIReal-time voice · tool calling
Technical detail
The challenge
Talking to a phone usually means giving short commands. I wanted a companion you can actually have a conversation with, in real time, that can also set alarms, make calls, send texts or order an Uber without touching the screen, and whose voice comes through clean, with no echo.
- Python (FastAPI) backend with 240+ API routes and 3,500+ automated tests.
- React and TypeScript ops console with 1,000+ tests.
- CI/CD with Codemagic and GitHub Actions.
- Sign-in with Google, Apple and Facebook, and subscriptions with RevenueCat.
- Long-term memory in Firestore with vector search, so Eva recalls things by meaning, not by exact words.
Stack
05 · CAA SuiteIn-house
CAA Suite
A desktop app where AI agents take social-media videos from script to publishing.
Built with KVRA OrquestaFrom first code to a working version in testing in 12 days, with every piece reviewed before I moved on.
Built with Electron, React and the Claude Agent SDK. I talk to a Director agent, which coordinates the other agents and uses 60 tools to take each video from script to publishing on YouTube, Instagram and TikTok. Nothing that costs money goes out without approval first. It grew out of a Claude Code proof of concept I made for a client, and KVRA is starting to use it to produce social-media content for companies.
12
days from first code to a working version in testing
60
tools for the Director agent
25
packages in the pnpm monorepo
10,000+
automated tests
How it works
A brief
The person describes the video
Director agent
Claude Agent SDK
60 tools
Custom MCP servers, JSON-RPC with no SDK
Spend approval
Before every paid call; no duplicate submissions
Generation providers
- Image
- Video
- Voice
Publishing
- YouTube
- TikTok
Backend
Supabase
Permissions, spending and approvals
Made with CAA Suite



Technical detail
Highlights
- Every paid call needs approval first. The app shows the maximum cost, reserves it, blocks duplicate submissions and records each approval.
- MCP servers I wrote by hand on JSON-RPC, with no SDK, that give the Director its 60 tools.
- A Supabase backend (Edge Functions and SQL migrations) controls permissions and spending.
- Tested at every level: unit, end-to-end, accessibility and visual regression.
- Installers for macOS and Windows with Electron Builder.
- Two modes. Channels is for Shorts, TikTok and Reels; Business is where clients review and approve.
Stack
An Electron and React desktop app in a 25-package pnpm monorepo. The agents run on each user's own machine. A Supabase backend controls permissions and spending: it reserves the money before anything is sent, blocks duplicate submissions and records every approval. The Director reaches its 60 tools through MCP servers I wrote by hand on JSON-RPC, with no SDK. Editing, subtitles and quality checks run automatically. Electron Builder packages it for macOS and Windows. The first real-world runs are under way.
06 · How I buildIn-house
KVRA Orquesta
- Architect
- Agents
- Reviewers
- Delivery
An architect agent plans the work.
The agent system I designed on Claude Code and use to build everything.
5
KVRA members use it daily
Agents build in parallel.
Several pieces move at once: agents build in parallel from the architect's plan, so results arrive sooner.
Independent reviewers, a security audit and a visual walkthrough check every piece.
Scripted gates and hooks decide when work is done, never an agent saying it is.
What I automate, and what I don't
What the agents do
- Planning the work
- Code written in parallel
- Automated tests
- Cross-reviews between independent agents
- Security audit
- A visual walkthrough of every screen
What stays with people
- Product decisions
- Human QA
- Final sign-off before delivery
More done in less time, with every piece verified by scripts, by independent reviewers and by people.
Benchmark
14
coding tasks in the benchmark
I built a benchmark that decides which model does which job
- 14 coding tasks: exploring a codebase, tracing behavior, digging through git history, multi-file edits, writing tests, diagnosing and fixing bugs, building TypeScript features and spotting conflicting contracts.
- A setup script rebuilds each task's workspace from scratch, with the bugs planted in it.
- Reference solutions and hidden tests score every attempt.
- Mutation testing: it rejects fake or weak solutions, so only a real fix passes.
- I rerun it with every new model release.
- Result (October 2026): code exploration and light edits moved to a model 5–13× cheaper, and every edit task still passes.
This site is the demo
I built this portfolio with Orquesta. Here is the real run.
- Phase 1: Independent plan review, 16:46–16:55. Lanes in parallel: Plan reviewer (16:46–16:55). Outcome: 10 issues found, folded into the plan (Passed).
- Phase 2: Foundation, 16:57–17:06. Lanes in parallel: Content contract (16:57–17:05); Routing + privacy gates (16:57–17:06).
- Phase 3: Sections, 17:09–17:16. Lanes in parallel: Hero + contact (17:09–17:13); About + experience (17:09–17:15); Hey Eva (17:09–17:16); CAA Suite (17:09–17:15); Orquesta + index (17:09–17:16); Four web cases (17:09–17:13).
- Phase 4: Integration, 17:16–17:27. Lanes in parallel: 133 unit tests · 84 end-to-end · privacy scan · Lighthouse 96 (17:16–17:27). Outcome: Load stalls found at 4× slower CPU (Found).
- Phase 5: Performance + copy, 17:27–19:21. Lanes in parallel: Performance (17:27–19:21); Copy, share card, tests (17:27–17:38).
- Phase 6: Recruiter walkthrough, 19:25–19:44. Lanes in parallel: Walkthrough (real browser, phone + desktop, both languages) (19:25–19:44). Outcome: 7 visible defects (Found).
- Phase 7: Fixes, 19:48–20:01. Lanes in parallel: Copy and profile (19:48–19:52); Orquesta, CAA Suite and Hey Eva (19:48–20:01).
- Phase 8: Re-walk, 20:02–20:11. Lanes in parallel: Re-walk of the fixes (20:02–20:11). Outcome: 8 of 8 fixes hold, 0 new defects (Passed).
- Phase 9: My review, 20:25–20:41. Lanes in parallel: Visual polish (20:25–20:41); Copy pass (20:25–20:31). Outcome: My own notes, applied (Passed).
End state134 unit tests140 end-to-end tests176 files in the privacy scan96 / 100 Lighthouse score
17 agents9 phasesone afternoon · every step checked
Colombia time, 10 October 2026
Technical detail
KVRA Agency's agent system, which I designed
- Role
- I designed it and I maintain it
- Period
- Since February 2026, as CTO of KVRA Agency
The challenge
One AI doing everything makes mistakes nobody notices, and its own “it works” proves nothing. Building fast and well takes what a good team has: a planner, builders and reviewers, working under rules that don't depend on anyone's word.
What I built
A team of Claude agents with fixed roles, running on Claude Code. Every project below with the “Built with KVRA Orquesta” seal came out of it.
Highlights
- A person answers for the result. The AI helps; product decisions and the final sign-off stay with people.
Stack
Built on Claude Code (agents, skills, hooks and workflows) with JavaScript, Python and Bash. Task plans are saved to disk, so long jobs survive context limits. Hooks enforce the rules for models, permissions and paid calls. An update channel delivers new versions on macOS and Windows.
07 · UC Contigo
Live
UC Contigo
Contract work for GPS The Marketing Machine


The new website of UC, a private university in Barranquilla founded in 1993. It's live, and its non-technical staff use it every day.
115
routes on the site
80
content schemas in Sanity
12
tools UNI uses to look up the site's data
Technical detail
The challenge
UC needed a new site where applicants and students could find programs, admissions and fees, and one its non-technical staff could update on their own when a date or a price changed.
What I built
I built the whole site: a React 19 front end, a Sanity CMS, UNI (an assistant on Gemini), the connection to the CRM and the handover docs.
Highlights
- Staff edit text and images by clicking on the page and see a live preview. Publishing triggers a signed webhook that rebuilds the site.
- UNI answers questions about programs, admissions and fees from the site's own data, through 12 tools it can call, and turns down off-topic questions.
- Enrollment requests reach the CRM (Supabase) with automatic retries and a dead-letter queue that keeps failed requests for replay.
Stack
React 19 front end on Vite. Sanity Studio with click-to-edit and live preview; every publish fires a signed webhook that rebuilds the site. Cloudflare Pages Functions, Durable Objects (rate limiting) and KV serve UNI, which looks up the site's data and filters off-topic questions before answering. The CRM receives every request with automatic retries and a dead-letter queue for replay. About 900 automated tests, plus handover docs.
08 · Hogara
Pre-launch
Hogara
A KVRA Agency project



A cash-on-delivery online store. I led its rebuild ahead of launch and wrote most of the code.
600+
automated tests
Built with KVRA OrquestaBefore launch, the store went through independent reviewers, a security audit and a visual check on phone, tablet and desktop.
Technical detail
The challenge
Many shoppers in Colombia prefer to pay on delivery. Hogara sells that way, with no warehouse and no platform fees. That only works if prices never lose money, orders never go missing and customer data stays protected.
What I built
I rebuilt it around a catalog, one-step cash-on-delivery ordering, order tracking, a help center, complaints with a filing number and a shipping panel connected to Dropi. I also led the visual redesign and the logo. It isn't open to the public yet.
Highlights
- The store won't go live if any price loses money, so a pricing mistake can't reach customers.
- Prices always come from the server, and fake orders are throttled.
- Fulfillment goes through Dropi, so there is no warehouse. Meta Pixel, Conversions API and Wompi payments are ready to switch on at launch.
- Encrypted backups every day.
Stack
Next.js and TypeScript on Fly.io with Docker; orders live in Firestore and fulfillment goes out through Dropi. 600+ automated tests and 9 end-to-end Playwright tests, with WCAG 2.1 AA accessibility checks, run in GitHub Actions. Order tracking never reveals whether an order exists.
09 · D'Lamark
Demo
D'Lamark Productions
For D'Lamark Productions, an events company

01Lineup

02The event

03Checkout

04Door scanner
Online ticketing for an events company, with payments, Wallet passes and a door scanner that works without signal.
See the demoBuilt with KVRA OrquestaCheckout, payments and the door scanner went through independent reviewers and a security audit before going online.
Technical detail
The challenge
An events company in Colombia wanted to sell tickets from its own site. Its audience comes from Instagram, TikTok and WhatsApp, so buying had to take under a minute on a phone, with no account.
What I built
I built the site and the ticketing: event lineup, guest checkout by card, PSE or Nequi, QR tickets by email and in Apple or Google Wallet, an events and orders panel, and a phone scanner that works offline. It's online as a demo.
Highlights
- A payment counts only when Wompi sends a verified webhook, never from the return page.
- The door scanner works without signal and rejects a ticket that has already been used.
- At checkout, tickets are held for 15 minutes and return to sale if unpaid.
Stack
The payment is confirmed only by Wompi's verified notice (card, PSE, Nequi). Each ticket is marked once at the door, even if the phone loses signal, and Wallet passes carry the same QR; the Apple pass is signed on the server. Next.js and TypeScript with Drizzle on PostgreSQL (Neon) and Cloudflare Workers; rate limits guard the login and forms against abuse. Tested with Vitest and Playwright, with accessibility checks.
10 · Finai
Demo
Finai
Built at KVRA Agency
01Statements from several banks

02Sorted with rules

03Reconciled against the bank


04A locked month close


05Cash flow and income statement


Screens with test data
Finance software for restaurants. It reads Bancolombia, Bold and Davivienda statements by their structure, without AI, and reconciles them against the bank.
3
bank statement formats recognized by structure
8
tools in the Claude advisor, for the accountant only
Built with KVRA OrquestaI handed over each stage only after it passed automated tests and an independent review.
Technical detail
The challenge
At a restaurant group, the accountant built each month's cash flow by hand in Excel. That meant downloading statements from several banks, sorting every transaction and reconciling against the bank.
What I built
Finai imports statements, sorts transactions with rules, reconciles them against the bank and closes the month. It also covers cash flow, income statement, budget and payroll. Each restaurant sees only its own data, by role, and a Claude advisor explains the month to the accountant. Today it's a private demo.
Highlights
- Recognizes each statement's format on its own, whichever bank it comes from.
- One transaction becomes a rule that applies to every similar one.
- Role-based access per restaurant: management, administration, treasury and accounting each see something different.
Stack
A Node and Express server on PostgreSQL with a React interface, all in Docker. It reads each statement format from its structure, without AI. Cash flow follows the payment date; the income statement follows the month of the expense. The month can't close until it's reconciled, and a closed month never reopens. The Claude advisor, for the accountant only, explains the month through tools; the numbers come from fixed calculations, never from the model.
11 · Experience
Experience
Three of these roles overlap: I'm CTO of KVRA Agency and of the company I founded, and the GPS contract ran alongside both.
CTO
KVRA Agency
I lead engineering at an AI, software and content agency, and I answer for the architecture, delivery and quality of every project.
- I designed KVRA Orquesta, the agent system on Claude Code that KVRA's team uses every day. Agents plan, build and review; scripted gates decide when work is done.
- I built a benchmark that assigns each job to the right model: 14 coding tasks with hidden tests and mutation testing, rerun with every new model.
- I took CAA Suite to testing, Hogara to pre-launch, and Finai and D'Lamark's ticketing to demo; each project has the detail.
ProjectsKVRA OrquestaCAA SuiteHogaraFinaiD'Lamark Productions
Founder, CTO & Tech Lead
Global Technology & Innovation AI S.A.S.
I founded the company and lead its engineering. Hey Eva, its voice AI companion, is the product I built.
- Live on both stores, with 209 registered users and a 5.0 rating on the App Store in Colombia.
- Python (FastAPI) backend on Google Cloud Run with the Gemini Live API: 240+ API routes and 3,500+ automated tests.
- Flutter app with native Swift and Kotlin layers, and a C++ echo-cancellation layer I wrote.
ProjectsHey Eva
Lead Developer (contract)
GPS The Marketing Machine
I wrote the proposal and led the build of uccontigo.edu.co for a private university in Barranquilla, through to the handover docs.
- About 900 automated tests and complete handover documentation.
- A click-to-edit CMS with live preview for non-technical staff; each publish rebuilds the site through a signed webhook.
- I built UNI, an assistant on Gemini, and the enrollment hand-off to the university's CRM, with retries and a dead-letter queue.
ProjectsUC Contigo
Founder & Freelance Web Developer
e-Maker
I founded e-Maker, my first startup, a web studio with a team of four, and built sites for small businesses in Colombia.
- Sites for Kisses Bomb (an online store that ran in production for about a year), Reserva de Terranova, Mobix and Univista, and later internal tools for small businesses.
- I built stores quickly by embedding Shopify or Ecwid into custom-designed sites, adding WhatsApp chat, Google Maps and an AI chatbot where clients needed them.
Projects I directed and reviewed, built by other engineers
Hey Eva's website
Built by one of my company's engineers; I directed it and handled all of its QA.
Cphora
An ERP and accounting system for Castor SAS, a furniture maker. Two KVRA engineers built it; I directed and reviewed the work.
12 · Contact
Let's work together
Most of my code is private work for clients and companies. I can share samples and walk you through it on request.GitHub
Barranquilla, Colombia · UTC−5 · Open to remote contract or full-time work













