Skip to content
View PranavMishra28's full-sized avatar

Highlights

  • Pro

Block or report PranavMishra28

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
PranavMishra28/README.md
pranav mishra

pranav@harper ~ $ neofetch

    ██████╗ ███╗   ███╗      pranav @ san francisco
    ██╔══██╗████╗ ████║      ─────────────────────────────────────────────
    ██████╔╝██╔████╔██║      role      forward deployed engineer, harper (yc w25)
    ██╔═══╝ ██║╚██╔╝██║      uptime    1,100+ prs · 900+ merged · 60+ repos since oct '25
    ██║     ██║ ╚═╝ ██║      kernel    voice agents, local coding agents, agent reliability
    ╚═╝     ╚═╝     ╚═╝      upstream  merged into openai-agents-python, livekit/agents, inspect_ai
                             shell     claude code, codex, cursor, opencode
                             prev      salespatriot (yc w25) · sail · psu cs '25

Insurance has always run on agents. I build the new kind, at Harper (YC W25, $47M across Seed and Series A). First an intake copilot our operators live in, now a voice agent that answers the phone by itself and turns the call into an insurance application. The models were never the bottleneck. Getting an agent to behave when a caller says "don't email and text", or a carrier sends a scanned PDF sideways at 4:55pm on a Friday, that's the job.

On my own time I build the same thing at a different scale: a coding agent that runs on one laptop, and the benchmark rig that decides when it's allowed to claim it's good.

now

+ kryn        v1 shipped. next: seal a holdout, climb the research ladder toward frontier-adjacent on a 9B model
+ voice       live calls: realtime model talks, deepgram listens, code owns hang-ups, transfers, confirmations
+ irrevon     waiting on a preregistration freeze before the first confirmatory benchmark run
+ upstream    4 merged, 7 in review across the openai, anthropic, livekit and python ecosystems

shipping at harper

system built with what happened
voice intake agent LiveKit, OpenAI Realtime, Deepgram Nova-3, SIP takes intake calls alone. I own how calls end (hang-up, transfer, holds) and the confirmation loop where callers fix their own details before anything is filed. write-up
Dumbly: realtime intake copilot OpenAI Realtime API, Electron, packet-recommendation rules engine 20+ operators, 300-400 intakes/day, manual intake down ~70%
lead lifecycle pipeline Temporal (python + go workers), Postgres raw lead → qualified opportunity → submission handoff. dual-write migrations, typed backfills, no-downtime cutover
event backbone schema registry, go SDK, NATS event contracts for 5+ services. a schema change through every consumer in one day
growth attribution stack GCLID/msclkid capture, offline conversions, Customer.io ad-click to closed-policy attribution; lifecycle campaigns fired off production events
reliability layer otel, logfire, feature flags fail-closed guards on anything customer-facing. about 50 PRs nobody sees, which is the point

built in the open

project what it is status
KRYN local coding workspace for Apple Silicon: OpenCode + a guarded Qwen 9B on oMLX, plus a preregistered benchmark rig (matched pairs, hidden graders, SWE-bench + Terminal-Bench subsets). write-up release supervised
Irrevon reconciliation for irreversible agent actions: an identity the model can't regenerate, "ambiguous" as a real state, settlement from the destination's own evidence. write-up pypi alpha
EONFOLK deterministic civilization game where only one layer can write the world. models propose, Reality decides, a Chronicle that can't overclaim. write-up pre-alpha
Interlock turns a decision made in passing in Slack into one owner-approved, fail-closed action with a checkable receipt hackathon build

upstream

repo pr
openai/openai-agents-python record model-call failures on the provider's own span merged
openai/openai-agents-python cancel sibling env resolvers when one fails merged
livekit/agents tolerate unparseable stored tool-call arguments merged
UKGovernmentBEIS/inspect_ai fix hidden_states recorded as null in eval logs merged

in review: anthropic-sdk-python#1750 · #1751 · claude-agent-sdk-python#1087 · openai-python#3505 · gpt-oss#252 · datasette#2826 · attrs#1584 · all of it

writing

more at pranavmishra.app/writing · rss

reading

paper notes
τ-bench agents following domain policy with a human in the loop. closest thing to a benchmark of my day job
SWE-bench made coding agents measurable. KRYN's external subset runs on its official evaluator
Measuring AI ability to complete long software tasks METR's time horizons. how I want to plot KRYN's long-session runs
ReAct still the skeleton under most agent loops, including mine
Reflexion self-critique as memory. cheap, and on a 9B model, harder than it looks
CoALA a map of agent architectures. I disagree with parts, which is why I keep rereading it

stack

# toolchain.yaml
langs:         [python, typescript, go, sql]
agents:        [claude agent sdk + mcp, openai agents sdk, langgraph, evals]
voice:         [livekit agents, openai realtime, deepgram nova-3, twilio sip]
local:         [opencode, oMLX, mlx, qwen]
backbone:      [temporal, nats, postgres + pgvector, supabase]
frontend:      [react, next.js, electron, react native]
infra:         [aws ecs, gcp, cloudflare, docker, github actions]
observability: [otel, logfire, posthog, grafana]
daily_drivers: [claude code, codex, cursor]

numbers

contribution streak contribution calendar most of my work lives in private org repos. the graph is what leaks through; the upstream PRs above are the part that doesn't have to.

$ curl -s pranavmishra.app/llms.txt | head -3

Pinned Loading

  1. interlock interlock Public

    Ambient operational constraints for Slack, with explicit approval and verified outcomes.

    TypeScript

  2. irrevon irrevon Public

    Benchmark + reference reconciliation engine for irreversible AI-agent actions

    Python

  3. kryn kryn Public

    Human-supervised local coding workspace for Apple Silicon, powered by OpenCode, oMLX and Qwen.

    Python

  4. vercel/ai vercel/ai Public

    The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents

    TypeScript 27.5k 5.4k

  5. openai/gpt-oss openai/gpt-oss Public

    gpt-oss-120b and gpt-oss-20b are two open-weight language models by OpenAI

    Python 20.5k 2.2k

  6. anthropics/claude-agent-sdk-python anthropics/claude-agent-sdk-python Public

    Python 8.3k 1.4k