Skip to content

Full-stack engineer for web applications, data systems, and automation.

3+ years building production fintech software at Lentra AI across Angular, Spring Boot, data ingestion, and reusable frontend systems.

Now - building self-hosted products and dependable data systems

View resume

Capabilities

What I go deep on

Less a stack, more a short list of problems I keep choosing to solve.

products, idea to production

kosh · tinyreplay · koguko - designed and shipped end to end, open source

I take a rough idea to something people actually run - scoping it, building the full stack, and owning the unglamorous last stretch that decides whether it ships. I'd rather go deep on one product that holds up than spread thin across ten that only demo well.

frontend architecture & design systems

reusable frontend infrastructure and data-dense dashboards at Lentra

I build interfaces as systems, not screens: shared primitives, predictable state, and accessibility and responsive behavior designed in from the start instead of bolted on later. The bar is a codebase where the tenth feature stays as clean as the first.

backend systems, apis & data

a document ingestion pipeline taken from 40 minutes down to 40 seconds

Services and APIs that stay correct under real load - ingestion pipelines, real-time flows, and background work with explicit contracts and clean data models. I settle the shape of the data before the shape of the code.

ai, automation & internal tooling

evidence-aware enrichment and workflow automation in Scoutexa

I bring models and automation into products where they remove real toil - enrichment, agentic workflows, and internal tools built with guardrails - so the output is something you can trust, not just a convincing demo.

reliability, security & privacy

137 and 231 passing test suites · ephemeral-by-default, capture-time masking

I design around failure and misuse before the happy path: idempotency, strict validation, bounded retries, and privacy that's structural - encryption, scoped access, and data that expires by default rather than by policy.

About

How I think

I build full-stack software - the interface, the services behind it, and the data underneath - and I'm most careful about the parts that fail quietly when you get them wrong.

Day to day that means product surfaces - dashboards, real-time interfaces, reusable frontend systems - sitting on ingestion pipelines, APIs, and background jobs. At Lentra I've shipped document processing and payment systems for production fintech; on my own I build and ship self-hosted products and open-source tools, end to end.

I design around failure before the happy path - idempotency, strict validation, explicit data boundaries. Speed, privacy, and a clean interface aren't polish added at the end; they're part of whether the thing is correct. I'd rather ship something small that's genuinely dependable than something broad that mostly holds.

Most of what I make, I take from the first sketch to the thing people actually run.