Skip to content
View ernanibmurtinho's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report ernanibmurtinho

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
ernanibmurtinho/README.md

πŸ‘‹ Hey, I'm Ernani

Making any API agent-usable β€” first-call-correct, no integration code

Gecko β€’ gecko-surf β€’ X β€’ LinkedIn


πŸš€ What I'm building

Gecko β€” the API comprehension layer for agents. Point an agent at any API β€” even one behind human-shaped docs and a paywall β€” and it finds the right call, makes it correctly the first time, and runs. No client to write, no guessing whether the agent is calling it right.

Docs and endpoints are built for humans. Gecko translates an API's surface into question-shaped, first-call-correct agent tools β€” and handles the auth handshake the docs don't explain.

The engine β€” gecko-surf (open-source, on PyPI) β€” turns any OpenAPI into first-call-correct MCP tools:

curl -fsSL https://get.geckovision.tech | bash
gecko <openapi-url>          # β†’ comprehension summary + a one-click "add to Claude/Cursor"

πŸŽ“ And teaching it

I'm running Dev3Pack AI Engineering right now β€” a three-week cohort, fifteen live sessions, a self-paced Python fast lane and a capstone, 14 Sep to 2 Oct 2026.

It is graded the same way I argue about the day job: every scored exercise runs offline against a deterministic fake model, so no key, no network and no bill stands between anybody and finishing. A submission is a claim plus the notebook that produced it β€” the tool refuses to hand in a notebook nothing was run in.

Building a course in public is the cheapest honesty test I know: every claim gets run by thirty people on thirty different machines, the same week you make it.

Enrolment is closed for this cohort. Ask me about the next one.

πŸ’‘ Why this matters

A coding agent can one-shot a popular API. It can't one-shot the Nth painful one β€” long-tail, messy, poorly-documented, often paywalled. It picks the wrong endpoint, misplaces the credential, sends a UI amount where atomic units are required, forgets the idempotency key. Each miss is a failed call, a retry, a burned credit. Gecko replaces guess-and-retry with first-call-correct comprehension β€” and stays correct as the API drifts.


🧠 What I ship

gecko-surf β€” the comprehension engine. Ingest an OpenAPI surface β†’ question-shaped, first-call-correct agent tools (auth hidden, units / placement / idempotency resolved), served over MCP. A $0 recorded mode simulates the call offline before a cent moves.

ayuda-venezuela-bot β€” a Spanish-first Telegram bot giving Venezuelans clear emergency information, an agent over the SOS Venezuela API. Comprehension pointed at something that isn't a demo.

The three verbs. APIs get PAID (rails), skills get DISTRIBUTED (marketplaces), APIs get USED (Gecko β€” comprehension). We compose on x402 / MCP / pay.sh β€” not a payment rail, not a marketplace.


πŸ› οΈ Tech

stack = {
    "engine":    ["Python 3.11+", "uv", "MCP (Streamable-HTTP)", "stdlib-first", "ruff", "mypy"],
    "chain":     ["Solana", "Anchor", "Pinocchio", "IDL comprehension", "surfpool forks"],
    "delivery":  ["PyPI: gecko-surf", "one-click MCP for Claude / Cursor / VS Code", "Vercel", "AWS ECS"],
    "teaching":  ["Jupyter", "deterministic offline grading", "GitHub Actions as the gradebook"],
    "model":     ["open-core β€” open engine, private correctness corpus"],
    "compose":   ["x402", "pay.sh", "OpenAPI 3.x"],
}

How I work: every wire integration ships a free offline simulation first, so it can be falsified without spending anything. Live smoke is the last check, never the debugger. A number that wasn't measured doesn't go in the README.


🎯 Current focus

  • Dev3Pack cohort through 2 Oct β€” fifteen sessions, a week at a time
  • First 10 outside-network teams running gecko-surf on their Nth painful API weekly
  • The correctness corpus β€” every call teaches how to call API X right
  • Surfpool / Solana-AI-Kit β€” comprehend the chain's tools and the APIs around them

🌱 Open source

Patches I sent to projects other people built and maintain:

Mine, and open:

  • gecko-ai-coach β€” a grounded course coach that ships with its own hit rate, and a contribution bar: a pull request has to carry its before-and-after number.

🀝 Looking for

Who Why
Teams shipping multi-API agents Bring your messiest, most painful API β€” let's make it first-call-correct
Agent-tooling builders Compose Gecko's comprehension into your kit
API providers with human-shaped docs See your surface become agent-usable, unilaterally
Engineers who want the next cohort Dev3Pack runs again after 2 Oct β€” say hello before it opens

πŸ’¬ Let's talk

Building agents that have to call real, painful APIs? That's the whole job.

DM me on X or LinkedIn


"The spec is free. The correct first call is not."

Pinned Loading

  1. colosseum-find-my-logo colosseum-find-my-logo Public

    Are you sick of running after your Logo on Colosseum?

    Python 3

  2. ayuda-venezuela-bot ayuda-venezuela-bot Public

    Spanish-first Telegram bot giving Venezuelans clear emergency info β€” an AI agent over the SOS Venezuela 2026 API, powered by surfcall.

    TypeScript 1 1

  3. gorilla-app gorilla-app Public

    Repository for the agent forge

    TypeScript

  4. sharp-detector sharp-detector Public

    SharpWatch β€” sharp-money betting-line-move detector + hands-off custody-safe agent

    Python