About
I have spent roughly nine years in professional software development. Most of that time has been spent on React Native — building applications from an empty repository, taking over codebases that had drifted, and leading mobile teams through releases that could not slip.
The work I do best sits between product and engineering. A founder describes what the business needs; my job is to turn that into an architecture that can be built by a small team, shipped to two app stores, and changed again in six months without a rewrite.
I am not only a mobile engineer. I write the Node, Laravel, Python and FastAPI services the apps talk to, design the MySQL and PostgreSQL schemas underneath them, and handle the parts most people would rather avoid — native modules, push delivery, subscription state, real-time transport, release pipelines.
I have also led mobile engineers. That changed how I write software: I optimise for the person who inherits the codebase, not for the version of me that already has the whole system in my head.
Hover or focus anything to see what it connects to in practice.
Hover or focus a technology to see what it connects to.
No promises about passion. These are the things that actually change how a project goes.
I do not wait for tickets to be written for me. Given a product goal I will come back with the technical questions that need answering first, then own the decisions and their consequences.
React Native is my specialisation, not a second language. Native modules, platform differences, store review, push delivery and the parts of mobile that only show up once real users are on it.
Most difficult mobile bugs are not mobile bugs. Being able to read the API, the queries and the schema means I can find the real cause instead of working around it.
Fast is a feature people feel before they can name it. I profile rather than guess, and I treat a janky list or a three-second cold start as a defect, not a trade-off.
The right architecture is the simplest one that can absorb the next twelve months of change. I would rather remove a layer than add one.
Code is read far more often than it is written. Clear boundaries, honest naming and no clever tricks that need a footnote.
I have led mobile engineers — running reviews, setting standards, unblocking people and making the calls that keep a release on schedule.
Next
Want to talk about a specific project?
A short description is enough to start. I will tell you what I would want to know before quoting anything.