backend · databases · ai systems

Juan Castaño

Backend Engineer & Technical Lead

Medellín, Colombia — remote

I design the architecture, own the database, and ship the product end to end. Most of my work lives behind the interface — APIs, data models, and the systems a business actually runs on.

Full-stack delivery, AI-assisted.

juan@jcastano.dev

8 groups

Capabilities

backend.apis Backend & APIs
Node.jsExpressFastifyREST designSwagger / OpenAPIJWTbcryptLayered architectureMiddleware designRate limitingWebhooks
data.stores Databases & Data Modeling
MySQLMongoDBPostgreSQLSupabasepgvectorSchema designRLS policiesRPC functionsTriggersMigrationsData cleaningBackup & recovery modeling
ai.systems AI Systems
Anthropic APIOpenAI embeddingsRAG pipelinesChunking & ingestionToken budgetingMulti-tenant agent platforms
automation.data Automation & Data Engineering
PythonSeleniumundetected-chromedriverBeautifulSoupFlaskpandasParallel workersResumable pipelinesCompetitive price intelligence
infra.delivery Infrastructure & Delivery
GitHub ActionsAWS Elastic BeanstalknginxDockerS3CloudinaryRailwayVercel
team.practice Leadership & Practice
Team leadershipAgile deliveryCode standardsCommit conventionsTask decompositionVitestpytestMocha
delivery.fullstack Full-Stack Delivery
Complete apps and sites, end to endRequirements to deploymentVisual direction and design decisionsAI agent orchestrationTechnical scoping and estimation
web.interface Web & Interface
Web design & visual directionWordPress custom builds & themingNext.jsAstroReactTailwind

11 records

Selected work

ai.platform

AI Chat Platform

Multi-tenant SaaS for deploying branded AI agents that answer from a client’s own documents.

Architected tenant isolation with row-level security on every table, keyed on business_id. Built the ingestion pipeline — chunking, embedding, and vector retrieval — plus token budgeting, API-key auth, encryption utilities, and rate limiting.

  • Fastify
  • Supabase
  • pgvector
  • Claude
  • OpenAI embeddings
  • WhatsApp Cloud API
  • TypeScript

Architecture, API, data model

widget whatsapp fastify api postgres + rls pgvector isolated by business_id
api.elearning PolygonUs

ApiAcademy

E-learning platform API spanning 28 domain modules — students, classes, evaluations, certificates, forums, and live sessions.

Designed a layered component architecture separating routing, network, and middleware concerns. Administered both MySQL and MongoDB stores. Wrote custom middleware for file upload, route protection, and permission validation, and set up CI/CD to AWS Elastic Beanstalk with a custom nginx configuration.

  • Express
  • MySQL
  • MongoDB
  • AWS S3
  • Cloudinary
  • Swagger
  • GitHub Actions
  • nginx

Back-end developer, DBA

network middleware components mysql mongodb 28 domain modules
api.ulumina PolygonUs

Ulumina

REST API built on a strict layered separation of controller, store, network, and middleware.

Structured the codebase so each layer had a single responsibility and could be reasoned about independently. Implemented JWT authentication, a ranking system, and a transactional mail pipeline, with CI on GitHub Actions.

  • Express
  • MongoDB
  • JWT
  • Swagger
  • GitHub Actions

Back-end developer

routes controller store mongodb
data.pricing Korean Autobody Parts

Competitive Price Intelligence

Scraper suite that kept the internal parts catalog priced against competitors, informing real pricing decisions.

Built supplier and MSRP scrapers against distributor portals, then a reconciliation pipeline that merged fresh pricing into the master catalog while preserving row order. Handled freight-cost datasets and per-row error recovery so a single failure never stopped a run.

  • Python
  • Selenium
  • pandas
  • openpyxl

Lead developer

realtime.chat Korean Autobody Parts

Real-Time Internal Chat

In-house WebSocket chat tool so staff across the shop and the sales floor could coordinate without external services.

Designed the message topology and connection handling for a small, always-on internal team, keeping the system self-hosted and dependency-light.

  • Node.js
  • WebSocket

Lead developer

client client client ws server
app.setter

Kuberiq Setter

