Available for remote workAvailable

JuanMonsalve

>>> Systems & Computing Engineer · Software Engineer

Cover of the album OK Computer, by Radiohead
Location
Bucaramanga, Colombia
Time zone
GMT−5
Mode
Available for remote work
Languages
Spanish: native / English: C1+
113contributions in 12 months
Sep 2025liveSep 2026
19busiest week

[ Thesis ]

I design, build, and deploy backend systems that reach production and stay there: deployment, verified backups, and updates included. When a language model is part of one, I treat it as a component of the architecture rather than the architecture itself. My job is deciding where it earns its latency and cost, and where a cheaper deterministic path is the better answer.

Work

Three systems I designed, built, and deployed myself. Every figure in the margin is measured on the running system, not estimated.

  1. 01

    Apollo

    • Public repository
    • 2026

    Spanish voice assistant. 135 ms, fully offline.

    A full turn, from microphone to spoken answer, takes 135 milliseconds measured on the target machine. All of it happens there: offline, with no third-party services, and without a single byte of audio leaving the device.

    That number is the result of an architectural decision: the language model is not on the critical path. Commands resolve through four stages of increasing cost, and only the ambiguous ones reach the model, so what governs latency and spend is not the model's accuracy but the share of commands that need it at all. That share is measured on every release.

    Execution is allowlisted: the model picks an intent and its arguments inside a validated schema, and never generates commands. The project carries 307 automated tests, and the full intent benchmark runs before any threshold is touched.

  2. 02

    EM Torneos

    • In production
    • 2 private repositories
    • 2026

    A whole league runs on this, every day.

    An amateur football league runs its tournaments, its collections, and its payroll on this, every day and in production. Twenty-two domain models split across an API and a desktop client, both strictly typed. It began as a monolith refactor; today it is a product that installs, updates, and maintains itself.

    The decision that changed the product most was about the domain, not the code. Every football schema models a match as home versus away, and that is how this was built; but amateur leagues rent neutral fields and both teams travel to the same place. The distinction meant nothing and forced the administrator into an arbitrary choice on every match, so it was removed, data migration included.

    Deployment and operations are mine as well: containers on a self-hosted server, a certificate that renews itself, a database with no exposed port, daily backups, and a script that restores the latest one into a separate database to prove the backups work. The client updates from that same server with no configuration from the user, and permissions follow the job: the administrator handles accounts and payroll, the scorekeeper only sees the day's cash box.

    Stack

    • Node
    • Express
    • TypeScript
    • Prisma
    • PostgreSQL
    • Electron
    • React
    • Docker
    • Caddy
  3. 03

    Lead Triage Agent

    • In progress
    • Private repository for now
    • 2026

    Triages inbound forms and meters what each call costs.

    A service that receives contact forms, drops whatever does not need a model using cheap rules, and classifies the rest through the Anthropic API, validating the response against a schema before storing it.

    The goal is cost control: every call is recorded with its token count and spend, and an endpoint reports what share of submissions needed the model at all. It is the same judgment as Apollo, applied to a service that bills per use.

    Stack

    • FastAPI
    • Claude API
    • PostgreSQL
    • Slack

How I work

Three calls I got wrong the first time and corrected once I measured them. They say more than any statement of principles.

  1. 01

    Measure before architecting

    I dropped Moonshine for speech recognition after confirming no Spanish model exists. I dropped the fixed similarity threshold after measuring that valid and invalid cases overlapped. Neither decision was visible on paper.

  2. 02

    Widen the contract instead of tightening the prompt

    "Set the volume to 50" kept classifying as step-up rather than set-level, because similarity models treat numbers as close to noise. Adding examples worked, then broke on the next phrasing. The fix was making the mistake stop mattering: both intents accept a level, and the action prefers the level over the step.

  3. 03

    Failures should be loud

    I built speaker verification for Apollo and shipped it off by default: measured against background noise, it started rejecting me. A security feature whose failure mode is locking out the only legitimate user isn't security.

Experience and education

Three years of remote work with US teams and customers, alongside the degree.

  1. Nov 2025 – Aug 2026

    Team Manager, operations and data analysis

    WW Funcrafters JWA LLC · Remote

  2. Feb 2024 – Nov 2025

    Customer Sales & Support

    WW Funcrafters JWA LLC · Remote

  3. Dec 2023 – Sep 2024

    Customer Technical Support Engineer

    Concentrix Web Help · Remote

Education

B.Sc. Systems and Computing Engineering

Universidad Pontificia Bolivariana, Bucaramanga

2023 – 2026

Certifications

  • AWS Cloud Practitioner Fundamentals
  • Linux Fundamentals
  • Python
  • SQL & Databases
  • Git & GitHub
  • Agile & Scrum
  • Networking Fundamentals

Languages

  • Spanish: native
  • English: C1+

Contact

I am looking for a remote backend, platform, or AI systems role. I reply within 24 hours.

Or write here