If you look at the sites I make in chronological order, many are fairly similar to one another. I’ll use the same tech stack & sometimes aesthetics for several sites in a row (examples from this summer: CO2 → hackclub-emoji, Hack Pennsylvania recap → personal site, Notebook → IMA). They’re Iterations on a Theme, one might say.
I am a designer, not an artist. My sites are not artwork for a gallery, they are designed with a specific purpose & goal in mind. Each one is for a different audience—if the Windy City Hacks site shares a lot with Hack Pennsylvania, so be it. The goal of those sites is getting high schoolers hundreds of miles from one another to sign up for an event, & they don’t care about the design. As such, making each site totally unique is not a priority for me.
This is partly because I rarely start sites’ code from scratch. Each site is for express purpose of communicating information, & making them quickly & pretty “feature-complete” (design system/theme/reusable components, social cards/metadata, dark mode, server-rendering, basic accessibility, etc) is often important. The Windy website was forked from the Penn website which was forked from the Hack Happy Valley website which borrowed components from Hack Club.
I make myself starter templates, & often just clone or remix a previous site (I code mostly on Glitch these days! from my iPad). For small ideas, giving myself an easier jumping off point is often critical to making the project happen—depending on how important a project is (Hack Penn: mission-critical, hackclub-emoji: throwaway idea), if I had to start from scratch every time, the small ideas would never happen.
I’m not ashamed of making websites that look the same, & I don’t think you should either. If the websites are making the web & world a better place, making more of them faster is just clearly better. No one cares if each one I started from scratch.