Mobile-first app for a WhatsApp outreach team working a daily queue of assigned leads.

Modeled the schema in Postgres with row-level security, RPC functions, and triggers enforcing assignment rules at the database layer. Handled timezone-correct day boundaries for America/Bogota, CSV lead import, and push notifications.

  • Next.js
  • Supabase
  • PostgreSQL
  • web-push
  • TypeScript

Data model, backend, delivery

app.crm

Kuberiq CRM

Internal CRM with a companion browser extension for the outreach team.

Designed the lead and activity schema, then built a seller-monitoring subsystem on top of it. Bundled the Chrome extension with esbuild and covered the data layer with Vitest.

  • Next.js
  • Supabase
  • esbuild
  • Vitest
  • TypeScript

Data model, backend, extension

bot.sales

Sales Assistant

Telegram bot answering product and pricing questions for appointment setters, from a curated knowledge base.

Constrained the model to answer only from the knowledge base, and designed an escalation path that opens a DM ticket to an administrator when it cannot. Persisted the whitelist and conversation memory in SQLite on a mounted volume so state survives redeploys.

  • TypeScript
  • Anthropic SDK
  • grammY
  • SQLite
  • Docker

Design and implementation

data.leadgen

Maps Business Scraper

Lead-generation pipeline that collects, enriches, and qualifies local business records.

Built a resumable pipeline with parallel workers and checkpointing so an interrupted run picks up where it stopped. Added geographic enrichment, a qualification scoring pass, and CSV export shaped for CRM import.

  • Python
  • Selenium
  • Flask
  • BeautifulSoup
  • geopy

Design and implementation

audio.dictation

speechToText

Offline push-to-talk dictation for Windows — hold a key, speak, release, and the transcript lands at the cursor.

Ran Whisper large-v3-turbo locally on GPU so nothing leaves the machine. Diagnosed a Windows Smart App Control failure that blocked a decoder DLL and worked around it by stubbing the unused file-decoding path, since audio arrives from the microphone as an array.

  • Python
  • faster-whisper
  • CUDA
  • sounddevice
  • pytest

Design and implementation

net.touchpad

LAN Touchpad

Turns an iPhone into a trackpad for a Windows machine over the local network.

Specified a validated WebSocket message protocol as a standalone package, with the gesture engine isolated and independently tested. Constrained the security model deliberately: LAN only, pair before control, mouse-only capability surface, strict payload validation, idle and pairing timeouts, and inbound rate limits.

  • TypeScript
  • zod
  • WebSocket
  • ASP.NET Core
  • React Native
  • Vitest

Protocol, architecture, security model

live

Delivered sites

index

Also built

Client websites
Hospitality · Dental and medical practices · Legal practices · Education · Retail and e-commerce
Product work
Marketing sites · Landing pages · Template systems · Digital catalogues
Internal tools
Template generation · Lead scoring and qualification · Document automation · CRM integrations
Experiments
Physics-based interfaces · Trading tools · Speech and audio utilities · Reverse engineering

4 records

Experience

Kuberiq

Backend & Product Engineering

Internal platforms, AI services, and client delivery. Designed multi-tenant data models with row-level security, architected AI agent infrastructure, and built the internal tooling the sales and outreach teams run on.

OptimalClick

Web Developer & Automation

Built WordPress sites for clients, developed lead-generation scrapers, and contributed to sales funnel construction.

Korean Autobody Parts

Lead Developer

Came from the sales floor and built the systems after seeing the data problem firsthand. Developed scraper suites that kept internal catalogs priced against competitors, ran multiple data migrations and cleaning efforts, designed and created databases, and built real-time WebSocket tooling for internal communication.

PolygonUs

Technical Leader · Database Administrator · Back-End Developer

Planned and executed delivery strategy across projects using agile methodology, and promoted code standards — commit hygiene, naming conventions, and flowcharting for structured task decomposition. Structured, implemented, and administered the company’s MongoDB and MySQL databases, maintaining data integrity and designing backup models against loss. Developed the APIs and services behind most company projects.

reach

Contact

Based in
Medellín, Colombia
Languages
Spanish (native) · English (professional working proficiency)