Juan Castillo — Fullstack developer, Panama City
JuanCastillo
The rule that matters is enforced by the database, not by an if that someone forgets when they add the next route. I write the backend and the screen that uses it.
- Work
- EduPan S.A.
- Since
- Mar 2025
- Languages
- Go · TypeScript · C# · Python
- Public code
- 4 repos you can open
- Before this
- 2nd in the world · RoboCupJunior 2023
Three systems I built
See all three cases →
corebank
A complete digital bank: accounts, transfers between customers, transaction history, and an AI assistant you ask about your balances in plain language.
A Go API between two stores: TigerBeetle holds the money and PostgreSQL holds everything else. There is no distributed transaction — the row uuid is the transfer id in the ledger.
Backend Go 1.26 · chi · pgxLedger TigerBeetle 0.17.9Data PostgreSQL 17 · gooseFrontend React 19 · Vite 6 · TanStack Query · Tailwind 4Assistant MCP · Anthropic SDK for GoInfrastructure Docker Compose · nginx · GitHub Actions

loklflow
A system for running a whole restaurant: order taking, kitchen display, floor plan, inventory, cash close-out and per-role permissions.
The server — NestJS and PostgreSQL — runs inside the premises on a UPS, and the till, the waiters and the kitchen talk to it over the internal WiFi. The cloud only takes the remote dashboard and the backup.
Backend NestJS 11 · TypeORM · Socket.ioData PostgreSQL 16 · versioned migrationsFrontend Next.js 16 · React 19 · Tailwind 4 · ZustandTesting Jest · Vitest · supertestInfrastructure Docker · GitHub Actions

mundial-2026-ml
A World Cup 2026 predictor: it estimates how each match ends and simulates the whole tournament five thousand times to give each team its chance of winning.
A four-step pipeline — data, features, models and backtest — over 49,509 matches stored in SQLite, with the features built forward in time and a dashboard at the end.
Data pandas · numpy · SQLiteModelling scikit-learn · GradientBoosting · PoissonRegressor · Dixon-ColesEvaluation expanding-window backtest · hand-written RPSSimulation Monte Carlo, 5,000 tournamentsInterface Streamlit · plotly
By dayEduPan S.A. · Software Developer
Microfrontends on Nx and Module Federation — fourteen remotes across two shells — against a .NET 8 API with around twenty-two modules. I hand out the work, review the PRs and oversee what ships.
The full experience →Before thisSecond in the world at RoboCupJunior 2023
I competed in robotics for Panama in 2017, 2019 and 2023. At RoboCupJunior 2023 we placed second in the world in RescueLine SuperTeam, with an ally assigned to us on the morning of the run.
Why I mention it →What I work with, and how much
- Every day, in production
TypeScript · React · Next.js · Nx · Module Federation · C# / .NET 8 · EF Core 8 · SQL Server · Docker
- In production, but less often
Go · gRPC · Java / Quarkus · Turborepo · PostgreSQL · Python · SignalR · Hangfire · MediatR · Apache Superset · FastAPI · GCP
- In my own projects, with the source open
TigerBeetle · NestJS · TypeORM · MCP · Socket.io · Tailwind · Vite · scikit-learn · pandas · Streamlit · GitHub Actions · Jest · Vitest
- Studied and certified, not in production yet
AWS Cloud Foundations · AWS Cloud Developing · Samsung Innovation Campus