Colophon
How this site is built.
This is a one-person studio's website, and it's built the way the apps are meant to be built: by hand, on purpose, with nothing in it that doesn't earn its place.
There's no framework here. No build step, no bundler, no node_modules, no deploy pipeline that needs warming up. Three files โ one HTML, one CSS, one JavaScript โ written in a text editor and dragged onto a server. If you view the source, you're reading exactly what I wrote, which is increasingly rare and, I think, a bit of a shame.
The short version
| Built with | Hand-written HTML, CSS and JavaScript. That's the whole stack. |
|---|---|
| Framework | None. No React, no Vue, no Astro, no static site generator. |
| Build step | None. The files you edit are the files that ship. |
| Total weight | Under 100KB of HTML, CSS and JavaScript โ lighter than most single photographs. |
| JavaScript | About 37KB, unminified and commented. It enhances; it isn't required to read the page. |
| Illustration | Inline SVG, drawn in code. No image files except the social card. |
| The cottages | Generated from a seeded number, so each is a slightly different shape โ but identical on every visit. |
| Fonts | Fraunces for the headings, Nunito for everything else. |
| Tracking | None. No analytics cookies, no pixels, no consent banner โ there's nothing to consent to. |
| Hosting | Static files on Cloudflare Pages. |
| Dark mode | The lamp in the corner. It's a real switch and it remembers. |
| Accessibility | Keyboard navigable, respects prefers-reduced-motion. If something's awkward for you, please tell me. |
Why bother doing it this way
Partly stubbornness. Mostly because the constraint is the point: when adding something costs real effort, you only add things worth adding. A framework would have made the village easier to build and the page four times heavier. The village isn't complicated enough to need one โ it's a list of small buildings and a dog.
The cottages are the part I'd defend hardest. Each one is drawn by a small function that turns an app's position in the list into a roof shape, a wall size, a window count, a chimney side and a slight tilt. Nothing is random โ the same app always gets the same house โ but no two neighbours look quite alike. A grid of identical cards would have been faster. It also would have felt like a spreadsheet, and the whole premise here is that software can feel like somewhere rather than something.
What George knows
There are a few things hidden around this site. I'm not going to spoil them, but George โ the golden retriever, who is on this website more than I am โ has agreed to leave some hints. He is enthusiastic and only intermittently helpful.
- He answers to his name. Not clicked โ typed. He'd like you to know it's a very distinguished name.
- There is one word that will bring him running from anywhere on the page. It is his favourite food. It is not kibble.
- A fortune cookie is hiding somewhere on the front page. It moves every visit. George always knows where it is, and he will not stop following your cursor until you've read it.
- The mug on the desk can be emptied. It takes a few goes. Something happens when it's finished.
- The plant on the desk is called Gerald. Gerald grows the longer you stay. Leave the page open overnight and you will discover Gerald has ambitions, and you will have to do something about it.
- An old code that works on old machines works here too. Up, up, and you know the rest.
- The button in the footer says "do not press". George feels this is entrapment.
- The fire can be stoked. The lamp actually works. The logo means something, if you keep asking it.
- Visit late at night and the site will notice, and say so.
George would like it noted that the doghouse in the village was his idea, that he did not agree to the bandana, and that he is available for walks at any time.
Credit where it's due
Built by one person with an alarming amount of tea. If you're making your own small corner of the web by hand, I'd genuinely love to see it โ hello@itdwstudio.com. Dog pictures still get priority support.
โ Back to the village