Przemysław Zalewski

Custom software, end to end

A full-stack developer who runs the whole project, with or without a team

You need custom software and a senior who owns it from scope to production. I take architecture, code, tests, deploys and the support inbox, alone or leading three to four engineers. You see a working first slice in week one.

Calls this week · work starts 3 November 2026 · Wrocław, Poland (CET), remote

Przemysław Zalewski
15+years shipping software
3 to 4engineers in teams I led
~100bids and interviews as the technical counterpart
300+ GBof production data on one platform I led

Sound familiar?

Full-stack problems I fix in 2026

Old app nobody dares to touch, still on Node.js 20?

Node.js 20 reached end of life on 30 April 2026 and gets no more security fixes, and Node.js 22 follows on 30 April 2027 (Node.js release schedule). Code nobody understands is code nobody upgrades.

I pin today’s behavior with tests first, then upgrade and refactor in small merges: a coding agent does the mechanical parts and a person approves every merge. You also get a runbook and an architecture note written from the code, so the next person does not start blind. On an app like that, a report once broke on years‑old orphaned data; the same day I shipped a hotfix, said plainly it was a stopgap, and handed the team the root cause and the proper fix to finish.

AI coding tools did not make our team any faster?

A Wharton and MIT study of more than 100,000 GitHub developers (Knowledge at Wharton, 8 September 2026) found that AI coding tools, up to autonomous agents, raised coding activity by up to 180%, while software releases rose only 30%. More code is not more shipped product.

I fix the feedback loop first: tests that run in minutes, small merges to main and small deploys, then agents work under written rules. With that setup my GitHub contributions grew from about 3,000 in 2025 to 8,500+ by October 2026.

Sound like you? Book a free 30‑min call →

npm publish broke after the npm token changes?

GitHub permanently revoked all classic npm tokens on 9 December 2025, capped write tokens at 90 days and made npm login issue two‑hour session tokens (GitHub changelog). A pipeline that still publishes with an old token fails.

I move your package releases to trusted publishing from GitHub Actions, so no long‑lived token sits anywhere and releases run from CI. In March 2023 a client’s open-source design system was published without a file its install step needed, so installs failed; I fixed the publish configuration upstream and the fix was merged.

AI-written pull requests nobody has time to review?

In a Harvard study of 718 firms (Chen and Stratton, version of 4 August 2026), after adopting coding agents the average time to review a pull request rose 49% and the share of pull requests with changes requested nearly doubled. Merged unreviewed, that code becomes next quarter’s incident.

In 2026 about two thirds of merged PRs across two products were built with coding agents, and nearly all went through my review or merge. I set up the rules, tests and CI gates that let your team merge agent work without merging blind. In review I have stopped a schema change during a live production migration, and a change that would have quietly copied users’ personal notifications to admins.

Facing one of these? Book a free 30‑min call →

Why me

Working software in week one

I write the delivery plan, build the first vertical slice in week one and keep the pipeline green from there. That is how an email client got through a security assessment and onto the App Store.

A tech lead two or three days a week

Inside your team: architecture decisions, code review, hiring screens, the estimates for the next quarter. I was the technical counterpart in about a hundred bids and interviews.

Estimates that count the coding agents

Every line item gets hours and the share a coding agent can take. You get a range, a split of agent and human work, and a sanity band. Try the same spreadsheet in the demo below.

I know when to say stop

If a feature will not pay off, I say so before you fund it, and I show the analysis. On a back-office product that analysis stopped a parallel initiative. The case is below.

Live demo

Estimate with an AI coefficient

Give each acceptance criterion hours and the share a coding agent can absorb. The totals show human hours, agent-absorbed hours and a sanity band. It saves only in your browser.

Demo loading…

Load the sample project, drag the sliders, then copy the table as Markdown into your next planning call.

Proof

Work I can show

Problem, what I did, result. Client names only where I am allowed to use them.

Back-office task management: team lead of four, no product manager

The problem
A back-office tool needed new features, a UI refresh and a faster pipeline, with no product manager in sight.
What I did
I led four engineers and kept coding. Trunk-based development with CI/CD, live updates over server-sent events, a stopped parallel initiative that analysis showed would not pay off, priorities set directly with department managers. A survey of the 100+ operators who used the tool rated the changes a clear improvement.
Result
“Measurable changes in some key metrics” and “a true bias for action”, in the public LinkedIn recommendation of my manager on that project, now a CTO.

team of 4 manager recommendation

