Earn blogging with ChatGPT (and other LLMs)
A few weeks ago, I ended up on the Business Insider’s article about the guy that started a business, a website, using only suggestions from ChatGPT. While we can discuss about the possibility of using a Large Language Model (LLM) to generate new innovative ideas (short answer, it’s can’t), I think the approach is pretty interesting. And while the experiment of the article seems interesting, I decided to take a more human approach, and rely on LLMs to help me with the content of the blog, but i started using less then a 5th of the original budget.
Can we turn 20$ into some profit? Let’s find it out!
First, LLMs are good at putting one word after the other, but they are terrible at validating what they generate. You can ask a model to provide you a list of python packages that can be used in a specific context (e.g. python packages usable to analyze physiological data), and the model is able to come back with a list of names and descriptions. But search on any search engine any of these names, and the majority will not exists. Those models are good at hallucinating, and as such should be used.
In order to avoid writing content on a topic that I don’t know, but to make things a little bit interesting, I decided to start a blog about a topic that I know enough to identify clear mistakes in the writing, but probably not enough to know everything in details: hydroponics.
So the first thing I did, is asking one of the LLMs to provide a list of possible names for a website that talks about hydroponics. I picked HydroponicsExplained. I then went to look for cheap domain selling service, and bought a .com domain from PorkBun (from which I previously bought some domains and I know it’s reliable). I bought the domain hydroponicsExplained.com for $17.71 (for 2 years).
Now, ideally I don’t wanna spend anymore for this project, so can I setup a stack that allows me to publish a blog with only the domain name? I decided to do something similar to what I have previously described in a post about an old experiment I did, EthicalGifters.
The combination I decided to go with, is the following:
- Firebase for the hosting
- Hugo for the site generation, with the Ananke theme. I have made some edits to the structure of the theme to support Firebase’s analytics, and I created a custom post’s layout.
- GitHub and Github actions to store the code and automatically publish the site to Firebase hosting.
- Unsplash for images.
- GitKraken as git GUI. I have talked about GitKraken in a different post, which you can find here.
With the setup above, I spent a grand total of 0$ (or 0 Euro) for hosting, template, images, and software. I have detailed the process of creating a blog using Hugo and Firebase in another post, that you can find here.
I have also registered a Twitter and an Instagram account, in order to share posts and other contents, and see if I can grow a small social media audience.
Finally, I created a mailing list, available on substack.
The total expense is then $17.71, and the objective is earn more than that amount, with the smallest possible effort.
Time to (let the AI) write!
I decided to test two diffent LLMs, ChatGPT and You.com’s Chat. Both are pretty similar, I have a slightly preference for the latter as it is also able to provide links to web results that can be integrated into the posts. Moreover, ChatGPT was temporarily blocked in Italy, and despite being accessible using a VPN, I decided to try some alternatives.
I came out with a few different topics, asked the models to suggest new topics, and for each topic I have decided to write about I had the model generate some text, a title, and a subtitle. I then parsed the content into the template, added a personal touch here and there (and some referral links to try to monetize the writing). I have also asked the model to provide a short post that can be used on social media for each published blog post.
Monetization and Growth
I also added a link to my ko-fi account for donations, and added some referral on the website to monetize traffic. I decided not to use ads, as I wanted the website to look as clean as possible and to load rapidly. However, having ads would have definitely helped the monetization.
I tried to post 1 or 2 posts a day, sharing the contents on Instagram and Twitter, indexing the website on the major search engines, and trying to invest not more than 30 minutes a day on the project. Curious about the results?
First, some stats for nerds
Interesting stats for nerds. The combination of Firebase and Hugo led to some amazing scores on PageSpeed Insights (Desktop: Performance: 100, Accessibility: 97, Best Practices: 100, SEO: 90. I managed to bring the SEO up to 98 with some tweaks of the Ananke Theme). A slightly lower performance’ score is achieved with the Mobile analysis, with the bottleneck being the Javascript in use by Google’s tag manager (~0.89 seconds). Additionally, the accessibility score is mostly influenced by the fact that the ko-fi loads an iFrame with no title meta. This can easily be modified to increase the score. The score dropped slightly after the addition of Adsense.
Github actions never failed, which is great. The only problem I had is that in order to build the website with proper metatag for search engines, I have to compile it with “HUGO_ENV=production”, otherwise the meta robots are set to noindex and nofollow.
30 Days later, preliminary results:
After 30 days, it’s time to draw some conclusions!
I started by buying a domain name for less than 20$, and then I spent less than 30 minutes a day working actively on the blog. I managed to grow a little audience on Social Media (total of 135Followers between Twitter and Instagram), 6 subscribers on Substack, and the blog achieved about 2000 unique visitors and about 6000 page views.
I have monetized the blog by posting referrals to other products online (mostly on Amazon.com) and ads using Google’s Adsense. Moreover, I added a donation button, linked to my Ko-Fi account, which describe this project, as well as the other projects I am actively working on, and there is the possibility to donate for the next project, an open source (both hardware and software) Python and Raspberry Pi based smart hydroponic tank. In total, over the last 30 days, I managed to collect 10 Euro from the donation page, 0.28 Euros from the Ads and 1.82 Euros with referral links, which converted to USD makes for a grand total of $ 13.27 USD at the current rate. A small note, Adsense has been added later on, so for the first 3 weeks no earnings were made via this method.
Preliminary Conclusions
I will call this section preliminary conclusions cause I don’t think I will end this project just now. Overall the project has some success and some downside. Let’s start with the success: I learned how to integrate Firebase and Hugo for writing, and I have now have a small social media follow of the blog. I think the blog is worth something, and I am likely reusing the technological stack for future blogging projects.
Coming to the monetization, here I have failed but not badly. I made a net earning of $13.27 USD in the first month, and if the blogs earning remains the same over the months, this will make a total of $159.24 USD over the next 11 months in passive income, minus the $17.71 spent for the domain. I assume that with the growth in social media users, and in traffic to the website (new pages are now starting to get indexed on Google), the earning per month is likely to increase. However, I think it is likely to drop would I stop posting, updating the media, and actively looking after the blog. On the negative side I have to admit that to me, the quality of the texts generated by the LLMs is terrible: repetitive, never complete, very vague. While LLMs do look like incredible tools, and they have potentials, we are far from the point in which we can expect to provide a model with a topic, and get a complete and high quality blog post, a social media caption, and some technical support in the selection of keywords and other SEO related data. Will I use LLMs again to blog? Most definitely yes, but the writing need to be adjusted, and we are more likely to obtain high quality results by writing a draft, and asking the models to improve the draft.