portfolio · 2026 · colombia, utc-5

Luis
Osio.

full-stack software engineer

I build web products end to end: the screens people touch and the systems underneath that keep them running and correct.

open to remote roles · utc-5 overlap

TypeScriptReactNode.jsNestJSPostgreSQLAWS
Luis Osio
that's me · remote-first

Selected work

01 · work

Every project links to something you can run or read. No screenshots-only exhibits.

01

mdingest

live

Turns blog articles and newsletters into clean Markdown for LLMs. One ingestion core behind four entry points: HTTP API, CLI, and an MCP server over stdio + HTTP.

live on cloudflare · 118 tests · mcp + llms.txt ready

NestJSBunCloudflare ContainersAstro
the live request pathdeployed
web ui / cliAstro + Reactworkeredge routenestjscontainermediumdev.tosubstack
decisions, not screenshots
02

italki-cli

live

italki has no official API, so I built one from the outside: a Zod-validated CLI + MCP server to search, compare, and book lessons, with layered architecture enforced by custom lint rules.

50+ api fields validated at runtime

TypeScriptBunZodMCP
03

payment-orchestration

in the lab

The fintech flagship, being built in public: idempotent payment orchestration with webhook handling, audit log, and saga rollback. Designed so a recruiter can fire a test charge and watch it retry safely.

idempotency keys · webhooks · audit log · saga

NestJSPostgreSQLAWSDocker
repo when it ships
02 · systems

How a request travels

What happens when someone clicks a button in one of my apps. Left to right: the visitor's browser, the edge, the API, the database. The moving dots are real requests.

live render · my stack as a machinerunning
Client
what people see
│
Edge
closest server
│
API
the logic
│
├─ fans out:
├
PostgreSQL
the truth lives
├
Redis
cache + dedupe
└
Queue
jobs · retries
click in the browser → edge → api → lands in postgres. the dots are real requests.
03 · api-first

This site is
an API.

Every page here also answers in structured data. Agents and recruiters get the same truth: /v1/me.json, /v1/projects.json,llms.txt. The portfolio demonstrates the niche instead of claiming it.

mdingest api live · v1 · checked at build

specimen · response body

$ curl luisosio.dev/v1/me

{
  "name": "Luis Osio",
  "role": "Full-stack Software Engineer",
  "stack": ["TypeScript", "React", "NestJS", "AWS", "PostgreSQL"],
  "location": "Colombia · Remote · UTC-5",
  "status": "open_to_work"
}

↳ that command actually works

GET /v1/me.jsonGET /v1/projects.jsonGET /v1/experience.jsonopenapi.jsonllms.txt

Experience

04 · record

TXEN / We4Labs

Software Engineer

dec 2025 · aug 2026

~150ms

selector load time, down from 5-8s

Core engineer on Péntica, B2B SaaS automating municipal tax compliance across Colombia's 1,103 municipalities.

  • Cut company-selector load time from 5-8s to ~150ms across 14 frontend modules by designing a lightweight endpoint returning only required fields (replacing ~150K-line JSON responses).
  • Designed and executed a 19-phase cross-database PostgreSQL migration (Simplica → Péntica): schema mapping across differing names and types, idempotent re-runs via natural-key deduplication, per-municipality validation.
  • Implemented continuous production data sync from Péntica back to Simplica, reusing the migration's schema mapping.
  • Maintained and extended serverless architecture on AWS (SST v3, Lambda, RDS, S3, CloudFront, Cognito, EventBridge).
  • Migrated production to a new AWS account in under 12 hours: RDS snapshot + 34 GB S3 sync, under time pressure.
  • Configured RDS Proxy for Lambda-to-RDS connection saturation; moved TypeORM init to Lambda init phase to cut cold starts.
  • Reduced 3,400 ESLint warnings to zero and set up Prettier across the team.

Nord Tech

Software Engineer

dec 2024 · oct 2025

<12mo

to promotion from Junior

Promoted from Junior inside a year on a real-time reservation and streaming platform.

  • Worked on a real-time reservation and streaming platform with a Scala + Kafka backend, implementing tasks under a senior lead's direction.
  • Supported two junior developers: assigned tasks, reviewed code against conventions, kept goals on track.

Nord Tech

Junior Software Engineer

jan 2024 · dec 2024

100+

endpoints migrated and documented

First role. Migrated a fintech platform's Node.js codebase end to end.

  • Tested, documented, and upgraded 100+ endpoints and dependencies, handling breaking changes carefully.
  • Stack: TypeScript, Node.js, React, AWS Amplify (serverless).
  • Earned the promotion on code quality, autonomy, and consistent delivery.

Field notes

05 · writing

Short technical essays on things I actually shipped. Being written now.

Shipping a NestJS API inside a Cloudflare Container

the mdingest deploy, honestly

drafting

A second brain that verifies itself

how my notes system audits my own claims

drafting

What 3,400 ESLint warnings taught me

team hygiene is a migration problem too

outlined

Credentials

06 · on file
degree

Software Engineering (BSc)

UniHorizonte, Colombia

in progress · 2025 —

verified

Oracle Next Education, Back-End

Alura LATAM · 286h · 6 courses

earned · 2024

verified

Web Development & Programming

Platzi

earned

pending

MongoDB Node.js Developer

MongoDB LATAM

in progress · jan 2027

queued

AWS Certification

planned · 2026

planned

07 · contact

Building something
that has to stay correct?

Open to full-stack roles, remote US/EU. APIs, payments, pipelines, audit trails: the parts that can't afford to be wrong.

osiochico@gmail.com