Skip to content
Simon Monu DEIntro call

I have been doing this for just under a year. That is why I measure everything.

Who I am

I am Simon Monu, a web designer for Vienna, with my own business since autumn 2026. My first project is nickmonu.com, my father's website. It has grown to version 26 because I improved it after every piece of feedback.

I show you what I can prove: a real site with real measurements, two concept demos, and this site, which shows you its own dimensions at the press of a key. I measure what others only promise.

How I work

  1. Concept before the build. You see structure, copy and design before I write a line. Without your OK I build nothing.
  2. I measure. Load time, weight and layout shifts I measure on the finished site, and I give you the numbers.
  3. Keep working after launch. How visitors really use a site only becomes clear once it is online. For nickmonu.com, several people pointed out the same thing about the home page, and I rebuilt it accordingly.
  4. Price per package, not per hour. You know beforehand what it costs. Revision rounds are included in the price.

Why in code

I build without a site builder and without a template. That has consequences for you: the page loads fast because nothing is on it that it does not need. This one consists, on a first visit, of 6 files totalling 99 KB. It sets no cookies. And it belongs to you, including domain and access details.

What that looks like is shown by an excerpt from my own generator. It prints this warning when the address is missing from the legal notice:

def anschrift_fehlt():
    return not (ANSCHRIFT["strasse"] and ANSCHRIFT["plz"])

# in bau.py
if anschrift_fehlt():
    print("WARNUNG: Impressum ohne Anschrift. Pflicht nach § 5 ECG.")
From generator/gemeinsam.py and bau.py of simonmonu.at (the message is in German, like the generator)

A detail that shows how I work: the error is caught at build time, not when a client finds it.

Let's talk for 30 minutes.

Free and non-binding.

Book an intro call See my work