John Doe

Full-stack engineer · data & finance systems

Back-of-house systems
data products actually run on.

Three full-stack applications built the same way: a clear domain model, durable storage, and enough observability to trust what’s running. Spring Boot and React, end to end.

  1. Operational data sync

    DeltaBridge

    A cross-database sync engine that keeps MySQL and Elasticsearch in step. Typed connections with encrypted secrets, configurable job mappings, a scheduler with overlap protection, persistent run history, and rule-based health checks — incremental sync you can actually operate.

    Flow
    MySQL ↔ Elasticsearch
    Runtime
    Spring Boot 4 · React 19
    State
    In progress
  2. Trading research lab

    Crypto Lab

    A backtesting workbench over Binance USD-M futures. Daily trade dumps are aggregated into a one-second OHLCV Parquet lake with DuckDB, then replayed through a configurable strategy engine with fees, take-profit and stop-loss accounting — research infrastructure, not a toy.

    Data
    1s OHLCV · Parquet + DuckDB
    Engine
    Strategy backtests
    Runtime
    Spring Boot 4 · React 19
  3. Personal finance analytics

    Portfolio Lab

    Portfolio management for ETF and crypto holdings. Live price imports from Binance, grouped assets, DCA simulations, on-demand price tables, and role-based access — a finance dashboard that stays readable as the data grows.

    Assets
    ETF + crypto
    Pricing
    Binance imports
    Access
    Role-based (JWT)

Built for boring reliability and useful interfaces.

Backend

Spring Boot 4, Java 25, Spring Security 7 with JWT, Flyway migrations, typed REST APIs.

Frontend

React 19, Vite 6, Material UI, TypeScript, dashboards and dense admin workflows.

Data

Incremental sync, Elasticsearch, DuckDB and Parquet lakes, Binance market data.

Delivery

Maven multi-module builds, executable fat JARs, external config, smoke scripts.

Model the workflow first. Entities, permissions, and edge cases get settled before the UI grows complex.

Make it observable. Status, run history, coverage, and failure states live where the people running it can see them.

Keep the interface calm. Compact layouts, predictable controls, restrained motion, readable density.

Available for practical product work

Have a system that needs building?

I take on data-heavy products, internal tools, and operator consoles — work where correctness and maintainability matter more than surface polish.