emerson lopes

senior software engineer · são paulo, brazil

i build software for the people buying and selling homes, and the agents who guide them. mostly react and react native on the front, node and a federated graph underneath. lately that means real‑time collaboration and the ai features in a crm.

my side projects have one user each: the music player on my phone, the dictation tool at my desk, the bot in my discord server. when a tool i rely on breaks, i send the fix upstream instead of working around it.

work

things i have built, and why

all work →
  • autopilot

    an mcp server that drives the user's own signed-in chrome through a manifest v3 extension and the devtools protocol. tabs open unselected and nothing on screen moves while an agent works.

  • shoal

    a self-hosted, end-to-end encrypted sync backend for local-first apps. the rust server orders ciphertext and pokes subscribers. the typescript client does every merge. there are no accounts, identity is 12 words.

  • win-text-inject

    a rust crate for the last step of every dictation tool: putting text where the caret is. it restores the clipboard only after the target has actually read the new text, keeps transcripts out of clipboard history, releases held modifiers, and refuses elevated targets honestly.

posts

notes on shipping software, mostly the harder parts

all posts →