Skip to content
View poschuler's full-sized avatar

Organizations

@desarrollandoAmericaLatina @zero-to-mastery

Block or report poschuler

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
poschuler/README.md

Paul Osorio Schuler

Backend engineer · TypeScript and Node.js · Lima, Peru (UTC-5)

Fifteen years building backend systems, most of them spent making systems that were never designed together behave as one. Today I design, build and run a product of my own, end to end.

I write down why. Most of what I have to show is in those notes.


Now

Chekalo — price intelligence for Peruvian retail. It ingests nine retailers daily, resolves the same product across stores into one canonical identity, and keeps every seller's price history so a discount can be checked instead of trusted.

  • Modular monolith. Ingestion, catalog and search projection, each owning its own state behind a hard boundary. One deployable.
  • Deterministic identity resolution. Brand, model and variant signature, corroborated by barcode. It replaced an embeddings and LLM approach that worked, but was not reproducible, auditable or cheap.
  • Ingestion that expects to be interrupted. Redis and BullMQ, per-retailer rate limits and retries, every payload validated at the boundary.
  • Search as a projection. PostgreSQL holds the truth; only what changed goes to OpenSearch, reindexed behind alias swaps. The site is a read model: React Router with SSR, no API of its own.
  • Decisions on record. Over a hundred ADRs in the pipeline alone.

Before

A decade designing and delivering enterprise integration and orchestration platforms: workflow engines over message brokers, workers in .NET and Python, legacy cores behind modern web layers. Led teams of up to 22 engineers, set the engineering standards they worked under, and wrote the code myself when a deadline required it.


Code

url-shortener Fastify, hexagonal architecture, separate write and read APIs, load-tested
nodejs-result-pattern Expected failures returned as values; exceptions kept for what is truly unexpected
nodejs-ddd-value-objects Value objects in TypeScript: self-validating, immutable, compared by value
pragmatic-nodejs-api Express API with vertical slices, Zod validation and centralized error handling
poschuler.com Markdown in git, derived into D1 and KV at build time, served from a Cloudflare Worker

Writing

How I work

  • Boundaries before services. A modular monolith until a split earns its cost.
  • Written decisions. ADRs, a domain glossary and an AGENTS.md in every repository.
  • Coding agents, daily. Fully specified issues run headless in isolated worktrees, with a human gate before anything merges. The leverage is in what the repository tells the agent, not in the model.

Stack

Backend — TypeScript, Node.js, Express, Fastify, BullMQ, Kysely, Zod, Vitest
Data — PostgreSQL, OpenSearch, Redis, SQL Server
Infrastructure — Google Cloud, Cloudflare Workers, Docker, GitHub Actions, Linux
Integration — Kafka, Camunda, .NET, Python
Frontend — React, React Router, Tailwind CSS
Architecture — Domain-driven design, modular monoliths, hexagonal architecture, vertical slices, event-driven integration

iSAQB® CPSA-F · Azure Developer Associate · MBA · B.S. in Software Engineering


poschuler.com · CV · LinkedIn · poschuler@gmail.com

Pinned Loading

  1. poschuler.com poschuler.com Public

    The official repository for poschuler.com. This site serves as my professional portfolio and personal technology blog, featuring articles on software architecture, Azure solutions, and driving meas…

    TypeScript

  2. url-shortener url-shortener Public

    A URL shortener built with Node.js, TypeScript and Fastify, as the reference project for a post on how to design one.

    TypeScript

  3. nodejs-ddd-value-objects nodejs-ddd-value-objects Public

    Code examples for implementing robust, immutable Value Objects in TypeScript/Node.js using DDD principles. This repository serves as the official companion code for the article: https://poschuler.c…

    TypeScript

  4. nodejs-result-pattern nodejs-result-pattern Public

    Implementing the Result pattern in TypeScript and Node.js. Companion code for a post on poschuler.com.

    TypeScript

  5. neetcode-submissions neetcode-submissions Public

    My NeetCode.io problem submissions

    TypeScript

  6. pragmatic-nodejs-api pragmatic-nodejs-api Public

    A pragmatic foundation for building maintainable REST APIs with Node.js, Express, and TypeScript.

    TypeScript