Jorge Polanco · Backend & Systems

I build tools that tell you the truth about your systems.

Backend and distributed-systems engineer. Most of what follows is about making invisible things visible — debt that outlived its deadline, a request that failed three services ago, a review finding that could not prove itself, a trading strategy that didn't work and said so.

Selected work

01

DebtWatchReleased · npm

A CLI that makes intentional technical debt time-bound. Every deliberate shortcut carries a reason, an owner, and an expiration date; CI enforces that new debt has all three. Read-only by design — it never edits your code or closes debt for you.

Go · npm distribution via per-platform binaries · SARIF · 50+ languages
Apache-2.0 · four platforms verified · scans its own source in its own pipeline

The hardest decision

Expired debt deliberately does not fail your pull request.

If a passing date could red a build, an engineer with an unrelated one-line change eats a failure on a Monday for someone else's debt — on a day nobody changed anything. That check gets deleted within a month. So expiry is enforced by a scheduled run instead: the PR gate stays deterministic, and the deadline still has teeth somewhere that can't block an unrelated merge.

02

ConsensusIQLive

A prediction-market evidence dashboard, and a controlled trading experiment run against pre-registered criteria. Immutable catalog snapshots four times a day, a quality-gated public dashboard, and paper strategies whose every decision, fee, stale quote and loss is recorded append-only.

Next.js · scheduled ingestion · append-only ledger · scientific controls

The hardest decision

Publishing the negative result.

The evaluation criteria were registered before the strategies ran, and nothing is revised after the fact. The experiment did not find an edge — and the honest way to report that is to publish the ledger anyway, losses included. A portfolio of only successes tells you nothing about how someone handles being wrong.

03

RoundupShipped · retired

A daily word-grouping puzzle for iOS and Android, tied to a public debt-payoff journey. Built to learn mobile delivery end to end and taken all the way there — playable game, streaks, leaderboards, email OTP auth, and a schema with row-level security covered by 52 database assertions. Retired on purpose once it had taught what it was built to teach.

React Native · Expo · Supabase · Postgres RLS · Edge Functions · pgTAP · Vitest

The hardest decision

The client is never trusted to score its own game.

An Edge Function loads the canonical puzzle server-side, derives the outcome and mistake count itself, and marks the row server_validated. Scoring on the device would have been far less work — and would have made every leaderboard number meaningless the first time someone opened the debugger.

04

WayscribePre-release

Wayscribe (formerly Flight Recorder). Self-hosted, record-level debugging for distributed workflows. Search for one entity and reconstruct its journey across webhook, transformation, database, queue, worker and third-party API — with field-level diffs showing where a value actually changed.

TypeScript · Fastify · Postgres · SQS-compatible queue · Next.js · Playwright
an interactive timeline that filters, walks by keyboard, and follows a live journey · 57 architecture decision records
a doctor command, key rotation, deletion on demand · a language-neutral ingestion contract with conformance fixtures · signed images with an SBOM in the release pipeline

The hardest decision

Auditing it hard enough to conclude it wasn't ready.

A structured adversarial review of the first-contact experience produced 30 claims; 28 survived a refutation pass. It found that the diff engine — the actual product — silently mishandled dates and shared references, meaning it could report "no fields changed" when a field had changed. Shipping was the easy option. Every finding was fixed the same day, in the order that made the next one observable, and the fixed tool was then pointed at a real ORM, which found four more, one of them a credential leak in its own redaction. The demo now builds and runs from a clean clone in under a minute. Before the first release, every number and absolute statement in its public documentation was checked: 306 claims, 70 corrected, 2 removed. Still unpublished, and it says so.

05

upheldMeasured

A merge-request reviewer built around one bet: a review nobody trusts is worse than no review. Every candidate finding must survive a second pass that sees the claim and the diff and has to quote the changed line the claim rests on — a finding that cannot point at a line is refuted, not softened. Reviewing its own first merge request (36 files, 3,485 insertions), it surfaced two real defects; both were reproduced and fixed.

TypeScript · LLM find and verify passes · per-repo judgment via upheld.yml
every finding from real runs published and judged, the useless ones included

The hardest decision

No accuracy number is published until there is a number worth defending.

The README separates what runs from what is designed, and publishes three numbers with error bars instead of one accuracy figure: recall of 43 of 52 defect fixtures (82.7%), 0.49 false alarms per clean diff, and a 68.9% clean pass rate, every finding judged by hand and the useless ones included. There is no precision figure on purpose: false alarms can only be counted on clean fixtures, and a number built from two populations would flatter the tool. The first verify pass was measured, found to cost more recall than it bought, and replaced before it shipped; CI holds a floor below the measurement.

06

lagniappe3 of 8 slices

An end-to-end AI data pipeline for value that arrives late — the customer who walked out without buying and came back eleven months later. Messy multi-source records in, resolved people out, LLM enrichment in the middle, and every model decision versioned, costed, and scored against ground truth the pipeline is forbidden — by a test — from reading.

Go · SQLite · same seed, identical SHA-256 across three platforms
macro-F1 on a held-out split · deterministic tiers before any model call

The hardest decision

Synthetic data must be unique under exactly the normalization the pipeline applies.

Identifiers were first deduplicated as raw strings. Gmail ignores dots, so two "different" addresses were one mailbox issued to two people, and a small phone space handed hundreds of households the same number. Both made a correct resolver look wrong and held the clean control at 0.82 precision where it belongs at 1.0 — a dataset that manufactures impossible collisions measures nothing.

07

SignalDeskPrototype

A command center for founders that turns scattered customer feedback into ranked product decisions — clustering messy signals from support, sales, reviews and notes into evidence-backed decision briefs.

Next.js App Router · Supabase · encrypted per-workspace credentials
OpenAI and Anthropic adapters · Linear, HubSpot, Slack sync · Playwright

The hardest decision

Making the product evaluable at zero cost.

Bring-your-own-key AI plus cached demo outputs, so someone can walk the entire workflow without a key, a bill, or a sales call. An AI product that requires spending money before you can tell whether it's useful mostly measures how much you already trusted it.

08

ask-jorgeLive

The question box at the top of this page. A retrieval-augmented service over the Markdown in these repositories: hybrid search over a SQLite index, one Claude call grounded in the retrieved passages only, and a citation on every claim that links to the file at the commit it came from. Every stage is written by hand and measured against a checked-in question set.

Python · Voyage embeddings · sqlite-vec + FTS5 · reciprocal rank fusion · Claude
recall gate in CI · daily budget that fails closed · retrieval-only degraded mode · a public red-team corpus indexed on purpose, nine injection classes, none reached an answer

The hardest decision

It says "I don't have anything on that" before the model is ever called.

The refusal is a measured threshold on the retrieval, not a prompt asking the model to be honest. The cutoff was tuned against the question set: every unanswerable question sat past it and every answerable one inside it, and the eval fails the pipeline if that stops being true. A confident wrong answer on a resume page costs more than a plain refusal ever could.

Also

Everything here is built on one rule: never state what the evidence does not support, and make the judge see what the model saw. The question box refuses without a source, upheld drops findings it cannot tie to a line, the work-evidence pages publish nothing a guard has not passed, and every claim on this page links to the repository that proves it.

  • AI platform architecture

    An interactive reference for a production AI platform — model cascade, RAG, guardrails, and twelve failure modes, each with a prevent / detect / respond runbook.

  • Mindmint

    A free daily puzzle hub. Deterministic client-side generation — no backend, no accounts, nothing to sign up for.

  • Design records

    Numbered decisions with rationale, rejected alternatives and stated costs — the reasoning behind DebtWatch, written down as it was made.