You can now leave comments on posts. We still need to wire them up with notifications, but it's a start!
The comments are built with the new Hotwire & Turbo.js functionality in Rails. Comments are broadcasted in realtime to the browser so you should see them show up instantly from other users. 🚀
I am not great at design, so I used a template I had laying around and made some stylistic updates here and there, focused on some copy, and got it shipped!
Head over to Userveys.com to check it out (and sign up if it interests you, seriously, I need feedback for my feedback tool :-p)
So whilst I was building Gistie, I wanted to get some users to try and test my product. This was not that hard to find but the majority of people who said they were interested didn't actually test it in the end. Maybe they were deferred by the price I don't know. I felt bad asking for them to pay so I offered them a promo code in exchange for some feedback.
This leads me to my next idea - A platform where fellow indie hackers can try out each other's products and if they leave some feedback then they get a discount for when the product goes public.
Indie Testers was born!!
In this video I create a landing page with a waiting list to get some interest :)
Enough of the features were complete that I thought it would be time to see how it worked in other people's apps. I've tested it with Jumpstart and it works well.
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.
What now?
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.
Ever since I've built my first web applications and businesses I've been playing around with different approaches and systems for holding myself accountable in terms of productivity and business growth.
In most cases it's been about making myself more time efficient and also getting feedback to make better business judgement calls. However as I have built slightly bigger businesses I have found managing communications between team members and having a central place for all the internal business processes to be really important too.
So I started building Growbase and tinkering with my ideas about a year ago. It has evolved so much. I have added and removed features from it constantly as my multiple businesses being managed within Growbase have changed and grown in terms of requirements.
I recently stumbled across Stripe Home and it has a lot in common with the solution I'm trying to create for small independent businesses and feelancers.
I'm hoping that Growbase will provide an ideal environment for business ideas to grow and teams to communicate and also a place where collaboration with other trusted startup freelancers can be as seamless as possible. Hopefully it helps to grow ideas, grow teams, grow knowledge, grow your customer base and grow revenue for startups and individuals.
This is the part of the process that stalls me, but I need the design to really help get my thoughts together and have a plan of attach when I start building.
Ended the session with a logo and header, but got frustrated getting my ideas out in AdobeXD.
I did a brain dump into Notion to start structuring the scope of work for this app. I also picked and purchased a domain and started to gather some design assets.
Since the very beginning of GoRails, I have always been asked for more beginner content. The truth is, it's kind of hard for me to create beginner content because I haven't been a beginner for so long. There is HTTP, databases, sessions, cookies, and all these other things that I take for granted on a daily basis.
Back in December I sat down and recorded a couple days worth of content. I built a clone of Buffer to connect you Twitter account and schedule tweets. It turned out pretty good and then it sat.
I had to go make a bunch of updates to GoRails in order to launch this tutorial. It took me 3 or 4 attempts to finally get something I was happy with.
As of today, I've finally merged in all the changes to add Paddle to the Pay gem and Jumpstart Pro. 🔥🔥🔥
Taxes, VAT, and related things are one of the biggest pain points of accepting payments in your apps. Stripe and Braintree don't provide great support for this yet and I've seen a lot of people start using Paddle for exactly this reason (plus they support PayPal!).
This has been a huge improvement and a lot of thanks to Nicolas Metzger for the help on adding Paddle!
This has been the bane of my existence lately. They've dropped support for Postcss and removed the installers that everyone has depended on for a long time. This is happening because ESM and other things are starting to shift how Rails approaches Javascript and CSS assets. In general, this is a good direction but it makes it hard to maintain projects.
Webpack Dev Server Fixes have landed in master for the config and HMR issues that were present in Webpacker 6.
TailwindCSS Improvements I've also refactored the stylesheets into 3 so that Webpacker can recompile smaller portions of Tailwind. This has sped up the compilation time in development from 15s to 1s.
Sourcemaps I'm also debating on disabling the default sourcemaps. Right now, Webpacker 6 silently fails when sourcemaps fail to generate because of too few resources. This is causing issues on Hatchbox.
We can switch to a cheaper sourcemap generation instead of turning it off completely: devtool: 'eval-cheap-module-source-map'
Javascript is the toughest part of building Madmin. Ideally, we don't have to do much to add our assets to your application, but it's tricky.
Asset Pipeline Adding assets to the asset pipeline requires configuration tweaks to the manifest.json and adding gem dependencies that include the assets.
Webpacker Assets in webpacker are easier, but you still have to "yarn add" the dependencies and potentially tweak the webpack .js files. These changes could conflict with your code and that's no bueno.
This works super well so far, but I haven't tested with Safari, Firefox, etc.
Rails Dependencies Unfortunately, this won't work for everything. The ActiveStorage, ActionText, Hotwire, Turbolinks, and other JS that ships with Rails really needs to have matching versions.
I think the solution we may end up with is using Skypack in the asset pipeline and Webpacker that way we can solve both problems. No additional dependencies need to be added and Madmin can ship with the latest assets it needs and provide seamless updates, all while using the same base Javascript that comes with Rails.