J. Castillo
Language

Juan Castillo — Fullstack developer, Panama City

JuanCastillo

Fullstack developerPanama City

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

Got a system that can't go down?