ZetaChainHead of Developer Experience, 2023–2025Case study →
PortfolioData
Alice
Assets
Search assets
AssetAvailable balance
PPHOTON1,250
AATOMChannels 1 → 5 → 820,000
Show more
Transactions
February
↑
SendFebruary 2, 3:10 pm
- 5.16 STPT - 100 AKTto spn1p05...94029y
↓
ReceiveFebruary 1, 7:55 pm
Channels 1 → 5 → 8
+ 1,159 STPTfrom spn1p05...94029y
January
↑
SendJanuary 31, 6:12 pm
- 20,000 AKTto spn1p05...94029y
↓
ReceiveJanuary 30, 9:41 am
+ 1,159 STPTfrom spn1p05...94029y
Send Receive
Send to
Recipient address
P
PHOTON1,250 available
250
Add asset
Advanced
Send
fadeev — -zsh — 80×24
IgniteCreated Ignite CLI, 2020–2023Case study →Back
Anuma
Product Engineer, 2025–present
Anuma is multiplayer AI for real life: it learns what you care about from your chats and memories, and shows you the people and plans nearby you'd get along with.
I've worked on it since late 2025, on the web and in the iOS and Android apps, designing features and building them.
People Nearby
I built the first version of People Nearby in the web and mobile apps: a full-screen map of the people around you, a sheet with a row of faces and your recent chats, profiles you can tap, and messages that start as a request. None of it opens until you share your own location.
Then came meetups, with pins on the map, attendees, RSVPs and hosting; a ring around each face that shows how well you'd get along; and one thread for chatting with people and with the AI alike, where a Vibe check helps you start a first conversation. I also built parts of the backend behind the map: presence and live location, messaging and meetups.
Memory
I replaced the list of memories with a profile built on the device from what Anuma knows about you: a memory of the day, and stickers on a cork board, piled up by subject, with a full-screen sticker book. It's the cork board in the recording at the top.
Things the AI makes
Anuma's assistant makes things as well as writing, and I built the pieces that show them: interactive apps that run right in the chat, safely sandboxed; documents it writes and renders on the device as real PDFs, with text you can select; maps, timelines and photo collages that appear inside a reply as it streams in; and a slide-deck editor with a presentation mode and PowerPoint export. Any app it makes can be saved as a tool it uses again later.
Feeling native
Then the details that make it feel like it belongs on an iPhone: glass that matches iOS 27's and really bends the content behind it, even in Safari; a glass menu that grows out of its button, on springs fitted to recordings of iOS; a sidebar that follows your finger from the edge of the screen; and replies that stream in smoothly, without flashes or jumps.
The search bar's glass, bending the photos that scroll under it
The SDK
Under all of it is the TypeScript SDK that Anuma's AI runs on, which I worked on from the start: streaming replies, long-term memory, tool calling and end-to-end encryption, each a few lines of code. I built starter apps for it too, for Next.js, Expo, Telegram and AI agents, and wrote its docs.
When I joined ZetaChain in 2023, building a universal app, one that works across chains, Bitcoin included, meant reading a few pages of docs and working out the rest yourself. Over the next two and a half years I built the developer experience from the ground up: the tools, the contracts, the docs, and the talks and workshops that taught people to use them.
The goal was simple to say: one command should give a developer a working universal app, and from there, a guided path to apps that span every chain.
I built most of ZetaChain's developer tools. Each one works with every chain ZetaChain connects to: EVM chains, Solana, Sui, Bitcoin and TON.
The Toolkit is a TypeScript SDK for ZetaChain, and the backbone of everything else here: it moves tokens between chains, calls contracts across them, and tracks a cross-chain transaction as it travels. The CLI, Localnet and the examples are all built on it.
With the CLI, npx zetachain new starts a universal app from a template. From there, the same CLI makes calls between chains, looks up fees and balances, and follows a transaction from one chain to another.
Localnet runs ZetaChain and its connected chains on your own machine, so a cross-chain app can be built and tested without waiting on a testnet. It's what the laptop above is running.
Docs and teaching
I maintained all of ZetaChain's docs, about 125 pages from getting started to the protocol reference, and wrote the tutorials that tie the tools together. Away from the docs, I spoke at conferences, ran hackathon workshops, recorded screencasts, and hosted monthly developer office hours. Many of them are on ZetaChain's YouTube.
4 minGetting started with ZetaChain7 minYour first universal contract11 minCross-chain messaging15 minUniversal NFTs15 minGateway on Localnet37 minDeveloper office hours
Contracts
The example contracts are working universal apps, from cross-chain swaps to NFTs, that the tutorials build step by step.
The standard contracts are production-grade universal tokens and NFTs. A few lines added to an existing OpenZeppelin contract let it move between chains.
Ignite CLI starts a blockchain with one command. dYdX, Celestia, Sei, Wormhole and Dymension were built with it, along with dozens of other chains in production and hundreds of experiments. So was ZetaChain, where I later led developer experience.
I joined Tendermint, the company behind the Cosmos SDK, as a frontend engineer in 2019. A year later I designed and built the first version, then called Starport, grew an engineering team around it from scratch, and led it as Director of Developer Experience and then VP of Product. In 2022 the company itself took the name Ignite.
In 2020, a new chain on the Cosmos SDK started as a fork of another one, wired up by hand before anything would run, with the app in front of it as a separate project. Ignite turned that into a command.
ignite scaffold chain planet writes a working chain called planet and a web app for it. ignite chain serve builds the chain, starts a node with test accounts and a token faucet, and rebuilds it whenever you save. From there, ignite scaffold adds the rest a piece at a time: a module, or a type of data with its transactions, queries and the client code to call them. The display at the top is that first session, and the wallet is the app that came with the chain.
Everything it writes is ordinary code in your own repository, not a framework hidden underneath. A chain lives for years and grows in ways no tool can predict, so its code had to belong to the team: plain Cosmos SDK code they could read, change and keep if they ever stopped using Ignite. It also meant that everyone who scaffolded a chain was reading real SDK code from the first minute.
I used it myself, too. In 2022 I prototyped the first version of Noble with it, the chain Circle later chose for native USDC in Cosmos.
Launching chains
Once a chain could start in minutes, launching it became the hard part: every validator has to start from the same genesis file, at the same moment. I started SPN, a chain for launching other chains, and led the team that built it as a working prototype. From the same CLI, a team would publish its chain, validators would join it, and it would launch when they were ready. In December 2020, during Tendermint's Starport talk at Interchain Conversations, the annual Cosmos conference, we created an example chain and launched it live.
Docs and teaching
Before Starport, I built the documentation system that the Cosmos SDK, Cosmos Hub, Keplr, CosmWasm and others published their docs with.
For Starport I wrote the introductory tutorials on building a module, which thousands of developers started from, and later rewrote the docs. I started the Ignite Discord, which grew to about 2,000 developers, and answered their questions there. I ran community calls and workshops, and judged and mentored at HackAtom hackathons. With each release I recorded a short video of what was new. The rest are in the playlist.
4 minGetting started with Starport6 minLaunch your blockchain in minutes10 minIBC Hello, world!6 minSending tokens to Cosmos Hub
Talks
When IBC, the protocol that lets Cosmos chains talk to each other, went live on the Cosmos Hub in 2021, I gave the Starport demo at the launch party. On the stream, I created a new chain, set up a relayer and sent tokens from it to the Cosmos Hub and back. I also spoke about Cosmos and Ignite at conferences in Moscow, Istanbul, Berlin, Lisbon and Medellín.
I turn new technology into products people can use. Right now that's AI: at Anuma, I design and build multiplayer AI for real life, an app that uses what it knows about you to help you find the right people nearby.
Before that, I spent six years on developer tools for blockchains. I created Ignite CLI, which chains like dYdX, Celestia and Sei started from, and built and led the team behind it. Then I led developer experience at ZetaChain.
I've spoken at dozens of conferences, from ETHSeoul to Cosmoverse in Medellín: keynotes, workshops, panels and live demos.