Frontend engineer · React and TypeScript · Enterprise web applications
The flow that loses people. The screen with more data than it can hold. The library that will not bend. The rules that keep changing.
These are the problems I have spent nine years on. Process mining, business process management, digital banking, language learning.
Selected work
An account-opening flow that onboards 600 people a day
Building the digital Open Account journey for a consumer bank, where every additional step costs you a measurable percentage of the people who started.
Bajet, a consumer digital banking PWA · Simorq Tejarat · 2021 to 2024Making BPMN-IO do what it was not built to do
Extending a mature open-source workflow modeller with custom components and behaviours, without forking it and without fighting it.
Enterprise business process management suite · Faash · 2024 to 2025Two minutes off the slowest workflow
Finding and fixing a data-transport bottleneck on an enterprise analytics platform, and the unglamorous work of proving where the time actually went.
Farakav, an enterprise process-mining platform · Golrang System · 2025 to presentThe same dashboard, rebuilt three times
Turning a German self-study language platform into a learning management system, where the hard part was never the exercises — it was deciding who is looking at the screen.
Davilo, a German language-learning platform · contract, remote · 2019 to 2021, and again in 2025
About

I have spent most of the last nine years on enterprise products where the interesting problem is not the interface itself but what happens when real data volume hits it. A process-mining platform rendering analytical datasets. A business process suite whose workflow editor had to do things its underlying library was never designed for. A consumer bank where the onboarding flow either worked at six hundred people a day or it did not work at all.
The common thread is that these are all products where the frontend is the product. There is no fallback interface, no power-user CLI. If the table locks up while it sorts, the feature is broken.
I work in React and TypeScript, and I have been doing it long enough to have opinions about state management that I hold loosely. I have worked remotely with a German team since 2019, across three separate contracts, which has made me better at writing things down than I would otherwise be.