thebuilder.dkDaniel Schmidt

Weak signal

Signal lost

Daniel Schmidt

Frontend engineer working on the difficult parts between product, design and engineering.

I care about architecture, accessibility, performance and developer experience, and about building things that are still pleasant to work with years later.

The day job

At Charlie Tango, I help set the technical direction on larger web projects while staying hands-on as a developer.

I’ve helped shape our frontend platform and engineering practices, led frontend architecture, improved accessibility and testing, mentored developers, and built tooling that makes the work easier for the teams using it.

  1. 2026Viaplay Sport NewsSports newsroomUmbraco Awards runner-up
  2. 2025SundhedsstyrelsenPublic health
  3. 2024MDT+Clinical decision support
  4. 2023FeriepartnerHoliday booking
  5. 2022EDCProperty platform
  6. 2020VælgererklæringPublic service
  7. and many more

Built for Umbraco

Open source, for the CMS behind most of that work.

  1. blur-placeholder

    Image placeholders generated once, in Umbraco.

    Generated when the image is saved and handed to the frontend as one string. Public requests do no work.

  2. web-analytics

    Vercel and Plausible reports inside the Umbraco backoffice.

    Traffic, and the numbers for the page being edited, without opening another tab. It reads the analytics you already run.

  3. @charlietango/umbraco-rich-text

    Umbraco rich text, rendered as React components.

    Renders the Delivery API rich text JSON as React, with a hook to swap any node or block for a component of your own.

Open source

I maintain react-intersection-observer, a React library downloaded around 20 million times a month, along with a handful of other projects.

Open source is where I get to scratch the kinds of technical itches that turn up repeatedly in real projects, and occasionally discover that several million other people had the same itch.

  1. react-intersection-observer

    Tell a React component when it enters the viewport.

    A hook, a render prop, and a component over the Intersection Observer API. It reuses observers where the options match, and ships a test mock so tests do not need a browser.

It’s a Unix system!

When I saw Jurassic Park back in 1996, the dinosaurs were cool. But not as cool as the “unix” file system, flown through in 3D to lock the doors. I have wanted to build one ever since.

  1. FSN

    Visualize and navigate your file system in 3D space.

    Point it at a folder and the files stand up in front of you, in the same arrangement every time you open it.

One got out

It has been hanging over the canyon since 1978, and there are fifty-four more behind it.

Vælgererklæring.dk

An accessible and secure public service for giving and withdrawing voter declarations.

Frontend lead · 2020

vaelgererklaering.dk

Vælgererklæring.dk is the public service used to give or withdraw voter declarations for political parties seeking to stand in a Danish general election.

I led the frontend work on a new React version of the service. It had to be fully accessible, and it had to protect the declaration process against manipulation. Neither requirement could be treated as something added near the end. Both shaped the service from the start.

The interface was kept deliberately plain. Each step had to explain exactly what the user was doing and remain usable with assistive technology, while the implementation protected the integrity of the declaration and the action being taken.

The same care applied to giving a declaration and withdrawing one. The service should not influence the decision. Its job is to make the process understandable, accessible and trustworthy.

Technology
React, Umbraco CMS
Focus
Accessibility, secure interaction flows, frontend implementation and integration with underlying systems