25+ years of experience · remote
C# / .NET · Node.js · Next.js · Vue.js · Angular · and more
I build front to back. I, the team.
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.
Clients & work: Boston Logan International Airport, Nashville International Airport, Radio Free Europe / Radio Liberty, CzechTourism, VisitCzechia, Stora Enso, Xperience by Kentico, Fuseideas
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, among them CzechTourism, VisitCzechia, Tyler Technologies, Stora Enso’s Asia-Pacific business and Leverage.it. ASP.NET Core, Node.js, Next.js, Vue.js 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, Nashville International Airport and Morehead State University. Commercial CMS work on SharePoint, Ektron and Xperience by 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.
Everybody was self-taught back then
PHP, for a company selling computers. There was no bootcamp to skip; the whole industry was making it up as it went.
The code answers
to me.
Twenty-five years of judgement, and a toolchain I’ve been building and hardening over the last year. 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, vue, angular } from 'frontend'; import { web, mobile } from 'platforms'; import * as yourStack from 'your-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 ivana.review(ai.handle(task)); 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 one person can deliver a team’s scope
The hours that used to disappear into boilerplate, migrations, test scaffolding and repetitive plumbing are largely gone. That time doesn’t vanish into a lower invoice; it becomes speed and scope. No handoffs between four specialists, no sprint spent aligning a team, no project manager or agency layer between you and the person doing the work. Same budget, more finished product, delivered by someone who was in the room for every decision.
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 would otherwise mean hiring and coordinating several people.
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.
Long-term contract
Embedded in your team for the long run, the way I’ve worked with clients for years. Remote, senior, low-drama.
Extra pair of hands
Some teams don’t need a project, they need a senior developer for a few days a month: the tickets nobody gets to, the migration that keeps slipping, the release week when everyone is underwater. I keep capacity for this. It’s also how a good number of my longer engagements started.
Not sure which?
Describe the problem in three sentences. I’ll tell you honestly whether I’m the right person. Rates depend on the work, so I quote per engagement rather than from a price list. Tell me what you need and I’ll tell you what it costs, whether that’s two days or six months.
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.
Confidentiality, and what happens if I’m unavailable.
Two questions serious clients ask before signing anything. Here are straight answers to both.
Your code and your data
What the tooling is
Agents I configure myself, each scoped to a single feature, working against rules I write before any code is generated. Nothing is pointed at a whole codebase and left unsupervised. Every generated line goes through the same review a junior developer’s pull request would get; I’m accountable for all of it, reviewed or written.
What never goes into a prompt
Production data, customer records, personal data, credentials, keys, connection strings, secrets. If a task needs realistic data, I generate synthetic fixtures instead.
Where your code goes
I only use commercial, business-tier AI tooling, never a consumer chat subscription, and I choose providers whose terms state plainly that prompts and code aren’t used to train their models and aren’t retained beyond what’s needed to serve the request. Processing happens in the US, under those providers’ standard data protection terms. I’ll name the specific tools in writing before work starts, so you can check their terms yourself before, not after. If US processing is a problem for your project, that’s exactly what the Restricted and AI-free options below are for.
NDAs and IP
I’ll sign yours, or a standard mutual one if you prefer. All IP in the work transfers to you. Your code and business logic are never reused in another client’s project, and I don’t use client work as a portfolio example without written permission.
Restricted option
If your project can’t have a third-party model anywhere near your actual code, tell me. In practice that means AI-free on your codebase: I still use my own generic tooling for scaffolding and research, but nothing proprietary of yours ever reaches a model.
AI-free option
If your project can’t have AI involved at any point (regulated data, a client policy, a board that hasn’t settled the question), say so and I’ll scope and price the work as fully hand-written. Slower, and priced accordingly, but a real option, not an afterthought.
If I’m unavailable, you’re not stuck.
Fair question to ask before signing anything: what happens if I’m ill, booked, or the project outgrows one developer?
- Your repository, your hosting, your accounts, your cloud, your credentials, your network or VPN if that’s how you work: I build inside your infrastructure, not mine. Nothing is hostage to my access.
- Mainstream stack, conventional patterns, no bespoke framework of my own invention. Your next developer already knows how to read it.
- Documentation and architecture decisions are committed alongside the code, so the system transfers along with it.
- The agent rules and prompts I use are committed to the repo too, not kept in my head, so the method transfers, not just the code.
- A written handover document is part of every engagement, not something produced in an emergency.
- An agreed notice period on both sides, and if I ever need to step away, I’ll help you find and brief a replacement.
Tell me what
you’re building.
What’s not working, or what your team hasn’t got time for, works too. 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