A new engineer from day one to owning a product

The problem
A new engineer joined with zero context: new codebase, new domain, first week.
What I did
Pair-coding sessions from day one, twice a day in the first week, a working build configuration and a written release procedure instead of “read the docs”, then a year of shared work under the same agent and review rules. I onboarded two engineers that week.
Result
By day five she proposed her own component. Within a year she committed about as much as I did. She now reviews senior pull requests and owns a product that had one lead for eight years, and both engineers kept the agent-review practice after I left.

day 5 1 year owns a product

Patriot Mail: an AI email client through CASA Tier 2 and onto the App Store

The problem
A greenfield AI‑native email client for web, iOS and macOS, built at Sanddev, needed Google’s CASA Tier 2 security assessment before it could read Gmail, and it had to work for older people.
What I did
I was the principal engineer at Sanddev. I wrote the delivery plan, shaped the product vision and treated prompt injection through untrusted email as a design constraint before any model touched a mailbox. CASA and OWASP ASVS controls became a Playwright suite that runs on every pull request. WCAG 2.2 AA sits behind an automated axe gate.
Result
I led CASA Tier 2 to a pass in January 2026, with third-party pentest findings fixed, and led the yearly reassessment, validated in October 2026; the questionnaire turned into a check on every PR. Live on the App Store on iOS and macOS since April 2026. Text scaling to 200% and a calm‑email mode shipped for older users. At that reassessment five items came back for missing evidence; I fixed the code first, then resubmitted updated evidence, and all five were accepted on 27 October.

CASA Tier 2 iOS + macOS WCAG 2.2 AA Open ↗

Facing something similar? Book a free call →

One foot in the door

Not ready for a project? Start with one week or one pull request.

Two ways to see how I work before you commit to a sprint. Fixed scope, the price range below, the final number in writing within 24 hours of the call.

One-week Full-stack & custom software code audit

I read the repo, CI, tests, deploys and the parts the team avoids, by hand. You get a written report with risks ranked by cost, what to fix first, a plan with milestones and a go or no‑go you can defend. The report is yours whether or not we continue.

$1,080⁠–⁠$2,160 excl. VAT · 30⁠–⁠40 h · See price and start date →

Code review of one pull request or one module

Send me the diff that worries you. Within a few days you get line‑level comments, the three things I would change first and whether I would merge it. I have reviewed 800+ pull requests on one product since 2018.

$72⁠–⁠$216 excl. VAT · 2⁠–⁠4 h · See price and start date →

Book a call to pick one Free 30‑minute call first. If neither fits, I say so on the call.

How it works

Three steps from this page to a running project.

  1. 1

    A 30-minute call

    You describe the product and the problem. I ask the questions I would ask on day one.

  2. 2

    Scope in writing

    Within 24 hours after the call you get a short written plan: what we build first, what we measure, how we work together and what it costs. No slide deck.

  3. 3

    Working software in week one

    Deployed, measured and open for your review. After that, the numbers set the pace.

Fit check

Is this a fit?

A good fit when

  • You need a senior who owns delivery, not a pair of hands
  • The product has to ship and be measured, with or without a product manager
  • A solo engagement, or one team of up to four that I lead directly
  • TypeScript, React, Node.js, Cloudflare, Postgres, PostHog, and Python when the work needs it

Probably not when

  • A program that needs a ten‑person vendor team
  • A stack built around Java or a cloud I do not work in
  • Body leasing by the hour with no say in how the work is done

Working style

How I work

No product manager? Fine.

Where there is no PM I set priorities directly with the people using the software and answer support myself.

Review as a craft

800+ pull requests reviewed on one product since 2018. I review for the product and its reasons. The code comes second.

Zero bug policy

A bug is fixed or consciously closed, never parked. Alerts and error tracking in every project, so I learn about problems before the client does.

Good to know

Full-stack facts that cost a sprint when missed

Safari wipes script storage after 7 days

Safari deletes localStorage, IndexedDB and cookies set by JavaScript after 7 days without a user interaction. A session kept there logs users out (WebKit tracking prevention).

Click-ID landing pages get 24-hour cookies

On a page reached through a link with click IDs, Safari caps cookies set by JavaScript at 24 hours. Server‑set HttpOnly cookies avoid both limits (WebKit tracking prevention).

Chrome is keeping third-party cookies

Google dropped the plan to remove third-party cookies in April 2025 and will not show a standalone prompt (Privacy Sandbox blog).

