Leading a Distributed Team to Ship a Production Web3 Naming Service

January 18, 2025

At ZNS Connect, I led a distributed development team to deliver a stable, production-ready decentralized naming service on EVM-compatible chains. The job wasn't just writing code. It was aligning design, backend, and smart contract developers, fixing reliability, and shipping a full mobile app. Here's what I learned.

The Starting Point

When I came in, the system was running at about 70% uptime. For a naming service where users register domains and manage on-chain identities, that's not acceptable. The product worked in flashes, but outages and instability were killing trust. We had to fix reliability while building new surface area: affiliate logic, mobile, and DefiLlama visibility.

Taking Uptime from 70% to 99.5%

We dug into infrastructure, error handling, and monitoring. No single silver bullet. It was a mix of:

  • Better error handling – Graceful degradation instead of cascading failures
  • Health checks and alerts – Knowing when things break before users do
  • Rethinking critical paths – Ensuring registration and resolution stayed up even when non-critical features failed

Getting from 70% to 99.5% took months of iteration. It meant saying no to some features until the core was solid. Stability had to come first.

Leading a distributed team means prioritizing ruthlessly. Uptime and core flows beat new features every time.

Cross-Functional Collaboration

We had design, backend, and smart contract developers spread across time zones. The work required tight coordination: affiliate logic touched contracts and backend, UI changes needed design approval, and everything had to stay consistent across web and mobile. We leaned on async updates, clear ownership per area, and short syncs for unblocking. Documentation and shared specs became non-negotiable.

Shipping the Mobile App

We built the full mobile version of ZNS.bio using React Native and Expo. The goal was parity with the web experience: register domains, manage profiles, and interact with the naming service from iOS and Android. That meant shared logic where possible, platform-specific polish where needed, and testing on real devices. Shipping mobile expanded who could use ZNS and forced us to think about UX in smaller screens and slower networks.

Visibility via DefiLlama

We enabled TVL tracking on DefiLlama so ZNS could be listed and tracked alongside other protocols. That was about integrations, data feeds, and making sure our metrics were accurate and up to date. Visibility matters for trust and discovery in Web3.

What I Would Do Differently

  • Invest in monitoring earlier. We added it mid-flight. Starting with solid observability would have sped up the uptime work.
  • Define contracts between teams upfront. Clear API boundaries and interface definitions would have reduced back-and-forth.
  • Mobile in parallel, not after. Building mobile alongside web from the start would have avoided some rework.

Wrap-up

Leading a distributed team to ship a production Web3 product is about reliability, alignment, and execution. We improved uptime from 70% to 99.5%, shipped the mobile app, integrated affiliate logic, and got ZNS on DefiLlama. The lesson that stuck: ship stable first, then expand.

GitHub
X