Frontend developer who treats interfaces like architecture
I build and fix web apps, sites and internal tools for companies that need them to just work — and help engineering teams make the architecture calls that still hold up years later.
“I would not hesitate to recommend Tomasz for any software project.”- > location:
- Rzeszów, PL (UTC+1)
- > status:
- taking on new projects
- > languages:
- Polish · English
- > focus:
- web apps · internal tools · AI on your own data
Two ways in.
> for business owners
Something needs building, fixing, or keeping alive.
-
New web app or site
A process living in spreadsheets and email, or a site you're embarrassed to send people to. I build the thing, ship it, and stay around to keep it working.
-
Rescue & takeover
Your developer left, or the agency stopped answering — and the site still has to run. I audit what's there, fix what's on fire, and take over maintenance. No rewrite unless it's actually cheaper.
-
Internal tools
Admin panels and dashboards your team actually wants to use. CyclingHero's ops team has planned their tours in one I built since 2022.
-
AI that knows your data
A model is only as smart as the data it can reach. I give it your data through precise, checkable lookups — so you get automation you can trust, not confident nonsense.
how this works
> for engineering leads
A senior pair of hands, or a second opinion with numbers.
-
Frontend architecture
The patterns and toolchains that let a team ship fast for years, not just sprints. Greenfield setup, monorepo plumbing, migration plans for legacy stacks — the work that compounds quietly in the background.
-
Performance & Core Web Vitals
Audits that come back with a fix list, not a slide deck. INP and LCP that move, font and image pipelines that hold, RUM telling you when something regresses — numbers a stakeholder will actually read.
-
Design-system-driven development
Figma to production with the seams hidden. Tokenised in Tailwind (or whichever stack the team runs on), documented in Storybook, kept honest by Chromatic and contract tests — so the design system holds up after the launch.
-
AI pipelines with evals
Models behind deterministic tools and validators, picked by an eval instead of a vibe. The cheapest model that passes, EU-only where it matters, and a number for every change.
how this works
Still here after launch.
I have been working with Tomasz for over four years. Much of the CyclingHero website was built by him, as well as all of our admin environment. He is both a talented Frontend Engineer, and a great person to work with. Tomasz consistently follows through with his commitments, and is always open to feedback. I would not hesitate to recommend Tomasz for any software project.— Bob Rogers, CyclingHero, inc.
Selected work.
-
CyclingHero
CyclingHero: Bike Tours and Cycling Trips in Italy
Custom bike tours through the Dolomites, Veneto, and Tuscany — itineraries built around the rider, with the logistics quietly handled in the background.
-
Murako
Murako: architecture studio, Rzeszów
Marketing site for an architecture studio that designs houses people actually want to live in — built on Astro with a Keystatic Cloud editorial workflow.
-
Sumo App
Real-time sumo tournament tracker — a newspaper desk that files same-evening reports, live SSE updates, and hand-prompted sumi-e illustrations
Live basho standings, wrestler profiles, a build-time pipeline of sumi-e ink illustrations, and The Dohyō Times — an editorial desk that writes the day's report from computed facts, with a language model allowed to touch the prose and never the truth.
How a project starts.
- 01
Tell me what's wrong
A few sentences is enough, in Polish or English. I reply within one business day.
- 02
A short call
Free, about 30 minutes. We find out whether I'm the right person for it.
- 03
A clear price
A fixed-scope quote, or a monthly retainer for ongoing work. You know the cost before I start.
- 04
Build, ship, stay
I don't disappear after launch. CyclingHero has been a client since 2022.
> whoami
Most of my work happens at the intersection of architecture and shipping — setting up the patterns, toolchains, and mental models that let a team move fast without creating technical debt. I'm at my best when a problem mixes domain complexity (multi-tenant SaaS, multi-language, regulated flows) with frontend craft (design systems, micro-interactions, accessibility).
Frontend Architect with 10+ years building production web applications, leading frontend teams up to nine engineers, and shipping the architectural patterns and performance wins that compound for years. Comfortable owning the full architecture from greenfield setup through migrations and developer-experience overhauls — release cycles cut from weeks to days, monorepos that ship one TypeScript codebase across iOS, Android, and web, page weight reduced by two-thirds where it counted. Happiest where domain complexity meets frontend craft.
Outside the editor I read more architecture monographs than I should, attempt (badly) to learn Japanese, and keep a running list of architectural decisions that bit me at least twice — partly so I don't repeat them, mostly because the list is genuinely funny.
- location:
- Rzeszów, PL (UTC+1)
- current:
- Lead Frontend @ Chaiz
- stack:
- TypeScript, React, Tailwind, Astro, Bun
- editor:
- Zed
- drinking:
- Brasil, Aeropress, inverted, no sugar
Selected milestones.
- 2025
Lead Frontend Developer
@ Chaiz
Reworked release cycle from biweekly to continuous · Tailwind adoption (+50% velocity)
- 2021
Frontend Technology Lead
@ spaceOS
12-language localisation system · 9-person FE team · deploy time 1 week → 2 days
- 2018
Senior Frontend Developer
@ Neti-Soft
jQuery → Angular migration · mobile-first practice introduced to the team · self-organised delivery
- 2014
Software Developer
@ Petrosoft.pl
Where the timeline starts.
I wrote the tie-break before the bake-off
I ran ten models through an eval to find out whether an EU-hosted open model could replace Claude in CyclingHero's document import. It got 97% of the score for 6% of the model bill, and it still didn't become the default, because I'd written down how to pick a winner before I saw a single number. Also: 90% of the cost wasn't the model, most of the misses weren't the model, and a model with nothing to look things up in is a confident guesser. Give it tools that return real records and it picks instead of invents.
The terminal is still open.
Tell me in a few sentences what you need or what's broken — Polish or English is fine. I reply within one business day. Engineering lead with a second-opinion question? Same address.