Custom Code. Pragmatic Solutions. No Bloat.

SpiesLabs builds small software products on one shared platform — including the design system this page is rendered with.

01 / PRODUCTS

Two products, two design languages.

Launching soon

Voice-recorded children’s stories pressed onto cards and mailed home as a real audiobook. Grandparents, family, and friends record a story in their own voice; the child plays it back whenever they want.

in-browser voice recordingStripe checkoutcontributor share linkslow-stimulation player mode
Visit luisterlink.nl
The Luisterlink player on a phone, showing a story being played

This section is rendered in Luisterlink’s storybook theme — same shared components, different design tokens.

Portfolio

In development

A learning-portfolio app built as a client project for a primary school. Teachers structure goals as thema → leerdoel → subdoel; children evaluate their own work on a four-smiley scale.

thema → leerdoel → subdoelfour-smiley self-evaluationbuilt for a primary school
voorbeeld

Ik kan in stappen van 10 tot 100 tellen.

Het lukt me niet Ik kan het een beetje Ik kan het Ik kan het een ander leren

This section is rendered in Portfolio’s neobrutalism theme — same shared components, different design tokens. The smiley scale is the app’s real score scale, imported from the same code.

02 / HOW IT’S BUILT

One platform underneath.

Both products run on the same platform: shared authentication, payments, file storage, typed API contracts, and one design system. The dark shell of this page, Luisterlink’s cream island, and Portfolio’s black-bordered island are the same components under three different sets of design tokens. The platform also runs a set of internal tools — chores, meal planning, stock signals.

12
apps in one monorepo
56
shared UI components
9
theme variants
three of them render this page
537
commits since Jan 2026

Angular · NestJS · PostgreSQL · TypeScript