Career Profile
I have been working as a software engineer for many years and have mastered skills such as full-stack development; desktop, mobile, and web apps; microservice design; functional programming; CI/CD; cloud computing; and TDD.
More recently, that experience has deepened into distributed ledgers, databases, WASM, CRDTs, frontend and product design, and hands-on work with hardware wallet, Ethereum, Substrate, Solidity, and libp2p. I’m currently focused on building decentralized applications with local-first software design and blockchain-like global consensus.
Alongside that, I have been actively researching the surrounding stack: distributed file storage, computation and messaging, and DHTs, among others. Contact me if you want to discuss decentralized tech!
I enjoy working in an agile team with open-minded people around me. Remote work is the lifestyle that suits me best, and I do my best coding when it’s quiet.
Experiences
MarkdownSync is a local-first markdown editor with real-time collaboration.
Docs live on your device first. Edit offline, edit on a plane, edit in a tunnel — when you come back online, everything syncs. Share a document and co-authors see each keystroke within a frame.
An Egwalker CRDT handles character-level merges. Every op carries a stable ID and causal dependencies, so concurrent edits converge without a central arbiter.
Movedone is a local-first Kanban where humans and AI agents work together seamlessly.
It’s beautiful, runs completely locally, and is blazing fast compared to any other Kanban or project management tool out there.
Technology stack includes CRDT, Rust, Tauri, React, Postgres, SQLite, etc.
To solve the pain point of crypto self-custody, I started a project called Keyring, which is building a secure and handy hardware wallet for Web3 citizens. More information on keyring.so.
The technology stack includes Javacard for smart card development, Go Wails for the desktop app, and React Native for the mobile app.
It supports EVM-compatible blockchains including Ethereum, Optimism, and Base. Also got support from Optimism RetroPGF successfully.
Work on Waku, which is a decentralized, privacy-preserving communication network.
I contributed to the implementation of Go-Waku, focusing on core networking and messaging components. My work includes integrating the Double Ratchet algorithm for end-to-end encrypted private messaging within a Chat SDK, as well as implementing Reed–Solomon erasure coding to improve data reliability and resilience in peer-to-peer environments.
In addition, I implemented the Noise Protocol framework in Nim, enabling secure handshake patterns and encrypted transport layers. My research contributions span protocol reliability, bandwidth optimization strategies for resource-constrained networks, and exploration of Messaging Layer Security (MLS).
Worked with Substrate, a Rust-based blockchain framework. I designed a way for permissioned networks to only connect with authorized nodes. I maintained a Proof of Stake blockchain template which follows the mainnet launch process, including consensus, staking, and governance-related pallets. I also maintained the playground to help onboard developers, covering topics such as the macro syntax used in FRAME, storage data types, genesis config, and off-chain workers.
Besides coding, I actively promoted Substrate to developers in several ways: writing deep-dive tech posts about libp2p, Merkle Patricia Trie, governance, decentralization, and more; producing an online Substrate course that more than 1,000 developers joined; and supporting ecosystem teams with the Web3 Bootcamp, hackathons, and the Substrate Builder Program.
As a Full Stack Developer, I worked for REA Group (a global online real estate advertising platform) for more than two years. During this period, I worked closely with a great team (including PM, BA, etc.) to deliver many products like Audience Maximiser and Flexi subscriptions. These products brought lots of value to the customers. I also participated in a few HackDay projects, which mainly focused on re-imagining business models and improving our daily workflow.
My work included architecture design, like microservices and their interactions based on domain knowledge, product requirements, and organization structure. Leveraging functional programming to develop backend services reliably. Using React and Vue to create the web apps; Scala, Ruby, Java, Golang, NodeJS for the backend; CI/CD with Docker, Buildkite, Bamboo. Familiar with widely used infrastructure like AWS, k8s, Splunk, NewRelic, PagerDuty, JIRA, and Git. Sharing knowledge in the community, mentoring others, and recruiting.
I started my career at Quyi, a startup building a health management app that can also connect with traditional medical institutions like hospitals. I was so excited to build a web product — almost everything was different and new to me. As a quick learner, I took only a few weeks to learn Java and understand the business.
Detailed work included: breaking the original monolithic architecture into microservices, coding the open platform with SpringMVC and a RESTful interface for third-party applications to access the services, developing service registration and discovery with Zookeeper, designing an API Gateway with Netty, carrying out performance tests with JMeter, and providing technical support for third parties.
I got to know Bitcoin in 2013 and tried mining, but the network was blocking me from downloading any blocks. Wrote Solidity in 2016 with Remix; the dev experience wasn’t good back then.
Since then, I have been exploring decentralized tech. It feels like home in this space. Blockchain has its limitations, but more great things are coming!
Projects
The following are side projects and open-source libraries that I have been working on.
