Backend & Data Architecture

High-performance backends with ClickHouse OLAP analytics, microservices architecture, and AI-augmented development workflow. 8+ years building scalable data systems with 300M+ row datasets.

300M+
Rows in Production
25×
Query Speedup (p95)
<200ms
Headline Dashboard Queries

What I Build

From microservice design to OLAP analytics — backend architecture that scales with your data.

Microservice Design

Architect and build microservice systems with clear domain boundaries, event-driven communication, and independent deployability. From monolith decomposition to greenfield multi-service platforms.

  • Domain-driven service boundaries
  • Event-driven architecture
  • API gateway patterns
  • Independent deployment & scaling

OLAP & Analytics

Design ClickHouse OLAP solutions for real-time analytics on massive datasets. Materialized views, columnar storage optimization, and hybrid PostgreSQL + ClickHouse architectures for the best of both worlds.

  • ClickHouse columnar analytics
  • Materialized views + CQRS read projections
  • 300M+ row dataset handling
  • 25× query speedup (~5s → <200ms p95)

Data Pipelines

Build reliable data ingestion and transformation pipelines. From external API sync (SamgovAPI, third-party feeds) to internal ETL with validation, deduplication, and AI-powered data sanitization.

  • ETL pipeline design
  • AI-powered data sanitization
  • Real-time sync & ingestion
  • Data quality validation

AI-Augmented Development

Leverage AI-native development workflows for rapid, high-quality delivery. Claude Code with custom agent skills, TDD-driven AI code generation, and MCP integrations for plan-implement-test-iterate loops.

  • Claude Code & MCP integrations
  • TDD-driven AI code quality
  • Custom agent skills
  • Plan-implement-test-iterate loops

Technologies I Use

Battle-tested backend stack for building scalable data systems

NestJSFastifyExpress.jsPostgreSQLClickHouseRedisRabbitMQDockerTypeScriptNode.jsClaude CodeREST API

Backend Projects

Melio MealPlan AI

AI-Powered Meal Planning

NestJS + Python FastAPI dual-service backend with PostgreSQL, a BullMQ + Redis job queue, and Passport.js JWT auth. NestJS POSTs generation jobs to the FastAPI ai-service, which streams Server-Sent Events back across 3 service boundaries (Python → NestJS → Next.js) behind a 90s hang guard. Stripe handles subscription billing, and the services run on AWS ECS Fargate over RDS PostgreSQL and ElastiCache Redis.

USDA Ground Truth
Server-computed macros — nutrition numbers can't be hallucinated
3-Layer Validation
Programmatic + LLM-judge + blocking USDA fact-check with retry
Crash-Resume
MealPlanState checkpointed to Postgres after every node
AWS Deployed
ECS Fargate + Lambda/OpenNext over RDS + ElastiCache + CloudFront
View Project

Feels Protocol

Solana DEX Trading Platform

feels-indexer in Rust on Tokio over a four-backend storage layer — PostgreSQL for analytics, RocksDB for raw account state, Redis for hot cache, and Tantivy for token search. Discriminator-routed Borsh deserialization across 10+ Solana account types and on-chain event types, exposed via ~40 REST endpoints with Scalar OpenAPI docs and Prometheus metrics.

30+ Components
Full trading UX from market catalog to vault redemption
4 Backends
PostgreSQL + RocksDB + Redis + Tantivy storage layer
~40 Endpoints
Documented REST surface with OpenAPI + Prometheus
2-Lane E2E
Deterministic Playwright tests on LiteSVM in-memory RPC
View Project

GovChime Analytics Platform

Government Contracts Intelligence

ETL-heavy backend applying CQRS over 300M+ records: a PostgreSQL 16 OLTP write model with a ClickHouse OLAP read projection. A custom node-schedule BaseScheduler drives the ETL layer — data ingest (SAM.gov → idempotent composite-key upserts), materialized-view refresh, and a 6-hour PG→ClickHouse projection. ~20 PostgreSQL materialized views (5 core pre-aggregations, ~80% of dashboard queries) cut p95 latency 25× (~5s → <200ms), and a 4-level read cascade (CH MV → CH Live → PG MV → PG Live) degrades gracefully. NestJS API with Zod validation across 200+ endpoints, 200+ dynamic filters via a SQL-injection-safe WHERE-clause builder, iron-session + JWT hybrid auth, and Stripe billing — deployed on Komodo bare-metal (Hetzner) with 24+ GitHub Actions workflows on a self-hosted runner.

25× Faster
p95 query latency ~5s → <200ms via ~20 materialized views
300M+ Records
PostgreSQL 16 OLTP write model + ClickHouse OLAP read projection (CQRS)
Zero Data Loss
Reconciliation-backed completeness despite 20–28% pagination drift
~5–10× Cost Cut
Railway → Komodo bare-metal on Hetzner
View Project

