~/dev $

I build _

Java engineer by day, building enterprise-scale OTT platforms with Spring Boot, Kafka, and Kubernetes. By night, crafting Bitcoin and Nostr tools in Rust and Python.

Java Spring Boot Kafka Kubernetes Rust Python Bitcoin / Lightning Nostr PostgreSQL Docker

// what I do

Experience & Projects

Professional — OTT Platform Engineering

Day Job

Java engineer at Sky, working on a large-scale OTT content management platform powering multiple streaming propositions. The system spans 100+ microservices handling content ingestion, curation, scheduling, and multi-format feed distribution (Apple, Roku, YouView, EPG).

Java 17 Spring Boot Kafka Kubernetes PostgreSQL Solr Hazelcast Docker Gradle Jenkins Flyway OpenAPI

// personal projects

Open-source side projects exploring Bitcoin, Nostr, and async systems.

Nostr Daily Bot

Personal Project

Rust · Axum · PostgreSQL · Nostr SDK

A multi-user Rust backend for scheduling posts to the Nostr network. Users authenticate via NIP-07 browser extensions, pre-sign events locally, and the server publishes them on per-user cron schedules. Integrates BTCPay Server for Bitcoin/Lightning tipping.

  • NIP-07 challenge-response auth — private keys never leave the user's device
  • ~20 REST endpoints with auto-generated OpenAPI/Swagger documentation
  • Per-user cron scheduling with timezone support across multiple relays
  • Bitcoin/Lightning tipping via BTCPay Server with HMAC webhook verification
  • Production observability: structured JSON logging, Prometheus metrics, rate limiting
RustAxumPostgreSQLNostrNIP-07BTCPayFly.ioPrometheus

Sats Escrow

Personal Project

Rust · Axum · MongoDB · Svelte · Tailwind

A Bitcoin escrow service implementing hexagonal architecture and domain-driven design. Features a deterministic state machine guiding transactions from creation through funding, delivery, and dispute resolution — with a clean ports-and-adapters pattern for pluggable backends.

  • Hexagonal architecture: 4-crate monorepo with 7 port traits for full dependency inversion
  • Deterministic state machine: Created → Funded → AwaitingDelivery → Released/Disputed
  • Mock + MongoDB adapters — run the full system without external services for testing
  • Svelte + Tailwind frontend with reactive stores and dark/light mode
  • API-versioned (v1) REST endpoints with utoipa Swagger documentation
RustDDDHexagonal ArchMongoDBSvelteBitcoinDocker

URL Shortener

Personal Project

Python · FastAPI · PostgreSQL · Redis

A full-featured async URL shortening service with built-in analytics, QR code generation, Redis caching, and sliding-window rate limiting. Demonstrates production-grade Python patterns including background task processing and cache-aside retrieval.

  • Async-first: asyncpg + Redis for non-blocking I/O throughout the stack
  • Redis sliding-window rate limiting with sorted sets (60 req/min + burst capacity)
  • Background click analytics — redirect response fires instantly, logging happens async
  • Cache-aside pattern: Redis lookup → DB fallback → cache write for fast redirects
  • QR code generation, JWT auth, and Alembic migrations for schema versioning
PythonFastAPIPostgreSQLRedisAsyncJWTDocker

// technical stack

Skills & Tools

{ }

Languages

JavaRustPythonGroovyTypeScriptJavaScriptSQL

Professional Stack

Spring BootSpring SecuritySpring KafkaGradleJUnit 5SpockCucumberFlyway

Side Project Stack

AxumTokioFastAPISvelteSQLAlchemyTailwind CSS

Infrastructure

KubernetesDockerKafkaPostgreSQLMongoDBRedisSolrHazelcast
🔗

Protocols & Tools

Bitcoin / LightningNostr (NIP-07)BTCPay ServerREST / OpenAPIPrometheusJenkinsGitHub Actions
🏗

Architecture

MicroservicesEvent-Driven (Kafka)Hexagonal / Ports & AdaptersDomain-Driven DesignState MachinesCI/CD Pipelines

// get in touch

Let's Build Something

Interested in collaborating on Bitcoin, Lightning, or Nostr projects? I'm always open to discussing new ideas and opportunities.