← back to blog
4 min read
  • #local-business
  • #web-design
  • #case-study

How I built a nail salon website in a day

I shipped a bilingual nail salon site in about a day. The code was the easy part; the photos, prices, and translations were the real work.


My first paying web client runs a nail salon in Heber City. Before the site, her whole online presence was an Instagram page and word of mouth. If you searched for her on Google, you found no prices, no tappable address, and no way to book.

I built and shipped her site in about a day. It is live at susy-nails.aldowebsitellc.xyz. Here is what that day actually looked like, including the part that took the longest. It was not the code.

What a nail salon site actually needs

Before writing anything, I asked Susy what her clients ask her. It boiled down to four questions:

  • What do you do, and what does it cost?
  • Can I see your work?
  • Where are you?
  • How do I book?

That is the whole spec. No blog. No accounts. No newsletter popup. One page that answers those four questions beats a ten-page template site that answers none of them clearly.

So the page has:

  • Services with real prices. Acrylic extensions $70. Overlay $50. Gel manicure $35. Pedicure $35. Rubber leveling $45. Real numbers on the page, because "message for pricing" is where bookings go to die.
  • A gallery of her actual work, from her own phone. No stock photos of hands that have never been in her chair.
  • A WhatsApp button for booking. She works by appointment, not fixed hours, so a live booking calendar would have been the wrong tool anyway.
  • A Spanish and English toggle, because many of her clients prefer Spanish and so does she.

The build itself

One static page. Plain HTML, CSS, and a little JavaScript for the language toggle and the gallery. No framework, no CMS, no build step worth mentioning.

The bilingual toggle is not fancy. Every piece of text exists in both languages in the markup, and one button swaps which set is visible. I have watched people reach for a full i18n library for a one-page site, and I get the instinct, but two sets of strings and a toggle shipped the same afternoon.

Booking is a WhatsApp link with a prefilled message. A client taps the button, WhatsApp opens with the booking message already typed, they hit send. Susy replies from her phone the way she already does all day. No booking software, no monthly fee, no calendar sync to break six months from now.

Hosting is a static deploy on Vercel. The page loads fast on a phone in a parking lot on spotty mountain LTE, which is the real test around here. I built and checked everything at phone width first, because that is how her clients will see it.

What took the longest

Not the code. The content. Splitting the day honestly:

  • Photos took the biggest chunk. Susy had hundreds on her phone. Picking the ones that showed range, cropping them, and compressing them so the page stays fast took longer than writing the gallery code did.
  • Prices took a real conversation. "It depends" is true in a salon, but a website needs a number. Susy and I settled on base prices for each service and let the details happen in the chair.
  • Writing everything twice. Every service description exists in English and Spanish, and the Spanish had to read like Susy talks, not like a translation engine.

Code was maybe a third of the day. This is the pattern I keep seeing with small business sites: content is the project. Code is the easy part. If a developer quotes you three weeks for a page like this, most of that time is either padding or waiting on you for photos and prices.

The tradeoffs I accepted

I want to be straight about the limits of a one-day build.

Susy cannot edit the site herself. There is no admin panel. When a price changes, she messages me and I update it, usually the same day. For a one-page site that is less friction than teaching someone a CMS, but it is a real dependency on me, and I will not pretend otherwise. It is part of what my $50 per month care plan exists for.

The site also lives on a subdomain of my domain for now instead of her own. That meant zero domain cost and zero setup for her on day one, but it is less hers, and moving to her own domain later means setting up redirects. I laid that tradeoff out plainly and she chose to start simple.

There are no online payments, no automated reminders, no review widgets. Version one answers the four questions and gets the conversation started on WhatsApp. Everything else can be added when there is proof she needs it, not before.

Plenty of good businesses around Heber and Park City run the same way Susy did: an Instagram page and word of mouth. That works until someone new to town searches, finds nothing, and books with whoever did show up. If that might be your shop, I do a free 24-hour audit, three real findings, yours to keep either way.

$ share

community rating

$ ls ./comments

sign in or create an account to rate and comment.

no comments yet, be first.