My Stack

Share

In this article I'm going to briefly go over the technologies that I frequently use for creating things. Here's what most of my creative technology stack looks like.

Django

Django is something I've been working with for a while. Around 10 years now. I feel like I will still be learning about different ways to use it for a long time.

If you don't know, Django is a backend web framework that uses Python. Projects usually revolve around a relational database. It has a lot of features that have kept me using it over the years, despite the tradeoffs it has.

To see it in action, you don't have to look far. Plain-old Django is behind the application layer that serves all of the static sites (the webbooks and games) that are featured on kingbook.org. That system is the simplest and lightest weight Django system I've ever made so I'm proud of it for that reason.

Django REST Framework

Django Rest Framework (DRF) is a powerful extension to Django that gives it the ability to host RESTful API endpoints. The modern web does well with static sites that have async components to consume endpoints. This is great for something like "Jamstack" or static pages with embedded microservices. Being able to create and organize all of that logic within a Django project that can access the Python ecosystem is wonderful.

I have spent the last several years very focused on building with DRF. I've made dozens and dozens of what I'd call fairly capable services by combining DRF and static websites.

I think the power and possibilities of DRF led me to overcomplicate several systems. When app expansion is so easy, it is hard not to sprawl and tangle. I have recently decommissioned the few sprawling DRF systems that I've developed the past few years. At the moment, I am reassessing my uses for DRF and attempting to simplify my approach and wrangle in my desire to make everything a compilation of complex microservices.

Vue + Tailwind CSS

Vue is a JavaScript framework for creating static websites and static single-page-apps.

Tailwind CSS presents a library of "component classes" that can be composed and used inline with HTML to style pages in a particularly satisfying way.

I always use Vue with Tailwind and only use Tailwind with Vue, so I put them together here. I'm glad that I've decided to specialize in using these technologies for the last few years.

GitHub with GitHub Desktop

Obviously everyone needs version control to some extent. Developers really have no choice unless they are insane. GitHub is a popular version control platform and GitHub Desktop is a UI that makes everything having to do with git very easy to do. I've found this combo of GitHub with GitHub Desktop to be a great solution for all my git needs.

I see the command-line version of git suggested more often than GitHub Desktop, and I'm not totally sure why. Is it something tribal or gate-keepy? Maybe? I really don't know. At any rate, I think it is good to use UI tools like these that work well and make work less error-prone.

Windows

I use Windows for my main desktop. I switched from Ubuntu many years ago so I could use some specific apps and games.

I've been pretty happy with Windows, but feel that I am likely to start exploring Ubuntu again soon. I can't imagine missing anything here anymore. I'm having quite a bit of resentment build-up about many conflicts and issues using Windows. Now all of this heavy-handed AI integration in Windows will certainly encourage me to explore other options like Ubuntu again.

Visual Studio Code

This is the text editor I use. Most of what I write goes in here. I started using it when it came out and haven't felt the need to switch to anything else since. Before VS Code I used a slew of the other popular code editors. I enjoy a few of the extensions of VS Code so I feel a bit locked-in now. AI features could annoy me away but they are fairly avoidable here still.

Build-a-Book

This is my in-house tool I've been using a ton lately to generarte the complete Vue project code for these webbooks that I've been publishing on King Book. All of the Oz books on there are the first to use this build-a-book system.

Build-a-book is a web tool that cuts down on the time needed to produce a Vue webbook from scratch. Using the tool, it takes a couple of leisurely hours instead of a couple of grueling days to produce a full Vue webbook.

I built the tool, so I'll try not to go into too much detail about how it works. How about I just describe the input and output. Paste in chapters of text, set titles and such, then push a couple buttons to get the complete Vue project code. From there it can be developed more (add custom stuff) or bundled ("built" with rollup) to be served efficiently by a static website host.

Ghost

I guess I should mention this new thing that I'm using to write this article. I just found out about Ghost and started using it yesterday. Ghost is a suite of website and newsletter tools with a sleek content management system for managing a blog. I have two whole days with it so I can't say much, but so far I'm pleased and impressed.


What's your stack like?

<3 Grant