Tutorials Books Videos Forums

Change the theme! Search!
Rambo ftw!

Customize Theme


Color

Background


Done

The KIRUPA Tech Stack

by kirupa   |   discuss on the kirupaForums

One of the most common questions I get, especially from other content creators, is about how articles are written and published on the KIRUPA site. What is the process? What CMS am I using? What is the tech stack?

Whenever I give out my answer, there is usually a long shrieking scream. Given that this may or may not be close to Halloween, I figured I would answer more openly in the following sections (and share a sweet video!) so that all of you have some tales to scare your friends and family with! 🎃

Onwards!

Party Everyday Like it is 1998

To dive into all of these answers, the first thing to note is that this site was started in 1998. The world of web development was very different back then. What was cutting edge was a variation of HTML 3.0, the ability to specify some colors for the background and links, PHP for some backend magic, tables for layout, frames, and the free WYSIWYG web editors like FrontPage Express and Netscape Composer that came bundled with the browsers:

When it came to writing a tutorial or creating any page, there was no CMS-like system back then to separate the content from the actual structure of the pages. The solution was exactly what you would expect for that era. Each page on the site was a Save As copy of an existing page:

Once a page was created and saved, it was edited locally. All of the content writing was via FrontPage. I never wrote any HTML manually. I didn’t really know how to. I also wanted to write the content in the way I would write an article in Microsoft Word and not deal with HTML tags and other context-switching tasks. After the local edits were complete, I would tell FrontPage to upload the files to the web server via FTP.

So, what’s happening today?

Today, almost 26-ish years later, nothing much has changed from how the site was built in 1998. With Microsoft discontinuing FrontPage and its standards-friendly replacement, Expression Web, I switched over to using Adobe Dreamweaver:

New content still starts off as a Save As of an existing page, but somewhere in the early 2000s, I switched the common header/footer/navigation page elements to be served from a template:

The template serving mechanism is handled via Apache Server-Side Includes, so there isn’t any specialized middleware running. This is not because of any inherent dislike of middleware. The Apache web server existed in the late 1990’s, and (knock on wood) it still exists today. I never saw a need to change a process that has worked well for all these years.

Watch the Full End-to-End Workflow

For many of you, everything that I’ve described here probably sounds bizarre. To help you better understand and visualize what it takes to create a new article, I recorded a video of me going through the various steps of publishing a tutorial for this site:

Over these 17-ish minutes, you get to see every step, starting with copying/pasting the content from my draft writeup (from Quip), adding the images from Figma, fixing broken links, and more, all the way to creating the Open Graph metadata, and pushing this Sierpinski Recursion tutorial live. To make this more appealing, I sped up the actual steps by 3x and added some very calming background music! 😀

Conclusion

If I had to start from scratch today, knowing everything I know now, would I still use the workflow I described here for adding new content to KIRUPA? This is a tough one to answer. There are a lot of tedious steps, many of which I automate with some custom tools, and the process can break if any of the tools in my workflow end up becoming deprecated. Despite all of that, there is also over 25 years of muscle memory that kicks in. I can do all of these steps in my sleep! 😴

Looking at this differently, the end result is…just fine. Someone visiting any page on the KIRUPA site will get a really fast, accessible, and bloat-free experience. The design may have a retro 90’s look to it, but that is partly by design. It is largely my inability to have design sensibilities that evolved beyond the SNES video games I played so much growing up. From a logistical point of view, the very basic tech stack means that the site is very portable. When this site’s long-time host mediatemple shut down recently, I was up and running on another web host in a matter of hours without any complicated migration path.

Just a final word before we wrap up. What you've seen here is freshly baked content without added preservatives, artificial intelligence, ads, and algorithm-driven doodads. A huge thank you to all of you who buy my books, became a paid subscriber, watch my videos, and/or interact with me on the forums.

Your support keeps this site going! 😇

Kirupa's signature!

The KIRUPA Newsletter

Thought provoking content that lives at the intersection of design 🎨, development 🤖, and business 💰 - delivered weekly to over a bazillion subscribers!

SUBSCRIBE NOW

Creating engaging and entertaining content for designers and developers since 1998.

Follow:

Popular

Loose Ends

:: Copyright KIRUPA 2025 //--