Fintech · Web3 · Distributed Systems

NovaPay — Digital Asset & Payments Platform

Distributed payment, wallet, and treasury systems across customer products and backend services.

RoleFull-Stack Software Developer
PeriodJan 2026–Present
DomainFintech / Web3 / Distributed Systems
Context

Payments are product flows and distributed systems at the same time

NovaPay brings customer-facing digital-asset experiences together with payment, wallet, and treasury services. My work sits across those boundaries. A screen that appears to perform one action can depend on address management, balance state, asynchronous processing, network-specific transaction rules, and operational feedback. The engineering challenge is therefore broader than implementing an interface or exposing an endpoint in isolation.

I contribute as a full-stack developer, working from product behavior through service integration. The goal is to keep user-facing states clear while treating retries, partial failures, and delayed network outcomes as normal system conditions. This case study describes public capabilities only. It does not expose private topology, credentials, transaction data, internal controls, or confidential metrics.

Contribution

Connecting wallet operations to understandable product states

I build customer product workflows and the services that support them. That includes turning payment or wallet requirements into explicit states, integrating APIs, and making asynchronous progress visible rather than presenting a misleading binary success or failure. On the backend, I work on boundaries around payment, wallet, and treasury responsibilities so each service owns a clear part of the flow.

Multi-chain support requires shared product concepts without pretending every network behaves identically. Bitcoin, EVM networks, and TRON have different transaction models and integration details. I help keep those differences behind deliberate adapters while preserving the network-specific information that operators and users need. Address handling, balance synchronization, signing, broadcasting, and confirmation tracking are treated as related but separate capabilities.

Customer payment flows

Interfaces and API contracts represent validation, processing, confirmation, failure, and recoverable states without hiding asynchronous behavior.

Wallet operations

Address, balance, transaction, and network concerns are separated so that shared behavior remains maintainable across chains.

Service communication

Asynchronous messages support longer-running operations while consumers remain explicit about retries and idempotent handling.

Operational clarity

Failures carry enough context for safe recovery without exposing secrets or requiring users to understand internal service boundaries.
Engineering decisions

Reliability is part of the product contract

Decision

Model progress explicitly

A request being accepted is not equivalent to a transaction being final. Product and service states reflect that distinction.
Decision

Keep chain differences contained

Shared orchestration uses stable interfaces while adapters retain the behavior and validation rules of each network.
Decision

Design for repeat delivery

Consumers assume that messages or requests can be retried, so identifiers and state transitions are designed to avoid duplicate effects.
Outcome and learning

A maintainable path through a high-consequence domain

The delivered work supports real product capabilities across payments, wallet operations, treasury workflows, and customer experiences. The most important outcome I can state publicly is capability rather than an invented metric: users and internal workflows can move through complex digital-asset operations while the implementation preserves explicit service and network boundaries.

The work reinforces a principle I apply elsewhere: reliability cannot be added after a happy-path flow is complete. When a product depends on external networks and asynchronous services, time, retries, ambiguity, and recovery are core design inputs. Treating them that way produces clearer interfaces, safer backend behavior, and systems that are easier to extend when another network or product requirement arrives.

Technical stack

Tools used in context

TypeScriptNestJSPostgreSQLRedisRabbitMQBitcoinEVMTRON
Start a conversation

Working on a complex product or system?

I’m open to full-stack engineering roles and selected collaborations across Web3, AI automation, and data-intensive products.

Email me LinkedIn GitHub