Filament Web3 Airdrop Platform

Decentralized Governance & Token Distribution

Designed NestJS backend for campaign lifecycle management and multi-phase governance voting. Adapter pattern with unified ITransaction interface for Ethereum + Hub blockchain. Event-driven WebSocket architecture for real-time transaction state sync across the full campaign lifecycle.

Multi-Chain
Unified Adapter for Ethereum + Hub blockchain
Event-Driven
WebSocket real-time transaction tracking
NestJS Backend
Campaign lifecycle + multi-phase voting logic
Ethers.js
On-chain execution and automated token distribution
View Project

Primsell NFT E-Commerce

Web3 NFT Campaign Platform with 7-Service Monorepo

Architected 7-service monorepo with Express.js + NestJS backends, Awilix DI container, and event-driven workflow engine using EventEmitter2. 11 background daemons handle async processing — order expiration, OpenSea/Rarible secondary sales parsing, smart contract deployment, and POAP distribution. Stripe webhooks with Binance API currency conversion.

7 Services
Monorepo with Express.js, NestJS, and 4 React frontends
11 Daemons
Background processors for async order and NFT lifecycle
10K+ Items
NFT creation flows with IPFS metadata storage
Awilix DI
Full dependency injection across 19 controllers and 27+ services
View Project

SpaceSeven NFT Marketplace

Multi-Chain NFT Marketplace with Go Backend

Go Fiber backend with clean layered architecture (Actions → Services → DB) and 37 GORM entities on PostgreSQL. Protocol Buffer integration for Concordium smart contract calls alongside standard ABI encoding for Ethereum. STOMP WebSocket for real-time auction bidding and notifications. Smart contract versioning system for on-chain upgrade management.

2 Blockchains
Concordium + Ethereum unified behind common interface
37 Entities
Go Fiber + GORM production backend
Go + React
Fiber v2 backend with Next.js 11 monorepo frontend
White-Label
Universe system for branded marketplace instances
View Project

ROBBED_

Memecoin Launchpad on an Arbitrum Orbit L2

**Indexer.** Ponder over the on-chain event families → Postgres with `pg_trgm`, the single source of derived truth: venue-continuous candles across six intervals, `Transfer`-sourced holder balances, confirmation-state watermarks, metadata-hash verification, and creator-fee accrual — one Redis publish per handler and zero hot-path reads. **API + WS.** Hono on Bun as two processes — HTTP (25+ read endpoints over indexer tables, `pg_trgm` search, API-mediated R2 uploads, server-side metadata canonicalization, moderation gating, SIWE admin, per-token OG rendering via satori + resvg) and a Bun WebSocket fanout relaying Redis to sockets. The API never writes to the chain. **Keeper.** A small Bun + viem service that makes graduation automatic — a topic-filtered `eth_subscribe` on `GraduationReady` fires the permissionless `graduate()` within ~1–2 blocks, with a Postgres sweep as the fallback for WS drops, an on-chain `phase()` re-read before every send for idempotency, and a cooldown that stops persistent-revert hot-loops. It holds no privileged role and adds zero new authority.

7 Contracts
Immutable, no proxies, MIT and Blockscout-verified at deploy
<500ms
Chain event to browser, WebSocket-only with no polling layer
Live on Mainnet
Deployed and trading on Robinhood Chain (chain ID 4663)
53 E2E Flows
Catalog enforced by a 1:1 static coverage gate in CI
View Project

Backend Architecture FAQ

When should I use ClickHouse vs PostgreSQL?

PostgreSQL is excellent for transactional workloads (CRUD, user data, business logic). ClickHouse shines for analytical queries on large datasets — aggregations, time-series, reporting dashboards. I often use both: PostgreSQL as the source of truth and ClickHouse for OLAP analytics, with materialized views bridging the two.

How do you approach microservice architecture?

I start with domain-driven design to identify service boundaries. Each service owns its data and communicates via events or APIs. I use NestJS for structured backend services, Redis for caching, and RabbitMQ for async messaging. The goal is independent deployability without premature complexity.

What does AI-augmented development mean in practice?

I use Claude Code as my primary development partner with custom MCP integrations and agent skills. The workflow is: write test specs first (TDD), then use AI to generate implementation, validate against tests, and iterate. This delivers 2-3x development speed while maintaining code quality through automated testing.

Can you work with my existing backend?

Yes. I regularly integrate into existing Node.js/NestJS codebases. Whether it's adding ClickHouse for analytics, decomposing a monolith into services, or optimizing slow queries — I can work incrementally without disrupting your current system.

Hiring a Backend / Data Engineer?

I'm open to full-time senior engineering roles. Reach out and let's talk about your data architecture challenges.

Get in Touch