Web DevelopmentPUBLISHED UPDATED 6 MIN READ

I vibe coded a full website in one day

Vibe coding a full website in one day is possible, and I have the site to prove it: Duskroom went from a random idea to working rooms with a timer, notes and a sound mixer in a single weekend day, roughly six to seven hours. The order that made it work was spec first, design second, code last - not the other way round. Two hours of that day went to the design in Claude Design, and most of the rest to a Claude Code session that ran smoothly only because the environment was configured before the first feature prompt: AGENTS.md, CLAUDE.md and copilot-instructions.md all pointing at the same skills, about 42 files touched in total. The code was never the hard part. The background videos were, and they took another two to three days, because that was the one skill I did not have.

TL;DR

  • Duskroom - rooms with a timer, notes and a per-sound mixer over an infinite background video - was specced, designed and built in one day, about six to seven hours.
  • The day only worked because of the order: product questions, then references, then design in Claude Design, then a configured Claude Code environment, then features. Around 42 files were touched before the first feature prompt.
  • The videos took two to three more days. Vibe coding compressed everything I already knew how to do and compressed nothing I did not.

Why I stopped working with a YouTube tab open

I cannot focus in a quiet room. Silence does not empty my head, it fills it with thoughts that have nothing to do with the task in front of me. Background sound fixes that for me, and for years the fix was a YouTube tab: rain, a window, a loop that runs long enough that I forget it is there.

It works right up to the moment you need anything from it. I work in pomodoro blocks, so I need a timer, and YouTube has none. I take notes while I work, so I need somewhere to put them that is not a second window on top of the video. And the mix is never right - the rain is too loud against everything else, and there is no way to pull one sound down without pulling all of them down.

So Duskroom is rooms. You pick one, you sit in it. Each room has a timer with two modes - a clock and a focus timer - notes, and a mixing panel per sound. The background video loops with no end, so nothing interrupts you at the 40-minute mark. And every room goes full screen, which is the point: most people I know who work at a computer all day have a second monitor doing nothing useful. Reading Room lives on mine.

Does vibe coding still need a spec?

Yes, and it is the cheapest hour of the whole day. Before I opened any tool I answered three questions in writing: who is going to use this, who is it actually useful for, and if this service already existed, would I use it myself.

The third one is the filter. It is easy to be honest about a product nobody built yet. Those three questions did not stay three - they produced a long list of follow-up questions, and answering that list is what shaped the product. The rooms, the two timer modes, the per-sound mixer, the second-screen full view: none of that came from a brainstorm about features. It came from describing my own bad afternoon in enough detail that the features were obvious.

The advice is small and boring. Write the spec while the idea is still exciting, because that is the only moment you are willing to spend an hour not building. When the model then goes off and writes 200 lines you did not read closely, the spec is the thing that tells you whether those lines belong in the product at all.

Where do you find references for something that does not exist?

I looked in the obvious places first: YouTube channels, forums, sites doing something adjacent. For the landing page that worked fine, and I shaped the landing directly from what I found. For the rooms it did not. There was nothing close enough to borrow from, which is either a bad sign or the reason to build it, and I decided it was the second.

Then design, in Claude Design. This is where I want to be blunt about the thing people get wrong with AI tools: the model is not the variable, your prompt is. You can hand the strongest agent available right now a vague, unstructured prompt and get something forgettable back. The prompt is where the taste lives - the references you name, the mood you describe, the constraints you set, the things you explicitly refuse. Structure the prompt and the model has something to be good at.

Design for the whole site was done in the first couple of hours. Not sketches. The actual visual direction I then built against.

The 42 files I touched before writing a single feature

The Claude Code session did not start with a feature. It started with the environment: skills, instructions, prompts, project context. By the time the setup was done, around 42 files had been created or updated.

The core of it is that AGENTS.md, CLAUDE.md and copilot-instructions.md have to describe the same project. I run Claude and Copilot side by side, and if each one reads its own private version of the rules, you spend the day arbitrating between two assistants with different opinions about your codebase. One source of truth, referenced by all of them. Investing in those shared instructions instead of re-explaining the project every session is one of 4 rules for using AI properly, the hard way.

This is the part people skip because it produces nothing visible. It is also the reason the coding session afterwards was uneventful. With the spec written, the design decided and the instruction files in place, the model was not guessing at my intentions - it was executing a plan that already existed. Smooth sessions are not a property of the model. They are a property of what you did before the session.

Six hours from idea to working rooms

The plan was two weekend days. Personal things took one of them, so the whole build got a single day, roughly six to seven hours, and that constraint did more for the project than an extra day would have.

Inside that day the coding itself was the calm part. The markdown files and the plan were doing the heavy lifting, so the session was mostly me reading output and confirming direction rather than explaining the product over and over. Rooms, both timer modes, notes, the mixing panel, full-screen view - all of it landed inside the day.

That is the honest shape of a one-day build: it is one day of building on top of everything you already knew how to build. The stack was familiar, the design was decided, the environment was configured. Nothing in that day required me to learn anything. The next part did.

The videos took longer than the entire website

Filling the rooms was the wall. Duskroom needs background video, and video was a niche I had never worked in. I did not know which tools were worth trying, how to use them, or how to write a prompt that produces something you would actually want looping behind your work for two hours.

It took two to three days to get functional at it, and I wrote that experience up separately in I tried AI for video. Here's what I got. At the end of it I had three videos I was willing to ship.

Three days for three videos, against one day for a working product. That ratio is the real lesson of this build, and it is not the lesson the phrase "vibe coding" usually implies. AI did not remove the work. It removed the work I had already done a hundred times before, which made the unfamiliar work the only thing left standing - and now it was the whole project.

What one day of vibe coding buys, and what it costs

What it buys

What it costs

A working product while the idea is still hot

You ship your defaults - familiar stack, familiar patterns, no exploration

Design decided in hours, not in a week of tab-hoarding

The design is only as good as the prompt, and a lazy prompt shows

A coding session with no friction

The friction moved earlier, into spec and config, and it is not optional

Proof the thing is worth continuing

Anything you have never done before still takes the days it takes

The setup cost is the row people ignore, and it is the one that fails loudest when skipped. Skip the spec and you get features nobody asked for. Skip the instruction files and you spend the session repeating yourself to a model that keeps forgetting which project it is in.

Duskroom is live and I use it most working days. The rooms that are still empty are waiting on video, not on code - which tells you exactly which skill I need to get better at next.

AI did not remove the work. It removed the work I had already done a hundred times, and left the part I had never done at all.

Ogtay Iskandarov

Designer and full-stack developer running klauzzdcode, a one-person studio in Baku. Freelance since 2023, I ship products from Figma to deploy and write down what survives contact with production.

STORY →

FAQ

What is vibe coding, in practice?

In practice it means describing what you want to an AI agent and reviewing what it builds, instead of typing every line. It does not mean skipping the thinking. My day had a written spec, a decided design and a configured environment before the first feature prompt.

Can you really build a full website in one day?

Yes, if the day is spent on things you already know how to do. Duskroom took six to seven hours from spec to working rooms because the stack was familiar and the design was settled first. The AI video took two to three days on its own.

Which files should you configure before starting an AI coding session?

AGENTS.md, CLAUDE.md and copilot-instructions.md, all describing the same project and pointing at the same skills. If you run more than one assistant, split rule files mean two assistants with different opinions about your codebase. My setup touched around 42 files before the first feature.

What does Duskroom actually do?

It gives you rooms to work in: an endlessly looping background video with a timer, notes and a mixing panel for each sound. The timer has a clock mode and a focus mode for pomodoro, and every room goes full screen so it can live on a second monitor.