February 04, 2021
I joined this challenge a bit late but I've just released my first side project of '21 🎉!
If anyone would like to test it, send me a DM on Twitter and I will give you a promo code for 100% off :)
What is Gistie?
I built Gistie because I wanted to blog but due to the amount of code I was writing during the week, I would quickly lose track of what I could write about.
Gistie helps by monitoring your GitHub repos and creating Gists for you so that you can focus on your work. It will then send you all the gists it's created in the week so you can embed them in a blog post.
A nice feature of Gistie is that you never have to leave your editor. To make Gistie pick up a code snippet, you just wrap the code in a comment tag.
There is a couple of things I'd like to add before the full release:
- GitLab support (if enough people want it)
- More information about what Gistie is doing under the covers on a users dashboard (currently its just settings for when you want your weekly email to come)
- A clearer "how to section" so that it shows different comment examples
- A testimonial section once I have some feedback
What's been tricky?
Embedding the GitHub gists in an email was pretty fiddly. As you can't embed JS in emails, I had to get the raw HTML and CSS that Gists use. Luckily, they all use the same CSS so after a while of searching, I got my hands on both.
The next hurdle was emails need to have inline CSS to work. I managed to find a Go package that someone wrote and it worked pretty well! But I definitely have a different opinion on custom emails now!
What did I use to make it?
For the backend as already mentioned, I used Go. It's the language I'm most used to and it copes with everything I want to do in an efficient manner. I then hosted it on Heroku with a postresql resource as I get free access with the GitHub education pack.
For the UI, I made it in React with most of the help coming from TailwindUI. I recently purchased it and I have a feeling It's going to become my best purchase this year. If you don't already use it, and you're primarily a backend developer, I strongly suggest it! (Could be wrong but think this site is written in it TailwindUI?). I then hosted the frontend on Netlify. It has a great free tier and It has some pretty cool features that I want to explore - such as subdomains on different branches.
For payment provider I used Stripe. In particular, I used Stripe Checkout and that was super easy to implement. It also meant the added benefit of using Stripe Climate so that 1% of every purchase goes towards stopping climate change - everyone should do this! I didn't originally think I wanted to charge people for this however, I'm a student and don't have a lot of money coming in from anywhere else - plus Mailgun costs after three months.