https://www.artmann.co/articles/30-years-of-br-tags Christoffer Artmann Posts Projects 30 Years of
Tags Three decades of making things on the internet December 13, 2025 30 Years of
Tags I'm incredibly optimistic about the state of web development in 2025. It feels like you can build anything, and it's never been this easy or this cheap. AI is the thing everyone talks about, and it's been a great unlock -- letting you build things you didn't know how to do before and simply build more than ever. But I don't think that's the complete picture. We also have so many more tools and platforms that make everything easier. Great frameworks, build systems, platforms that run your code, infrastructure that just works. The things we build have changed too. Mobile phones, new types of applications, billions of people online. Gmail, YouTube, Notion, Airtable, Netflix, Linear -- applications that simply weren't possible before. This is a retrospective of being a web developer from when I was growing up in the 1990s until today. Roughly 30 years of change, seen through the lens of someone who lived it -- from tinkering with HTML in a garage in a small Swedish town to working as an engineer at a YC startup in Barcelona. --------------------------------------------------------------------- The Static Web "View Source was how you learned" Let's go back to when the web felt like a frontier. The late 90s were a magical time -- the internet existed, but nobody really knew what it was going to become. And honestly? That was part of the charm. My first website lived on a Unix server my dad set up at his office. He gave me a folder on artmann.se, and suddenly I had a place on the internet. My own little corner of this new world. All I needed was Notepad, some HTML, and an FTP client to upload my files. It was a creative outlet -- I could write and publish anything I was interested in that week, whether that was cooking, dinosaurs, or a funny song I'd heard. No gatekeepers, no approval process. Just me and a text editor. This was the era of learning by doing -- and by reading. There were no YouTube tutorials or Stack Overflow. When you wanted to figure out how someone made their site look cool, you right-clicked and hit "View Source." For anything deeper, you needed books. Actual physical books. I later borrowed a copy of Core Java, and that's how I learned to actually code. You'd sit there with an 800-page tome next to your keyboard, flipping between chapters and your text editor. It was slow, but it stuck. When it came to HTML, you'd see a mess of tags, , and spacer GIFs -- those transparent 1x1 pixel images we used to push things around the page. It was janky, but it worked. CSS existed, technically, but most styling happened inline or through HTML attributes. Want centered red text?
Hello!
. Want a three-column layout? Nested tables. Want some spacing? Spacer GIF. We were building with duct tape and enthusiasm. The real pain came when you wanted something dynamic. A guestbook, maybe, or a hit counter -- the badges of honor for any self-respecting homepage. For that, you needed CGI scripts, which meant learning Perl or C. I tried learning C to write CGI scripts. It was too hard. Hundreds of lines just to grab a query parameter from a URL. The barrier to dynamic content was brutal. And then there was the layout problem. Every page on your site needed the same header, the same navigation, the same footer. But there was no way to share these elements. No includes, no components. You either copied and pasted your header into every single HTML file (and god help you if you needed to change it), or you used