Frontend Chapter Lead · Senior Full Stack · Since 1998

Peter Biro

I build products end to end, and lead the people who build them.

More than two decades in: I co-founded a software company and shipped a CMS used on 1,500+ sites over its life, then led the rewrite of DFDS’s B2B freight platform onto a modern microservice stack. Today I run the Frontend Chapter for the Ferry tribe at DFDS, setting direction across teams while staying in the code.

What is different now is how I build. Most of my work runs through an AI-assisted, agentic workflow that takes an idea to a shipped result in a fraction of the usual time. I build the harness the agents run in, not just the code, and I still own the architecture and everything that ships.

ReactNext.jsTypeScriptNode.js.NETAI / agentic tooling
Scroll to see the workGitHubLinkedIn
Peter Biro

Newest article

The genie is out of the bottle

It's time to rethink how we do development. The genie is out of the bottle, and it shows no sign of wanting to go back in.

It's not so much about writing code anymore. It's about having the control, the vision and the consistency, but mostly it's about quality control. The code more or less writes itself now. Deciding whether it's any good is still very much a job for a grown-up.

Just to highlight what these new tools give you: during the last three weekends I built the following. (And a Monday, to be honest.)

The genie is out of the bottle

Snorre, an Android Auto replacement for my car

The first goal was modest: I wanted wired audio from my devices that do USB-C audio but not Android Auto or CarPlay, with Bluetooth and Wi-Fi switched off. That's not where it ended.

A Raspberry Pi now pretends to be a phone toward the car, an ESP32 pretends to be a headset toward my phone, and a small service on my NAS fetches a fresh Android Auto certificate every week so the car keeps trusting it. The car screen shows cover art, the queue and turn-by-turn directions from Google Maps, and the steering wheel buttons work.

The first real test in the car passed 9 of 9 checks. First try. That is not how hardware usually goes. The AI also did the hardware side: wiring diagrams, a two-part case for the 3D printer generated from a script, and a circuit board with the files ready to send to the factory.

The genie is out of the bottle

A calendar tablet for my mum

My mum has dementia. Her tablet shows big text, today and tomorrow, a landscape at the top that follows the weather and the seasons, a big button for the radio, card games you can't lose, and a dog called Bella who is always happy and never needs walking.

The home helpers can cancel or add an appointment with a code and a photo, so the family can see who changed what. Everything is built around dementia guidance: one fixed layout, very big text, pictures instead of words, and nothing you can get wrong.

It also came with its own Android app that takes over a cheap tablet completely: full screen, always on, locked to the calendar, and it starts again by itself if the tablet restarts.

The genie is out of the bottle

uEye, my own app for our home cameras

I never trusted the app that came with my cheap NVR. Now the recorder can be banned from the internet completely, and I still have my own way to control it.

With REA, the agent looked inside the vendor's own library to check how the protocol really works, and then built a replacement that only talks to the recorder on my own network. Live view, recordings, two-way talk and faces grouped by person, all running on my NAS.

I think it's the same trick behind ArtCraft, the free Adobe clones that have been all over the feed lately: REA in a clean-room setup, where you first use it to write docs on how the app works, and then rebuild the whole thing from those docs.

The genie is out of the bottle

A start page for the family

One page with a tile for each thing running at home. Not impressive, but now there is one address to remember instead of six.

The genie is out of the bottle

Candy Marble, a game in a weekend

Saturday evening it was a grey ball rolling down some grey hills. By midnight it was made of candy, had music, and an evil licorice ball was racing you. By Sunday evening it had ten levels, a level editor and tilt-the-phone controls.

Every model is a Python script, every level is an ASCII map, and a bot plays all the levels after every change, so nothing ships untested.

Then I joked on a LAN party's Facebook event that I might make a multiplayer version. So now I had to. This weekend it got online races for six players, a server on my NAS, and candy that makes you dizzy.

Play it here: vlx42.github.io/candy-marble

The genie is out of the bottle

So how do we do things now?

That is the question. If one person can build all of that in three weekends, what does that mean in an enterprise setup? The normal way of working doesn't translate. A normal team of about eight people (two frontend, four backend, one UX, a product owner and a DTC) can't just keep working the same way, only faster. So how should it organise its work on a Monday morning?

I don't have the full answer yet, but I have some ideas.

Slice the work into smaller pieces, and give the AI eyes and ears so it can test and verify its own work before you ever see it. In my weekend projects that was a fake car to test against and a bot that plays every level after every change. At work it means skills that clearly describe how we want things done, and quality gates that catch drift before it lands.

The genie is out of the bottle

Reviewing the code

The normal signals that tell you code is bad are gone. It always looks plausible, and with the amount of code coming out, nobody can keep up by reading it. So the review moves: what was the reasoning behind the change, and what does it do to what we already have? Let the AI explain that, and keep a log of why decisions were made. That log is needed more than ever.

Who builds all of that? The team itself, with support from the company architects. And if we spend less time reading each other's code, it gets a lot easier to agree on the tech.

Will we ever just trust the code? When compilers came, people checked the machine code too, because they didn't trust it. Today nobody does. I think AI goes the same way. Not now, maybe in two to five years. Nobody knows.

Until then I'll keep playing and see where it takes me.

The genie is out of the bottle

My takeaway

The normal way of splitting software work into backend, frontend and UX needs to be rethought. Everyone can now do a fair bit of each other's work.

If I had to pick who is best placed right now, I think it's the old fullstack developer, or the very technical frontend developer. They sit in a good middle ground. They know how a backend is supposed to work, and they have an eye for how things should look. That combination is exactly what you need when your job is mostly steering and checking.

But as I have said before: AI is an enhancer, of good and of bad. You paint the picture yourself. And if you are bad at something, remember that it will enhance that too. :)