Postgres 18 has uuidv7()

Postgres 18 generates time-ordered UUIDs natively with uuidv7(), so sortable primary keys need no extension. gen_random_uuid() still returns version 4 (PostgreSQL 18 docs).

Node runs .ts files without type checks

Node strips types and runs .ts directly, but performs no type checking and ignores tsconfig.json (Node.js TypeScript docs). Keep tsc --noEmit in CI.

Server Components were enough for React2Shell

The CVSS 10.0 React flaw hit apps that only supported Server Components, without any Server Function (React blog).

FAQ

Questions people ask before they book

An agency quoted us. Can you check the quote first?
Yes. 4 to 8 hours, $180⁠–⁠360 excl. VAT: the estimate line by line, the risks nobody priced, what can leave the MVP and whether the team plan matches the scope, in writing. Book the call and bring the quote.
What is a fractional tech lead engagement?
Two to three days a week inside your team, for at least three months: architecture, review, hiring, estimates, the hard conversations with stakeholders. Your team keeps shipping, I hold the direction and the quality bar. Two days a week for three months: 187⁠–⁠229 h, $6,732⁠–⁠$12,366 excl. VAT. Details on the offer ladder.
What size of team do you lead?
Three to four engineers works best. I led four on a back-office product and three plus a QA on a suppression-list platform built to grow to terabyte scale.
Which time zones?
I am in Wrocław (CET). I have worked across a nine‑hour gap with a US client and daily with UK teams. English is my working language.
Do you start with an audit?
For an existing codebase, yes: one week (30⁠–⁠40 h), a written report with findings ranked by risk and a plan with milestones. For greenfield, a scoping call and a first slice in week one.
What stack?
TypeScript, React, Node.js, Postgres, Cloudflare, PostHog, Playwright. Earlier a decade of C# and .NET. The AI and agents page covers how I work with coding agents, and the PostHog page covers measurement.
How soon can you start?
From 3 November 2026. Book the call and we agree on the first milestone before I start.
Why do Safari users get logged out after a week?
Safari deletes storage written by JavaScript after 7 days without interaction (WebKit). Keep the session in an HttpOnly cookie set by the server.
Which ID type should a new Postgres table use in 2026?
On Postgres 18, uuidv7() gives time-ordered UUIDs that index well and do not leak row counts (PostgreSQL 18 docs). Older versions need an extension or app‑side generation.
Old app nobody dares to touch, still on Node.js 20?
Node.js 20 reached end of life on 30 April 2026 and gets no more security fixes, and Node.js 22 follows on 30 April 2027 (Node.js release schedule). Code nobody understands is code nobody upgrades. I pin today’s behavior with tests first, then upgrade and refactor in small merges: a coding agent does the mechanical parts and a person approves every merge. You also get a runbook and an architecture note written from the code, so the next person does not start blind. On an app like that, a report once broke on years‑old orphaned data; the same day I shipped a hotfix, said plainly it was a stopgap, and handed the team the root cause and the proper fix to finish.

Bonus · #suchar

A dad joke, on the house

Free, like the first call. Same sense of humor, included in every project.

Why did the full‑stack developer go to the gym?Punchline

To work on both ends. Ba‑dum‑tss.

Why did the back‑end break up with the front‑end?Punchline

It felt it was only being used for its API. Ba‑dum‑tss.

What’s a full‑stack developer’s favorite breakfast?Punchline

Pancakes. The full stack. Ba‑dum‑tss.

In 30 minutes you will know if we are a fit

You bring the problem, I bring the questions. Want a number first? The configurator shows hours, a price range and the start date.

or write to ciunkos@gmail.com

After you book you get a calendar invite. Nothing else to fill in.

My pledge

  • Reply within 24 hours. I reply within 24 hours on working days, personally, not a bot. Weekend messages: by Monday noon.
  • Late means free. If I am late, the first hour of work is free. You do not have to ask.
  • Scope in writing within 24 hours. A free 30‑minute call with no company deck, then the scope and the price in writing within 24 hours. You decide.
  • The person who does the work. You talk to the person who does the work. No sales layer, no handoff.
  • Follow‑up only with news. I follow up only when I have something new for you. Never a “did you see my offer”.
  • Honest “not a fit”. If I am not the right person, I say so on the call and point you to someone who is.

Calls this week · work starts 3 November 2026 · B2B contract · Wrocław, Poland (CET), remote

You own the code, domain and accounts from day one. Nothing is held hostage.