About

I started by shipping features.
Now I care about why the product exists.

Early on, I was mostly focused on making the screen work and the endpoint return the right thing. The more products I built, the more I wanted to own what happens before and after that code.

Today I like being close to the whole problem: what the user is trying to do, which rules belong in the domain, how permissions should work, what the API should promise, and whether the final interaction actually feels simple.

Founder

SCRIPE

SCRIPE is where that responsibility is widest. I'm shaping the product, the platform underneath it and the code that turns decisions into something usable.

Open source

AstraFlow

AstraFlow forces me to think differently: the user is another developer, so naming, errors, compatibility and documentation are part of the product.

Range

.NET · Next.js · Flutter

I move between .NET, Next.js and Flutter because the useful boundary is the product problem—not the framework logo.

What I reach for

What I use when it fits the job.

BackendASP.NET Core · EF Core · PostgreSQL / SQL Server · REST · OpenAPI
WebNext.js · React · TypeScript · SSR / App Router
MobileFlutter · Dart · BLoC/Cubit · local persistence
ArchitectureModular monoliths · DDD where useful · CQRS where useful · explicit authorization
DeliveryDocker · CI/CD · observability thinking · production configuration
ProductProblem framing · workflow modeling · technical trade-offs · ownership through delivery