An ethical note
I’ll try not to hit you with too much personal philosophy throughout this series, but I feel that it’s necessary to take a pause before going any further.
I love the information superhighway that is the internet. I have plenty of problems with it, as we all do, but I think most readers will agree that it is a great place to expose oneself to new ideas if used properly. Given how taxing the process of digging through internet dirt to find the occasional ruby already is, I’m extremely nervous about a scenario where AI turns that dirt into a thick puddle of mud.
As such, any LLM-based content tools that I design will be built to help me articulate my ideas (a positive), instead of completely generating content for me (a negative). It’s an important distinction with significant implications for maintaining the present-day openness of the internet.
If you feel the same way, here’s a good heuristic for you: if the work that you are claiming as your own was created by a human instead of a language model, would you classify it as plagiarism? If so, you might be doing something wrong.
Today’s task
Note: article continues below video
Yesterday, we started our journey towards becoming a solopreneunicorn by building a tweet generator. Today is part two of our X series, where we’re going to add functionality to generate twitter replies instead of just generating new tweets.
As we mentioned during yesterday’s post, it’s important to keep in mind that we’re building a suite of applications that are meant to work in in harmony with one another, but that each standalone app will be relatively simple. The overall structure of our system will take shape as the series goes on, but for now, you wouldn’t be wrong to say that you could replicate a lot of this functionality with ChatGPT alone. We’re going to need a few more members to join the orchestra before we can play anything good, but we’ve got to start somewhere.
Somewhere like an X reply generator.
Why reply?
In Peter Yang’s Substack article about growing an audience on X, he describes the importance of replies as follows:
When you have no audience, the best way to grow is to … find top creators in your niche and reply to their posts with valuable insights.
Makes sense, right? Replying to people with lots of followers who post about topics that are related to your product sounds like a great way to insert yourself around the right nodes of X’s massive content and relationship graph (sidebar: we don’t have much of an X following, so we’re learning here too).
App structure
Today’s feature is going to be a lot simpler than yesterday’s, because with replies, we don’t need to rely as much on templates. As serial viral tweeter and known Lehigh hater Nick Huber discusses in this video (ugh! I fell for it!), sticking to a script can be helpful, but for the purpose of replies, I’d rather try to match the context of the conversation instead of worrying about adhering to a rigid template structure.
For this reason, our tweet replies app really just needs two features: a place for the thread to which a user wants to reply, and a place for specific instructions that a user wants to include for reply generation. Similar to yesterday, we’re using a function that converts everything into an LLM-friendly prompt, which then gets fed into a GPT model via the OpenAI API, which then produces an output. Here’s the app in action:
Not bad, eh? Now, we’ve got an awesome twitter idea engine what will surely speed us up. There are still plenty of improvements to be made, but we’re happy to say that day two is in the books.
See you tomorrow!