Available for new projects
I build web apps people love to use.
Hi, I’m Bartosz - a software engineer from Poland with 5+ years of shipping production React & TypeScript at OpenX, Wirtualna Polska and Madkom. I help startups and product teams turn ideas into fast, accessible and maintainable software.

- 5+years of commercial experience
- 3companies, from ad-tech to media
- B2Bcontracts, invoiced by my own company
Services
What I can do for you
From a first prototype to a team that needs another pair of experienced hands.
Web applications
Single-page apps, dashboards and admin panels in React & TypeScript - from the first commit to production.
Frontend architecture
Scalable component structures, state management and type-safe APIs. I also untangle and modernise legacy codebases.
Mobile apps
Cross-platform React Native apps that share logic and types with your web product.
APIs & integrations
REST and GraphQL APIs in Node.js and NestJS. I’m at home in Java and Python environments too, and good at making legacy systems pleasant to work with.
Performance & accessibility
Core Web Vitals, Lighthouse audits and WCAG fixes that make your product faster and usable by everyone.
This page: 100/100 in Lighthouse
Team extension
I join your team as a contractor - features, code reviews and mentoring, fitting into your process.
Tools I reach for
- TypeScript
- React
- React Native
- TanStack Query
- GraphQL
- REST APIs
- Node.js
- NestJS
- TypeORM
- Java
- Python
- Vite
- Tailwind CSS
- Chakra UI
Open source
Selected work
A few things I’ve built in the open - from a university booking system to a public transport app.
- TypeScript
swir-web
Equipment booking & rental system for the Department of Multimedia Systems at Gdańsk Tech - the React web client. Built as my diploma project.
- axios
- chakra-ui
- react
- react-query
- typescript
- TypeScript1 stars
swir-api
The REST API behind SWiR - NestJS with CQRS and DDD, TypeORM and university single sign-on (CAS).
- cqrs
- ddd
- nestjs
- rest-api
- typeorm
- typescript
- TypeScript
mZKM
React Native app for public transport in Elbląg - trip planner, live departures and every route drawn on a map.
- react
- react-native
- travel
- typescript
- TypeScript
better-zkm-api
A modern, readable REST wrapper around Elbląg’s legacy SOAP timetable API.
Experience
Where I’ve worked
Commercial experience in ad-tech, at one of Poland’s largest web portals and in a software house.
Software Engineer
OpenXAd-tech
Current - Present
Junior Frontend Developer
Grupa Wirtualna PolskaMedia & web portal
-
Junior Frontend Developer
Madkom S.A.Software house
-
Process
How we’ll work together
- 1
Intro call
A free 30-minute call about your product, goals and constraints. No strings attached.
- 2
Scope & estimate
I propose an approach, a timeline and a clear quote - fixed price or time & materials.
- 3
Build in iterations
Short cycles with regular demos, so you see progress - and working code - every week.
- 4
Launch & handover
Production release, documentation and a clean handover - or ongoing support if you need it.
FAQ
Good to know
What kind of projects are a good fit?
Web apps, dashboards and internal tools built with React and TypeScript, React Native apps, and improving the frontend of existing products - performance, accessibility or a long-overdue refactor.
How do you charge?
Well-defined projects get a fixed price. Ongoing work and team extension are billed by the hour or day. Estimates are always free.
Can you join our existing team?
Yes. I’ll fit into your repo, tools and rituals - Jira or Linear, GitHub or GitLab, daily stand-ups or async updates.
Where are you based?
In Poland (CET/CEST). I work remotely in English and Polish, and I’m used to collaborating across time zones.
How quickly will I hear back?
Usually within 1-2 business days. Use the form below - it lands straight in my inbox.
Contact
Got a project in mind?
Tell me a bit about it. I’ll get back to you within 1-2 business days with questions, ideas or an invite to a quick call.
- Messages go straight to my inbox - no public email address, no spam.
- Reply within 1-2 business days.
- Your details are used only to reply. No cookies, no tracking.
Prefer LinkedIn?
Message me there (opens in a new tab)