Rescue, with numbers
A hundred requests on first load, force-dynamic everywhere, a regression on every minor bump. I measure first, then fix the three things that matter, then hand you a checklist for the rest.
Next.js, with and without Vercel
App Router, Server Components, streaming, caching rules nobody remembers. I ship Next.js when it earns its place and rescue apps where it did not. Below, a demo that measures the difference between a request waterfall and one streamed response.
Available from November 2026 · Wrocław, Poland (CET), remote

A hundred requests on first load, force-dynamic everywhere, a regression on every minor bump. I measure first, then fix the three things that matter, then hand you a checklist for the rest.
One HTML response, slots filled out of order as results arrive, no hydration when none is needed. I built that for agent output without a client framework. Next.js can do it too, if nobody fights the defaults.
Self-hosted Next.js on a Node.js server or Docker, or the static parts on Cloudflare. The honest answer sometimes is “stay and go all-in on Vercel”. I will say which.
When React2Shell landed I patched our product the day the advisory went out and swept the code for the same bug class. Next.js apps get the same treatment.
Proof
Problem, what I did, result. Client names only where I am allowed to use them.
See also: JavaScript
See also: Cloudflare · Maintenance & CI/CD
See also: TypeScript & Node.js · Maintenance & CI/CD
One foot in the door
Two ways to see how I work before you commit to a sprint. Fixed scope, a number in writing after a short call.
I read the repo, CI, tests, security and the parts the team avoids. You get a written report with findings ranked by risk, a plan with milestones and a go or no-go you can defend. I have run this for a large software house before its clients saw the code.
Send me the diff that worries you. Within a few days you get line-level comments, the three things I would change first and whether I would merge it.
Live demo
Left: twelve sequential requests, the shape of a page that fetches in every component. Middle: the same twelve in parallel. Right: one streamed HTML response from a Worker, with five slots arriving out of order. The timeline shows time to first byte, each chunk and the total.
Demo loading…
Then answer the five questions under the timeline. They are the ones I ask on a rescue call.
How it works
You describe the product and the problem. I ask the questions I would ask on day one. If I am not the right person, I say so and point you to someone who is.
A short written plan follows: what we build first, what we measure, how we work together and what it costs. No slide deck.
The first slice ships in the first week: deployed, measured, reviewable. From there the work is paced by what the numbers say.
Fit check
Working style
Hundreds of pull requests reviewed. I review for the product and its reasons. The code comes second.
A bug is fixed or consciously closed, never parked. Alerts and error tracking in every project, so I learn about problems before the client does.
PostHog in every project from day one. A tracking plan per feature and dashboards leadership actually reads.
FAQ

A free 30-minute call. You bring the problem, I bring questions. No prices on this page because scope comes first.
If I am the wrong person I will say so on the call and point you to someone better.
After you book: a calendar invite, then the call. Nothing else to fill in.
Available from November 2026 · B2B contract or employment · Wrocław, Poland (CET), remote