The Lab

What I'm building now

Most developers use AI to write code. I build the systems that do it: agents, pipelines and harnesses, mostly solo and fast.

blind-code

A game for coders, made for events. React + Convex on Vercel, promo built in Remotion. blind-code.vlx.dk

Smelt

A multi-agent PR-drafting pipeline: a Tauri app over the Copilot CLI SDK, with architect, reviewer and test-writer agents behind quality gates. The clip is a 15x speed-run.

The story

Evolution of my job postings

As the hiring manager, I made every campaign in this deck myself with AI. I was building out a frontend team (a few mid-levels, a senior, two leads), and the ads got noticed: candidates brought them up in interviews. Keep scrolling to flip through them, from a single generated image to full multi-scene productions.

Stills, then short videos, then mini campaigns.

Phase 1 · Stills

AI-generated images

Job ads built from AI stills riffing on Pixar and Disney, made with whatever image model was best at the time (nano banana). A few tries, an afternoon each.

Pixar-style DFDS job posterCartoon Frontend Engineer job ad

Phase 2 · Motion

Short AI videos

The stills started moving. Short AI videos, an afternoon of work, riding each new best model as it landed (Sora, then Veo 3).

Phase 3 · Productions

Multi-scene mini campaigns

Full mini campaigns: multi-scene video from Seedance 2.0 with music from ElevenLabs. Still one afternoon, still solo.

Idea to result

The prompt is the craft now

I made this 30-second promo for blind-code in about 20 minutes, with three prompts. Remotion reused the real components from the site, so the time went into direction, not keyframes: what to show, the pacing, the music. The model fills a blank. It does not take a seat.

  1. A 20s promo of the front page, editor and voting, with power mode. Use Remotion.
  2. Here is the music. Run it about 25s, then fade.
  3. Here is the live URL. Pull from it, fade the music at the end.
2020

2023-Present Frontend Chapter Lead · 2019-2023 Frontend Developer

DFDS A/S

At DFDS I run the Frontend Chapter for the Ferry tribe, setting frontend direction and standards across teams while staying hands-on. I led the rewrite of the Freight B2B platform onto a microservice stack: a Next.js multi-zone monorepo (Control Tower) with a Nest.js BFF, plus AI document ingestion in MyFreight that turns unstructured shipping documents into structured data.

We run a Serverless setup with a DevOps flow in GitHub Actions, with automated tests in Jest and Playwright. As Chapter Lead I also set frontend direction and standards across teams, and increasingly build with an AI-assisted, agentic workflow.

Next.jsReactReduxNest.jsNode.jsTypeScript
2019

2002-2019 · Co-founder and Lead Developer

SiteWorks

Four of us founded SiteWorks in 2002, buying out the product we had started building inside Telia Internet. For the next 16 years I was the lead developer behind two custom CMS platforms that were used on more than 1,500 sites over their lifetime, by names like IBM, Deloitte, Dong Energy and Vækstfonden.

Both were built on SQL Server: the original in Classic ASP, the rewrite in .NET MVC and C#. Sites built on them are still live today, including Aidsfondet.dk and Artisten.dk, plus an event-registration system used by large organisations. See more cases here.

.NET MVCC#SQL ServerClassic ASP
2017

2016-2017 · An early bet on React

Contracts, automated

When our larger SiteWorks clients needed custom software, I built it. Dansk Artist Forbund needed a way for members to create binding contracts between artists and venues, so I built one: a guided multi-step form that adapts to the user's input, runs through an approval flow, and ends in a generated PDF contract.

This was my first React project, in 2016, with a .NET Core backend. A deliberate early bet on a stack that has defined the rest of my career.

ReactRedux.NET Core
2016

2016 · Complex workflows, made simple

A 50-page guide in software

Danske Fodterapeuter had a harder problem: clinic owners had to follow a 50-page guide to build a valid tenancy contract. I turned that guide into software, with a guided workflow, helper functions that did the heavy lifting, and authenticated access for logged-in members.

Same modern stack, React, Redux and .NET Core, applied to a genuinely gnarly domain. The kind of work where the value is in making something complex feel obvious.

ReactRedux.NET Core

The whole arc

Professional timeline

1998 to present, the short version.

Education: Datamatiker, Esbjerg, 1995 to 1998. Alongside, 1995 to 2005: CompuClub, a computer club running net parties and a computer news page.
  1. 1998 to 2000
    System Developer, Datagruppen Consult

    Built Sitebuilder, a CMS, for the sister company Netmaster, and a city portal system for Esbjerg and a few other cities.

  2. 2000 to 2002
    System Developer, Telia Internet A/S

    Joined through Telia's buy of Netmaster. Built Siteworks, a SaaS reseller platform for registering domains and spinning up sites.

  3. Late 2002
    Founded Siteworks ApS

    Telia closed its Danish internet projects, so my partners and I bought the product. Incorporated 4 December 2002.

  4. 2003 to 2006
    System Developer, SHG.dk (now Proshop.dk)

    E-commerce, ERP, inventory and RMA by day, with Siteworks running part-time. Also export and display work at Designvision.

  1. 2007 to 2019
    Lead Developer and Partner, Siteworks ApS

    Grew it into a 15 to 18 person agency on our own in-house CMS. Clients included IBM, Deloitte, Dong Energy and Advodan.

  2. 2019 to 2023
    Senior Full Stack Developer, DFDS

    Led the MyFreight2 rewrite (React, Nest.js BFF, Redis, Kafka) and started the Frontend Community.

  3. 2023 to present
    Frontend Chapter Lead, DFDS

    Own frontend standards across teams. Authored the Control Tower POC, built AI document ingestion in MyFreight, and mentor the chapter.

Source code
Rotate your device for the best view