The KIRUPA Tech Stack! π±
Just in time for Halloween, this may be the scariest thing you'll read about tech all year!
Hi everybody - 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 is 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! π
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 25 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! π
Till Next Time
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.
So, to answer the question of whether I would do something differently, the answer is No. I wouldnβt.
After having read this, what part of what I have described terrifies you the most? Jump over to my Twitter poll and vote! Feel free to comment as well if there is anything more you would like to know by replying to that tweet, replying to this newsletter, or posting on the forumsβ¦which, given the emphasis on how long everything has been continuing, have been around since 2001! π
Cheers,
Kirupa π