Backend Engineer | Real-time market data & payments
TypeScript/Node.js, Rust, PostgreSQL, Redis. I build event-driven backends that ingest live data, evaluate rules against it, and handle money safely. Based in UTC+6, working remotely with teams anywhere.
Available for backend engineering roles and contract projects.
Kairos Quantum — real-time price-alert engine
TypeScript · Redis (pub/sub + sorted sets) · PostgreSQL/Prisma · Telegram Payments
An event-driven pipeline that turns a live market-data firehose into per-user alerts and paid subscriptions. Telegram is only the delivery channel.
- Ingests Binance's all-market ticker stream (2,000+ pairs) over a single persistent WebSocket, with exponential-backoff reconnect and a stall watchdog
- Redis pub/sub decouples ingestion from alert evaluation; Redis sorted sets index alert thresholds so each price tick is matched with a range query instead of a table scan
- Circuit breaker and timeout around evaluation, an in-memory dedupe window, and a rate-limited delivery queue
- Subscription payments recorded in a database transaction keyed on a unique provider charge ID, so a repeated payment event cannot grant access twice
- Graceful shutdown and a health endpoint
Arbiger — atomic cross-protocol execution program
Rust · Anchor · LiteSVM
A stateless program that executes a two-hop swap across two exchanges in a single transaction and reverts the whole transaction unless a minimum profit (in basis points) is met.
- Builds the cross-program calls by hand (raw instruction data, discriminators, Borsh) instead of relying on SDK crates
- Tested two ways: LiteSVM unit tests against a mock exchange program I wrote (profit, loss and exact-threshold cases), plus end-to-end tests on a local mainnet fork
Vesting Protocol — multi-tenant token-release scheduler
Rust · Anchor · TypeScript · Node.js
One deployed program serves any number of independent organisations. Each gets isolated state and funds, with time-gated release schedules (cliff plus linear vesting), role-separated authority, and revocation.
- Schedule timing comes from the on-chain clock, never from client input
- Funds can only leave through program-signed transfers, so no admin can withdraw them manually
node:testsuite covers the full lifecycle and attack paths, including revoke-then-claim and unauthorized claims- Deployed and verified end-to-end on devnet
| Project | Stack | What it is |
|---|---|---|
| sol-multisig | Rust, Anchor | M-of-N approval workflow: owners propose, approve and execute transfers |
| magic-game-tg | Rust, Anchor, MagicBlock | Prediction game on MagicBlock Ephemeral Rollups, deployed to devnet |
- Languages: TypeScript, Rust, C++
- Backend: Node.js, REST APIs, WebSockets, event-driven design
- Data: PostgreSQL, Prisma, Redis
- Tools: Docker, Git, Linux, Winston
400+ problems solved across LeetCode (1600+) and Codeforces, strong in graphs, dynamic programming and complexity analysis.

