01 — Who

I design it, then I actually build it.

I design websites in Kiel and then build them myself — no template, no page builder, no 114KB of plugin somebody else wrote. For small businesses, studios, and people with one good idea and no site yet. The mockup is not the thing. The thing is the thing.

02 — Work

Three, in full.

Three projects I set myself, each written up with the decisions in it — including the wrong ones. No client logos here yet: yours would be the first paid one, which is exactly why the starting price is what it is.

03 — Flagship case

FEWOSearchaCSV,bookable

A holiday-rental portal built on a raw Airbnb export: 1,476 listings, 504,795 calendar nights, 103,295 reviews. Everything above the data is written from scratch — schema, API, UI, booking rules. Two views, because the dataset decided most of the design before I did.

Source

Three exports, one schema

~10MB of CSV streamed through prepared statements into three tables with real foreign keys, so “is this night free” is an index lookup instead of a scan over half a million rows.

listings: 1,476 calendar: 504,795 reviews: 103,295

Prices

Nights are not interchangeable

The dataset prices weekends differently, so a total is the sum of the actual per-night rows in the range — never nights × the headline price. No calendar rows at all and the card says so instead of inventing a number.

price source: per night headline × nights: no invented prices: 0

Import

The ids break in Excel

Open the export in Excel once and listing ids come back as scientific notation, silently orphaning every calendar and review row. The importer takes the original .csv.gz, and the admin form says why.

accepted input: .csv.gz id type: text broken foreign keys: 0

Counted off the database, not from memory. Still open and left visible rather than cropped out: the JWT lives in localStorage, the 2-minute reservations are in memory and die on restart, and the pay button charges nobody.

1476listings, one city
504kcalendar nights
23API endpoints
0front-end frameworks

04 — Services & prices

What it costs.

Three things I sell. Prices are where a project starts, not where it lands — you get a fixed number in writing after the first call, before any work begins. No hourly surprises, no “design retainer”.

01 — One-pager

A single page that gets enquiries

from €8002 weeks

For a business that has a phone number and a Google entry and nothing else. One page, written and designed together, that says what you do and makes it easy to contact you.

  • Structure, copy pass and design
  • Built by hand — loads in under a second on mobile data
  • Contact form, map, opening hours
  • Impressum and Datenschutz set up correctly
  • Domain, hosting and email pointed at it
typical: café, Handwerk, practice, freelancer
Most projects

02 — Full site

A site with rooms in it, or a small web app

from €2,0003–6 weeks

Several pages, a real navigation, and something behind it — a booking flow, a searchable list, a menu you can edit yourself, a shop-shaped thing. Designed as a system so page seven still looks like page one.

  • Everything in the one-pager
  • Design system: type scale, components, states
  • Editable content where you need it
  • Search, filters, forms, booking — whatever the job is
  • 30 days of fixes after launch, included
typical: studio, agency, rental, small platform

03 — Editorial & motion

Print, infographic, film and sound

€45 / houror fixed, per job

Poster and editorial layout, data-driven infographics, plus video edit, grade and sound design when the piece needs to move. Sold by the job when the job has edges, hourly when it does not.

  • Poster, programme, editorial spread
  • Infographics built from your actual data
  • Video edit, colour, sound design
  • Print-ready files, and the working files too
tools: Affinity, Adobe CC, Premiere, Resolve, Logic

Prices are final — as a Kleinunternehmer under § 19 UStG I do not add VAT, so €800 is €800. Half up front on projects over €1,500, the rest on handover. Charities and Vereine in Kiel: ask, there is room.

05 — How it works

Four steps, no surprises.

Most people who have never bought a website are not worried about the design. They are worried about paying for something they cannot judge, on a date nobody named. So here is the whole thing.

  1. 01

    A 15-minute callfree

    You say what the business does and what the site has to achieve. I say whether I am the right person. If I am not, I say who is — that call is still free.

  2. 02

    A fixed offerwithin 2 working days

    One page: what gets built, what it costs, when it is done, and what is explicitly not included. You sign it or you do not. Nothing is billed before that.

  3. 03

    Design, then build2–6 weeks

    You see the design before anything is built, and you get one round of changes on it. Then I build it and you get a link you can open at any point — no black box, no big reveal at the end.

  4. 04

    Handover+ 30 days

    It goes live on your domain, with your email working and the legal pages in place. You get every file. Anything broken in the first 30 days I fix for free — and I will show you how to change the text yourself.

06 — Contact

Saysomething.

Tell me what you have and roughly when. I answer within one working day, in German or English, and I say no if it is not a fit.

Project enquiry