I take on a small number of selected client projects alongside my product work.
I build websites and web interfaces for businesses that need the thing to work, load fast, and keep working after I hand it over. Fixed scope and a fixed price by default, agreed before anything starts. If I am not the right person for what you need, I will tell you on the first call.
Copenhagen · remote across the EUDansk · English · SvenskaFixed price by defaultA few projects at a time
Fit
Who this is for
A good fit
You run a small business with no website, or one you would rather people did not find.
You have a product and need a frontend built on an API that already exists.
Your site works but is slow, dated, or invisible on Google.
You want one person who is accountable, not an agency with a project manager between you and the work.
You want to own the result outright when it is finished.
You run a Thai-owned business in Denmark or Sweden and would rather run the whole project in Thai — there is a page in Thai at /th.
Probably not
You need a native iOS or Android app.
You need a large backend or data platform built from nothing.
You want the cheapest possible option — a template builder will serve you better.
You need someone on call around the clock after launch.
What I Build
Three ways in
01
Small-Business Website
The site your business should already have — fast, findable, and yours.
Salons, studios, clinics, trades, and one-person businesses in Denmark and Sweden.
What's included
Three to six pages, structured around what customers actually come looking for
Built in Danish, English or Swedish, including the page addresses
An enquiry form that reaches your inbox, with a second path so a message is never silently lost
Mobile-first, because that is where nearly all of your visitors are
Search basics set up so you can be found by name and by service
Compressed imagery and a performance budget, so it loads on a phone on mobile data
Hosting and domain set up in your name, not mine
One round of revisions, and a walkthrough so you can edit the text yourself
Priced by scope
1–3 pages6.500 – 9.500 DKK
A one-pager or simple presence: who you are, what you offer, how to reach you.
1–2 weeks
4–8 pages12.000 – 20.000 DKK
A full site: services, prices, gallery, about, and an enquiry form.
2–3 weeks
Add-ons+ 1.800 – 5.500 DKK
Priced one by one below, rather than as a band you have to ask about.
+ 2–4 days each
Every site is coded by hand, with no platform underneath it. What it costs to keep afterwards, and who that money goes to, is the next section.
See what's included and the add-ons
In every build
This is the part that separates a real site from a 3.000-kroner template job, and it is why the starting price is what it is. None of it is an upsell. It is in the price of every site.
Search setup that actually works: page titles and descriptions written per page, a sitemap, structured data, and your Google Business profile connected — so you turn up when someone searches your town and your service, not just your name
Set up to be found by AI assistants too, not just Google. When someone asks ChatGPT, Gemini or Google's AI answers for the best place in your area, those tools read your site and repeat what it says, so it needs answers they can quote
Your common questions answered on the site (prices, opening hours, parking, whether you take walk-ins), written so a person can read them and an AI assistant can quote them word for word
A label for search engines that says exactly what kind of business you are, such as a restaurant, a massage clinic or a cleaning firm, with your hours, prices and area. This is called schema.org, and it is how Google and AI tools tell your business apart from a blog about it
A short summary file for AI tools (llms.txt): one page that tells them who you are, what you offer and where, in plain words
Your name, address and phone number checked so they match everywhere that matters: Google, Apple Maps, Krak and De Gule Sider (or Hitta and Eniro in Sweden). Mismatches are one of the most common reasons a business ranks lower than it should
A check of how AI assistants describe your business today, at launch, so you know where you stand and what they get wrong
Built mobile-first and checked at real phone widths, because that is where nearly all of your visitors are
A performance budget: compressed images, minimal scripts, and a site that opens fast on mobile data rather than on your office wifi
Accessibility basics — keyboard navigation, readable contrast, labelled forms — which is both the right thing and increasingly a legal expectation
An enquiry form that reaches your inbox, with a second delivery path so a lost message never costs you a customer
Analytics, so you can see how many people found you and what they clicked
Domain and hosting registered in your name, and a walkthrough at handover so nothing depends on me afterwards
What more money buys
Each of these is one price. Take one, take none, or add one later. None of them has to be decided now, and none of them changes the price of the pages themselves.
Edit your own text and images3.000 DKK
A small editor built onto the site so you can change your opening hours, your prices and your photos yourself. Setup, your own login, and a recording of me walking through it.
A one-off. The editor runs on a free tier, so there is nothing to pay for it each year.
A list you manage yourself3.500 DKK
Treatments, a menu, a team page, or a blog you post to yourself. Anything where you add and remove entries rather than editing a fixed page. You get a simple form per entry instead of a page to lay out.
Free to run afterwards: there is no higher plan to move up to.
A second language3.000 – 5.500 DKK
The whole site in a second language, with its own web addresses and its own page titles for search, so Google serves the right one to the right person — plus a switcher. Danish, English, Swedish or Thai. This is the one add-on that follows the size of the site, because every page has to exist twice.
The translation itself is not in this. A translation bureau charges around 1 kr a word and you pay them directly, so on a small site expect a separate bill of one to two thousand kroner. What I build is the structure around the words.
Online booking3.500 DKK
A booking tool wired properly into the site and its design, with confirmation emails that work — rather than a grey box dropped onto a page. Building a booking engine from nothing is a different job and a different price.
The booking tool's own subscription is paid by you, directly, like the domain and the hosting.
Take payment online5.000 DKK
Card, MobilePay, Apple Pay and Google Pay through Stripe, set up in your name and tested with real payments before it goes live. Suited to a handful of services or products — a full webshop is a bigger job than this.
Stripe's own fee is theirs and comes out of each payment — currently about 1,4% plus 1,80 kr on a European card. It never passes through me.
Motion and animation2.500 DKK
Considered movement: sections arriving as you scroll, things that respond when you touch them. Built to go still for a visitor whose device asks for reduced motion, because for some people it is not a preference.
An extra page1.800 DKK
Per page, beyond the eight. Same standard as the rest, so a ninth page is a line on an invoice rather than a new project.
Not add-ons
A map with directions, a gallery, a contact form and a cookie and privacy page are in every build already. They take minutes, and charging for them would make the list above less believable rather than more profitable.
Two of these — taking payment, and anything with logins — I have built on my own products rather than for a client. Bevisly runs multi-role accounts with row-level security, and MockMate runs a graded AI pipeline; both are written up under Projects, and you can go and use them. I would rather say that plainly than imply a client history I do not have.
Price
From 6.500 DKK
All prices are ekskl. moms. I am under the Danish registration threshold, so no moms is added today. It is fixed in writing before we start, and the domain and any hosting are billed to you directly rather than through me.
What you pay every year after launch, and who that money goes to. A coded site has no platform underneath it, so the list is short.
Every figure here is paid to your host or your domain registrar, directly and in your name. None of it comes to me, and I do not mark up other people's invoices. After handover I do not invoice you again unless you ask me for more work, or choose the optional Local visibility plan further down.
Five years of running costHosting and domain only. The build is paid once.
500 – 8.000 kr
On the likely setup, a free hosting tier and a .dk domain, that is about 100 kroner a year. There is no plan, no plugin to patch and no platform that can raise its price on you. Content you post to repeatedly, like a menu or a treatment list, is the one add-on that changes what you can do afterwards, and it is free to run once it is built.
Approximate, in DKK per year. Hosting depends on where the site lives, so it is a range rather than one figure.
See it line by line
Platform fee0 kr
A hand-coded site has no platform underneath it, so there is nothing to subscribe to. Builders like Wix, Squarespace and Webflow charge a site plan every year; this does not.
Hosting0 – 1.500 kr
A marketing site this size fits inside the free tier at Netlify or Vercel. That is a company's free tier, not a promise, so if it ever changes or you would rather sit on a Danish webhotel, budget 500 – 1.500 kr a year.
Domain≈ 100 kr
A .dk domain, registered in your name and not mine.
Editing it yourselfOne-off add-on
If you want to change your own text, prices and images, I set up a free editor on the site once, as an add-on. After that it costs nothing a year. Rearranging the layout is still a call to me.
After Launch
If you want changes later
Your site has no plugins to patch and nothing that rots. That is the point of building it this way, and it is why there is no maintenance plan here to sell you. What people do want later is changes, so this is what those cost.
Free, just ask
A price, a phone number, an opening hour, a typo. Anything that takes me a few minutes is not worth either of us raising an invoice for, so I do not.
By the hour650 DKK / hour
Billed in half hours, for anything bigger — new photos, a rewritten page, a seasonal menu. I tell you the estimate before I start, not after.
A block of hours2.400 DKK5 hours · valid 12 months
Most of my clients never need this, and I would rather say so than sell you a subscription. But if you would rather not think about it every time you want something changed, buy a block up front and draw on it. Use it for anything: text, photos, prices, a new page, a question. I log what each change took and tell you what is left.
Works out at 480 kroner an hour instead of 650
Unused hours roll over once, into a second year
No monthly bill, and nothing renews automatically
When it runs out you buy another or you do not — there is no default
Optional, Monthly
Local visibility
A website is only half of being found. The other half lives on Google, in your reviews and, more and more, in what AI assistants say when someone asks where to go. This plan looks after that half every month, so you can get on with running the business.
Every month1.900 DKK / month
Your Google Business profile kept up to date: hours, holiday closures, photos, menu or price list, and a regular post so it stays active
Help getting more reviews: a simple way to ask happy customers, and suggested replies to every review, good or bad, for you to approve
Updates beyond the free small changes, such as new photos, a seasonal menu or a rewritten section, included rather than billed by the hour
A monthly check of how Google and AI assistants like ChatGPT describe your business, and corrections to the sources they read when they get it wrong
Your name, address and phone number kept consistent across the directories that matter
A short report each month in plain language: how many people found you, called, asked for directions or visited the site, and what I did
No binding: cancel any month, no notice period
No setup fee
Works best on a site I built, but I can take on your Google profile and reviews alone
Not advertising: no ad budget is spent on your behalf
This is not website care. Your site does not need patching, and I will not charge you to watch it. What this pays for is the work that brings customers in, which never really finishes.
All prices are ekskl. moms. I am under the Danish registration threshold, so no moms is added today.
Thirty minutes, no charge, no pitch. You describe the business and what you need. I ask the awkward questions early and tell you honestly whether I am the right person.
You get: A straight yes or no, on the call.
022–3 days
Scope
I write down exactly what is included, what it costs, and when it will be finished. The price is fixed at this point. If I cannot scope something confidently, I say so instead of padding the estimate.
You get: A written scope and a fixed price.
031–8 weeks
Build
You get a live preview link from the first day, so you can watch it take shape rather than waiting for a reveal. One round of revisions is already in the price.
You get: A preview link, updated as I go.
041 day
Handover
The code, the domain and the hosting all end up in your name. I walk you through updating the text yourself, and I stay reachable for fixes after launch.
You get: Everything in your name, plus a walkthrough.
Selected Client Work
Racha Beauty
Her customers can now see every treatment and price without messaging first.
Racha is a Thai-owned wellness studio in Næstved, and she had a Facebook page and nothing else. I built her a Danish-language site covering treatments, prices, a gallery and an enquiry form. She has no budget for maintenance and nobody to call when something breaks, so the site was built to keep running without me — and it has.
Google speed score, on day one
95+
First paying client
First
Backup routes, so no enquiry is lost
2 paths
“Ice built my shop's first website. It's fast, reliable and in Danish, and since it launched I haven't had to fix anything or pay anything extra.”
It depends on how many pages, and the answer is published rather than quoted on request. A one-pager or simple three-page site is 6.500 – 9.500 DKK, and a full four-to-eight page site is 12.000 – 20.000 DKK. Every site is coded by hand, so there is no platform fee on top afterwards, only a domain and possibly hosting. Fixing an existing site is 8.000 – 16.000 DKK, and frontend work on a web app is 5.500 DKK / day. The exact number is fixed in writing before any work starts. All prices are ekskl. moms. I am under the Danish registration threshold, so no moms is added today. For context, a simple site from a Danish freelancer or agency typically runs 5.000 to 25.000 kroner before moms, so this sits at the lower half of the market.
What is not included in the price?
Said plainly so it is never a surprise halfway through. Writing your content: I will structure it, edit it, and tell you what each page needs, but the words about your own business should come from you or a copywriter. It is the most common thing that delays a project. Professional photography: phone photos in good light are often fine; if you need a photographer, budget for one separately. Logo and brand identity: I design around the brand you already have. Ongoing work after launch: the search and AI foundations are included, and keeping your Google profile, reviews and listings active is the optional Local visibility plan, ${services.localVisibility.price}. Paid advertising: running ad campaigns is somebody else's speciality. Legal wording: I put the privacy page, cookie notice and structure in place, but the wording should be checked by someone qualified. For most of these I can point you to someone good.
Why not just get a site for 3.000 kroner?
You can, and for some businesses that is genuinely the right call — if you need a placeholder page and nothing more, a template builder will do it cheaper than I will. What you usually do not get at that price is the part that makes the site earn its money: search setup written per page so you turn up when someone searches your town and your service, a performance budget so it opens fast on mobile data, accessibility basics, an enquiry form with a backup delivery path, and analytics so you can tell whether any of it is working. That work is the same amount of work whether the site has three pages or eight, which is why the starting price is where it is. If your budget is firmly under 6.500, say so in the enquiry form — I will tell you honestly whether to spend it with me or somewhere else.
Can I pay by the hour instead?
For a website I would rather you did not, and that is more for your protection than mine. A fixed price means you know the number before anything starts and I carry the risk if it takes longer than I estimated — billing by the hour moves that risk onto you, and you are the one who cannot see how long things ought to take. Where scope genuinely cannot be pinned down, a day rate is the honest shape and I do use one: 5.500 DKK / day for frontend work on a product, which is the second offer above. That fits ongoing work, an open-ended list of changes, or anything waiting on decisions nobody has made yet. What it is not is a cheaper way to buy a website — a fixed-price site will almost always cost you less than the same site billed by the day.
Can you fix my WordPress or Wix site?
Yes, when something is broken: error messages on the page, a slow or insecure site, a form that stopped sending. I fix those on the site you already have, as a Rescue or at the hourly rate. What I do not do is redesign a builder site or keep patching it month after month. A WordPress site breaks when its plugins and its PHP version drift apart, so ongoing patching only buys time until the next update does the same. Wix and Squarespace lock the parts that make a site fast and findable inside the platform. So when you want a new look, I rebuild in code: priced like any new site, often reusing your text and photos, with no plugins to update and no platform fee afterwards. The written audit tells you honestly which of the two you need.
Will my business show up when people ask ChatGPT or Google's AI?
More and more people ask an AI assistant where to eat or who to call, and those tools answer from what they can read about you: your website, your Google profile, your reviews and the big directories. Every site I build is set up for that: your common questions answered in plain words they can quote, a label that tells them exactly what kind of business you are, a short summary file written for AI tools, and your name, address and phone number matching everywhere. I also check what the assistants say about you at launch. Nobody can promise a place in an AI answer, and anyone who does is guessing. What I can do is make sure the facts they find are right and easy to repeat. Keeping that up every month is part of the optional Local visibility plan, 1.900 DKK / month with no binding.
What do you build it with, and could another developer take it over?
Hand-coded sites are built with React and Next.js in TypeScript, styled with Tailwind CSS, and hosted on Netlify or Vercel. Forms go through a service like Resend so messages reach you even though there is no server to maintain. The part that actually matters: these are mainstream tools, not anything invented here. Any React developer can open the repository and continue, which is deliberate: you should be able to replace me without replacing your website. Racha Beauty's site is React and Tailwind, and the full stack for every project I have built is listed on its case study page.
Is there a monthly fee for the website?
Not to me, and not to a platform. A coded site has no site plan underneath it. Its hosting fits inside the free tier at Netlify or Vercel for a site this size, though I will not pretend a company's free tier is a guarantee: if it changes, or you would rather sit on a Danish webhotel, that is 500 to 1.500 kroner a year. The domain is about 100 kroner, in your name. You pay those directly; I do not mark up other people's invoices. The only monthly thing I sell is the optional Local visibility plan, which is about getting customers rather than keeping the site running, and you can cancel it any month.
Can I update the website myself afterwards?
Yes, if you want to. I set up a free editor on the site as a one-off add-on (3.000 DKK), and after that you can change text, prices and images yourself and it costs nothing a year to keep. Content you post to repeatedly, like a menu or a treatment list, is a list you manage yourself (3.500 DKK), also free to run afterwards. What you cannot do is move the layout around yourself; a new section is still a call to me. Either way you get a walkthrough at handover, and you are not locked into paying me for small changes.
Do you only work with clients in Copenhagen?
No. I am based in Copenhagen and happy to meet in person anywhere in the greater Copenhagen area, but most of the work happens remotely and I take clients across Denmark, Sweden, and the rest of the EU. Racha Beauty is in Næstved and that project ran almost entirely remotely. If we never meet in person, nothing about the result changes.
Do you maintain the site afterwards?
The site itself does not need maintaining, and that is deliberate. It has no plugins to patch, so I do not sell a care plan: Racha Beauty's site has run since launch without anyone touching it. What I do not do is pretend you will never want anything changed. Small things, like a price, an opening hour or a typo, are free, because a 100-kroner invoice costs us both more in admin than it is worth. Anything bigger is 650 DKK / hour, billed in half hours, with the estimate given before I start. Or buy a block of 5 hours for 2.400 DKK and draw on it as you go, which works out cheaper per hour and never renews. Separately, if you want someone keeping your Google profile, reviews and AI listings working for you every month, that is the Local visibility plan at 1.900 DKK / month, with no binding. It is about getting customers, not looking after software.
Which languages can you work in?
I build in Danish, English and Swedish. Racha Beauty's site is entirely Danish, down to the page addresses. My own spoken Danish is still improving, so we can run the project itself in English or Swedish and still ship a fully Danish site — the language of the meetings and the language of the website are two different things.
How long does it actually take?
A small-business site is usually two to three weeks, a rescue one to three, an app frontend three to eight. Those are real numbers, not best cases. The most common delay is not the build — it is waiting on text and photos from you, which is why the scope says exactly what I need from you and when.
Who owns the code?
You do, completely. The code lives in a repository in your name, on hosting in your name, with the domain in your name. If you want to hand the whole thing to another developer next year, there is nothing to untangle and nothing you need to ask me for.
Next Step
Tell me about it
A few lines about the business and what you need is enough to start. If it is not a fit, I will say so and point you somewhere better.