You got your htmx in my Django!

This is the second post about my journey launching a side project in 2020. The first post can be found here.

Last year, I set a goal for myself: Build, launch, and close a paying customer for a product that I built entirely on my own. I was working at a startup called Resource, and a daily problem that I encountered was driving me crazy. We had all these PRs on Github that had been reviewed and were ready to merge, but we were left waiting for checks to pass, and constantly hammering Github’s ‘Update Branch’ button.

Thus MergeCaravan was…


Photo by Jukan Tateisi on Unsplash

This is the first of a few posts about my journey launching a side project in 2020.

At the beginning of 2020, I set out a goal for myself:

Build, launch, and get a paying customer for a product that I built entirely on my own.

As much as 2020 was a dumpster fire of a year, I’m thrilled to say that I managed to achieve that goal. In this post, I’ll outline why I set that goal, why I chose to build MergeCaravan, and what I learned about launching a side project.

Why Do This?

During my professional career, I’ve worked at…


A good wrapper hides the tastiest implementation details

How Wrapping Your Dependencies Will Save You From Future Suffering

A few months back, I was talking with one of the other developers on our team and somehow we got onto the topic of what I thought my biggest learning in the past couple years was at our company. I’d been working as a software developer for the past 6 years and at Resource for just over 2 years.

“Wrap your dependencies,” I told my coworker with the sort of gaunt stare you expect to see from a grizzled war veteran.

Despite the fact that I’ve been writing software for over half a decade, I didn’t learn this lesson until…


= potential pitfall

Hand-holding Honeymoon

The first time I used Netlify to deploy a single page app, I was pleasantly surprised. Before then, I’d usually used Heroku to deploy applications, which meant serving my index.html file from Heroku, and configuring my Heroku build process to upload my compiled assets to a CDN. While not too terribly difficult to set up, this process had some downsides. Serving the index.html file from Heroku meant that it could take extra time before changes were deployed to users and the performance wasn’t ideal. Netlify, on the other hand, deploys your index.html file and your assets almost instantaneously and it…


Not that sort of blessed.

Throughout my time as a software developer, I’ve noticed a pattern with the language and framework ecosystems that I tend to enjoy working with most; they generally operate as “blessed” ecosystems.

What is Blessed?

When I say “blessed”, I’m referring to two properties that these ecosystems possess:

  • The components are explicitly designed to work together.
  • The components are designed so that they can be swapped out for alternatives.

In essence, the creators of the primary component(s) of these ecosystems have explicitly “blessed” other components as being a good default choice.

Examples of Blessed Ecosystems

My favorite example of a blessed ecosystem is the Django Project. The project…


Before There Were Trees

When I first started using git professionally, one habit I had was to frequently stash code. I’d be working on a particular feature and I’d see a Hipchat alert (yes, this was before Slack) about an error being thrown in production. I’d take a look at the stacktrace in Sentry, and find the offending section of code. From there I’d return to my terminal, stash my changes, open a new bugfix branch off master, and begin trying to reproduce the error locally.

Usually this process would happen without too much pain. If there were untracked files in my working tree…

James Pulec

Early Stage Engineer. Free Thinker. Beer Drinker.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store