25+ years of experience · remote
C# / .NET · Node.js · React · Next.js · Angular · and more
I build front to back. Alone.
Twenty-five years building websites that public institutions and real businesses actually depend on. Today I pair that with AI agents I build myself and keep on a short leash — so one developer covers what used to take a whole team.
Selected clients: Logan Airport, Tyler Technologies, Czech Tourism, Radio Free Europe / Radio Liberty, Xperience by Kentico, Fuseideas, Anthropic, OpenAI
Where I’ve been.
Long engagements, public systems, real traffic. I’m strongest in modular, extensible solutions — the kind a different team can still pick up and work in five years' time.
Independent contractor & consultant
Clients from small businesses to large corporations and government agencies — CzechTourism, Tyler Technologies, StoraEnso, Leverage.it and others. ASP.NET Core and Angular, plus integration work across Anthropic, OpenAI, Dialogflow, Alexa and others.
Lead, back-end and front-end developer
Thirteen years across many sites, including the public web for Boston Logan International Airport. Commercial CMS work on SharePoint, Ektron and Kentico.
In-house CMS, 10+ language services
Built and maintained the content platform behind one of the world’s best-known news broadcasters, used daily across a dozen languages.
The code answers
to me.
I don’t hand a codebase to a chatbot and hope. I build narrow agents for specific features, set their rules up front, and read what comes back line by line. The judgement, the architecture and the responsibility stay with me — only the typing doesn’t.
import { csharp, aspnet, nodejs } from 'backend'; import { nextjs, react, angular } from 'frontend'; import { web, mobile } from 'platforms'; import * as whateverElse from 'the-project'; // 25 years in, a new framework is a weekend, not a career change const ivana = new Developer({ experience: 25, vibe: 'seen it all' }); const ai = new Intern({ experience: 3, vibe: 'know it all' }); function assignTask(task) { if (task.repetitive || task.mechanical) return ai.handle(task, { supervisedBy: ivana }); return ivana.handle(task); // planning, review, judgement }
Narrow agents
Each agent gets one feature and a tightly drawn scope. Nothing is ever pointed at the whole repository and told to be creative.
Rules first
Modularity, extensibility, one source of truth, the project’s own conventions — written down before the first line is generated.
I read every line
Generated code goes through review like a junior’s pull request: checked, refactored, tested — and rejected when it’s wrong.
One senior, team output
Backend, front end, integrations, migrations — scope that used to be split between four people, delivered by one who handles the direction, the planning and the review on all of it.
Where the hours used to go
This is the part AI actually removes: repetitive, mechanical work that never needed twenty-five years of judgement. What it doesn’t remove is the deciding.
the manual labour is gone — not the expertise
And that’s why it costs you less
The hours that used to disappear into boilerplate, migrations, test scaffolding and repetitive plumbing are largely gone. You pay for the thinking — the planning, the decisions, the review — not for the typing. Same quality, far fewer billed hours, and no agency overhead layered on top.
What you can hire me for.
Team-replacement builds
A whole product, end to end, by one senior developer with a supervised AI toolchain. The kind of scope that used to require a squad and a project manager.
Fixed-scope projects & MVPs
Clear brief, agreed scope, delivered. Good when you know what you want and need it built properly the first time.
Rescue & legacy work
Inherited a codebase nobody wants to touch? I’ve spent two decades untangling systems exactly like that. First I stabilise it, then I make it extensible.
Consulting & architecture review
A second experienced pair of eyes on your structure, your modules and your AI workflow — before it gets expensive.
Long-term contract
Embedded in your team for the long run, the way I’ve worked with clients for years. Remote, senior, low-drama.
Not sure which?
Describe the problem in three sentences. I’ll tell you honestly whether I’m the right person.
Write to me
I also photograph.
Unpaid, entirely voluntary, and somehow important. Every photograph on this site is mine.
A hobby, not a second business. Photo expeditions when I can make the time — Mongolia, Namibia, Uganda, Myanmar — and in between, flowers, dogs and the street outside. This is where I solve nothing.
Photo exposure details: Mongolia · Nikon D810 · 70-200mm f/2.8, Namibia · Sony NEX-7 · 16mm f/2.8, Uganda · Nikon D810 · 70-200mm f/2.8, Myanmar · Nikon D90 · 70-200mm f/2.8, Czech Republic · Fujifilm X-T2 · 50-140mm f/2.8, Norway · Fujifilm X-T2 · 18-55mm f/2.8
Same instinct as in development: notice what matters, then get it right in one pass.
Tell me what
you’re building.
Tell me what you’re building, what’s not working, or what your team hasn’t got time for. I answer every message myself, usually within a day — and if I’m not the right fit, I’ll say so.
remote · English & Czech · currently taking on new work
