███████████ █████ ███████████ ███
▒▒███▒▒▒▒▒███ ▒▒███ ▒█▒▒▒███▒▒▒█ ▒▒▒
▒███ ▒███ ██████ ███████ ▒ ▒███ ▒ ████████ ████ ████████
▒██████████ ▒▒▒▒▒███ ███▒▒███ ▒███ ▒▒███▒▒███▒▒███ ▒▒███▒▒███
▒███▒▒▒▒▒███ ███████ ▒███ ▒███ ▒███ ▒███ ▒▒▒ ▒███ ▒███ ▒███
▒███ ▒███ ███▒▒███ ▒███ ▒███ ▒███ ▒███ ▒███ ▒███ ▒███
███████████ ▒▒████████▒▒████████ █████ █████ █████ ▒███████
▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒███▒▒▒
▒███
█████
▒▒▒▒▒
S O F T W A R E
Working software in 4-8 weeks. Fixed price, fixed scope.|
MVPs, internal tools, and cloud work built by one senior developer with 15+ years shipping production systems. You talk directly to the person writing the code, and you get a real number before anything starts.
Book a free 30-min scope call →Or just email me: tomasz@badtrip.software
15+ years in production · 100,000-article migration with zero downtime · Based in Poland, overlapping EU and US-East hours
Software that makes money or saves it, delivered on a timeline that fits a real business. No account managers, no discovery decks, no open-ended hourly bills. One senior developer who has done this for fifteen years, working directly with you.
A working product in front of customers or investors in 4-8 weeks for a typical mid-complexity build.Enough to validate the idea, charge real money, and show traction before the runway gets tight.
Dashboards, data aggregators, CRM integrations, and automation that remove the manual work your team repeats every week. Simple enough that people actually use them instead of going back to the spreadsheet.
Cut cloud bills that grew without anyone watching, migrate servers, and set up infrastructure that stays up. Rightsizing and sensible hosting usually beat buying more AWS.
Keep WordPress, PHP, and Laravel systems secure and running. Plenty of profitable businesses still depend on them and mostly need someone who answers the phone.
Fifteen years of shipping means the decisions that actually carry risk — architecture, data model, what to build and what to skip — are made by someone who has been wrong before and learned from it. AI tooling handles the boilerplate around those decisions, which is why the timeline and the price look the way they do. The judgment is not automated.
Stack: PHP (Laravel, Symfony, WordPress), Node.js, Vue, Rust, SQL & MongoDB, AWS, Linux, CI/CD.
Fifteen years of production systems. Most of it sits behind NDAs, so here is the work I can show you in full, plus code you can read line by line.
Client: LRF Media AB (Stockholm) - Role: Software architect, migration lead, DevOps - 2018-2023
Delivered through Esatto, where I was contracted for the duration of the engagement.
ATL is Sweden's leading agriculture and forestry publication, running continuously since 1884 and published by LRF Media, the media arm of the Federation of Swedish Farmers. Subscription product, paywalled archive, daily newsroom, e-paper, podcast, and several sister titles under one account system. I came in to maintain an ageing WordPress installation. Over five years that turned into a full rewrite of the publishing stack, built alongside a distributed team of 4 other developers.
What I did
Why it was hard A newsroom cannot pause. Every migration decision had to survive editors publishing live, subscribers logging in, and two decades of accumulated content quirks in the old database. The interesting engineering was not the new platform. It was moving 100,000 articles onto it without a single reader noticing.
Outcome: atl.nu runs on that stack today.
Visit atl.nu →Source available - https://github.com/carthage84/mailGopher
Pulls mail from POP3 and IMAP mailboxes into one or more Gmail accounts through the Gmail API. Dedupes by Message-ID, applies labels, supports IMAP IDLE for near-realtime sync, and runs as a hardened systemd service.
The code is worth a look. The deployment documentation is the part I'd actually point at.
ProtectSystem=strict and ProtectHome=true, with write access scoped to exactly one directoryLoadCredential= injects credentials per run so the service user never owns themWhy this is on a business website: my proposals promise handover docs and a walkthrough at launch. That's an easy thing to promise. This is what mine look like, and you can read them before you hire me rather than after.
Open source - MIT - https://github.com/carthage84/pwstash
A local password vault with a CLI and a terminal UI. Master password derives an Argon2id key; entries are stored as AES-256-GCM encrypted JSON in a single file. Nothing touches the network.
I'm listing it here not because it's a big project, but because most of my client work is under NDA and this is code you can open and judge for yourself. Look at what it does when nobody is watching:
0600 permissions on Unixclippy -D warnings, and format checks on both Ubuntu and Windows for every pull request; tagged releases build signed binaries for three platformsWhy this is on a business website: none of that is required for a toy project. It's the difference between software that demos well and software that survives contact with reality, and it's the same standard I apply to work you'd pay me for.
Fifteen-plus years of shipped work. Tell me what you're building.
A short pipeline for busy founders: working software, fixed price after the brief, no meeting theatre. Timelines depend on scope, complexity, your feedback speed, and budget — those get locked in writing before build starts.
Free initial call on goals, constraints, and budget. We turn that into a clear brief — what it does, who it's for, must-haves, and what success looks like. If it's not a fit, I'll say so early.
Why: Avoids scope creep and wasted weeks on the wrong product.
Clickable prototype early for feedback, then full build: core features, solid backend, clean UI (Tailwind or similar for speed and polish). Custom graphic design is out of base scope — add-on, or I partner with a designer (about 1-2 weeks, $2k-$5k).
Typical: 2-4 weeks for simpler tools; 4-8 weeks end-to-end for mid-complexity MVPs including QA. AI handles grunt work so more of the budget goes into what matters.
You test early. I fix bugs, tighten usability, and check security, performance, and edge cases. Includes two weeks of post-launch support — not “ship and disappear.”
Why: You get what you need in practice, not what looked good in a slide deck.
Launch to your servers or cloud, with handover docs and a short walkthrough. Optional monthly retainer for updates, monitoring, or scaling.
Simple tools can go live in roughly a month when scope stays tight. Retainers from $2,000/month for priority access.
The questions people actually ask before hiring a solo developer. If yours isn't here, email me and I'll answer it straight.
Me - Tomasz Urban, based in Dębica, Poland. I've spent 15+ years building and maintaining production systems, including CMS and e-commerce platforms for small to medium businesses, custom web applications and internal tools. You can see my work at GitHub and my history at LinkedIn. There's no team behind me and no account manager in front of me. When you email, I'm the one who replies.
You do, in full, on final payment. The contract assigns all IP to you. I don't retain a license, I don't reuse your business logic elsewhere, and I don't build your project on a proprietary framework you'd have to pay me to maintain.
Typically 30% to start, 30% at an agreed mid-project milestone, 40% on delivery. For retainers, monthly in advance. Invoices are net 30 days. Everything is agreed in writing before work begins.
I use AI tooling the same way I use a compiler or a test suite - it writes boilerplate, scaffolding, and repetitive code faster than I can type it. Everything it produces gets reviewed, tested, and rewritten by me where it needs to be. The architecture, the data model, and the security decisions are mine. What you're buying is fifteen years of judgment; the tooling is why it costs less than it used to.
I'm in Central European Time. That's full working-day overlap with the UK and Europe, and roughly 3-4 hours of overlap with US East Coast mornings. I keep US-friendly hours when a project calls for it. All work, documentation, and calls are in English.
Yes, before the scope call if you'd prefer. Send yours over or I'll send mine.
It usually does a little, and small adjustments are absorbed. Anything that meaningfully changes the amount of work gets quoted as an add-on before I build it, so you decide with a number in front of you. The one thing I won't do is silently absorb scope and then hand you a surprise invoice.
Some of my work is under NDA and some clients prefer not to be listed as outsourcing development.
No - everything is built by me. Custom graphic design is the one exception; I partner with a designer for that and tell you up front what it costs.
Custom brand and graphic design (available as an add-on at $2,000-$5,000, roughly 1-2 weeks), ongoing hosting costs, third-party service subscriptions, and content or copywriting. All of it is quoted separately if you want it, and none of it appears on an invoice without your agreeing first.
I'll tell you on the first call. I turn down projects that are too large for one person, too vague to price honestly, or better served by an off-the-shelf tool you could buy for $50 a month. That call costs you nothing either way.
Outcome-based, fixed-price work where it makes sense — not open-ended hour dumps. All prices below are net (excl. VAT). Where Polish VAT applies, 23% is added on the invoice (EU B2B reverse charge may apply instead — see Terms §6). Exact quote after a free brief.
From $12,000
Working product live in 4-8 weeks for typical mid-complexity. Validate without burning the budget on process.
$15k - $40k
Dashboards, integrations, and optimizations — usually 4-10 weeks. Tools that earn their keep in daily use.
$120/hr or $2k+/month
Updates, maintenance, or scaling help. Keep legacy systems healthy without hiring full-time.
Price moves with complexity, integrations, and urgency. Custom quote after a free discovery call; we align on budget before build starts.
Send a short note about the project, timeline, and budget. I’ll reply in 24–48 hours with an honest take on fit and next steps — that free scope conversation starts here. Or email me directly: tomasz@badtrip.software.
Your info stays private. Messages go to me — no lists, no spam.