Skip to content
View estrellajm's full-sized avatar
🌎
🌎

Block or report estrellajm

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
estrellajm/README.md
Jose Estrella β€” I ship the feature, then build the primitive underneath it.

Full-stack engineer in Denver, CO. I ship the thing that was asked for β€” then go looking for the pattern underneath it and build the primitive that makes the next ten requests trivial.

I work best as a team of one: idea, design, backend, frontend, infrastructure, and the operational care and feeding afterward.


The shape of most of my work

A request came in: let an LLM read the production database. One service, done. Then the second upstream API arrived, and it wanted the same auth, the same transport, the same tool plumbing β€” all of it copied. So I stopped adding services and split the problem instead: a gateway that owns the protocol and per-tool authorization, and a one-page HTTP contract that any downstream service can satisfy.

flowchart LR
    U["operator asks<br/>in plain English"] --> C(("Claude"))
    C -->|"OAuth 2.1<br/>per-tool scopes"| G["gateway<br/><i>protocol + authz</i>"]
    G --> F1["analytics"]
    G --> F2["ads"]
    G --> F3["meta"]
    G --> F4["search"]
    F1 --> S1[(GA4)]
    F2 --> S2[(Google Ads)]
    F3 --> S3[(Meta Graph)]
    F4 --> S4[(Search Console)]
Loading

Everything after the first one was a recipe, not a project. The OAuth 2.1 layer came out as an installable package. The people using it aren't engineers β€” they ask a question and get an answer out of production data, analytics, and ad spend.


Shipped and running

HireMyMotorhome β€” a motorhome rental marketplace I designed, built, and still operate on my own. Angular front end, NestJS services, Firestore, Cloud Run. Booking and payments, host onboarding, fleet and compliance tracking, the analytics pipeline, the ad tooling, and the deploy process that puts it in production. Real listings, real bookings, real payouts, one person, still running.


Things I've built

AI Access Gateway β€” a control plane that decides what an assistant, agent, or automation may do with a client's systems, and produces the evidence that it did only that. Every client gets its own credentials, policies, salt, audit chain, and deployment identity, so no single trust domain holds the whole book of business.

MCP gateway + forwarders β€” the diagram above, running in production across four Cloud Run services against GA4, Google Ads, Meta Graph, and Search Console. Stateless transport, per-tool scope enforcement, and upstream credentials that ride in per-request headers rather than in any service's identity, so no forwarder holds standing access to anything.

Bankfyn β€” a white-label, multi-tenant credit card application platform for banks. One codebase, many institutions, each with its own branding, rules, and data boundary.

Slipstream β€” a low-latency engine that streams X-Plane 12 from an Apple Silicon Mac to a Meta Quest 3 with full 6DOF head tracking. Lean forward to read the gauges, look around the glareshield. Swift on the Mac for capture, a C++ core, Kotlin on the Quest. (Monoscopic β€” X-Plane's stereo API is Windows-only, and the README says so rather than pretending otherwise.)

Vector β€” a Tauri desktop copilot that listens to live sales calls, transcribes them, and surfaces what matters while the call is still happening.

unreal-mcp β€” a layer over Epic's in-editor MCP server that lets a technical artist drive Unreal Engine 5.8 from Claude: build it, see it, and get told when the screenshot doesn't prove what you thought it proved.

What I reach for

Languages β€” TypeScript, Python, C++, Swift, Kotlin, JavaScript Front end β€” React, Angular, signals-first state Back end β€” Node, NestJS, Express, FastAPI Infra β€” GCP (Cloud Run, Firestore, Secret Manager), Docker, Cloud Build Protocols β€” Model Context Protocol, OAuth 2.1 / OIDC, PKCE, JWT Other β€” real-time video streaming, 6DOF head tracking, X-Plane XPLM SDK, Unreal Engine, USB/serial hardware bridges


Denver, CO Β· twitter

Popular repositories Loading

  1. angular6-fullcalendar angular6-fullcalendar Public

    Implementation of Angular v6 with Calendar & Scheduler from FullCalendar with Alpha Release

    TypeScript 7 2

  2. nestjs-graphql-mongodb nestjs-graphql-mongodb Public

    TypeScript 1

  3. ngrx ngrx Public

    Forked from ultimatecourses/ngrx-store-effects-app

    Project seed app for our NGRX application using Angular, NGRX Store, Effects, Router Store.

    TypeScript

  4. auth auth Public

    TypeScript

  5. angular-cli angular-cli Public

    Forked from angular/angular-cli

    CLI tool for Angular

    TypeScript

  6. socket.io socket.io Public

    Forked from socketio/socket.io

    Realtime application framework (Node.JS server)

    JavaScript