Early Exit #43: The AI-Powered Solopreneur
I built an app over the weekend that will save me hours of time every month and it was shockingly simple.
You’re reading Early Exit Club — a newsletter about leaving the 9-5 workforce to build a $20k/month solo business your dream life by Nick Lafferty.
Last time: The book every freelancer should read
Soon (I promise): My Retainer Pricing Manifesto
Hello from Brooklyn! I’m all moved into my new place and eating more carbs than any one person should. Reply if you want to grab coffee!
The vast majority of AI features that tech companies are building right now are vastly overrated.
Some companies are nailing this tops-down approach (like Clay), but I’m becoming more interested in bottoms-up approaches.
People like Dan Shipper who start with content first then build AI tools on top.
AI is the most powerful technological change of our lifetimes and not learning how to use it will be like not knowing how to use a computer or a smartphone. And I refuse to be the technologically inept old person.
It has never been easier to build your own tools that are purpose built to solve your unique problems.
Service providers will continue to differentiate themselves on their deep expertise, but also on the quality of tools they have access to.
Consultants with a tech stack of purpose-built tools for their niche will be able to take more clients and command higher rates because they’re more effective at literally everything they do. This is especially true for the stubborn anti-agency freelancers like me where my biggest bottleneck is my time.
But maybe I’m a bit biased because I spent my entire weekend doing exactly this. Here’s what I built, why I built it, and a little about how you can build stuff too.
Introducing Nick’s Analysis Bot
I run Google and LinkedIn ads for B2B SaaS companies. Every week I make changes to those accounts, and over the long run it (usually) adds up to increased revenue for my clients.
To give my client’s confidence in my work I try to proactively share what I’m doing every week to build towards our goals.
Sounds simple, right? In practice it’s harder because I make a lot of changes and I don’t always take notes. Sometimes I get too busy to proactively share as much as I’d like.
Thankfully Google tracks every single change I make to the account and I can export it into a spreadsheet (LinkedIn doesn’t do this, unfortunately).
I used to spend a few hours combing through the change history and my shitty notes into a short Slack update, but not anymore.
After a few late nights and early mornings and one major de-scoping of my project, I have something that works really well for my exact use case.
Nick’s Analysis Bot is a simple interface to upload a CSV, select an analysis type (this changes the prompt I send to Claude), and send it to Claude’s API for analysis.
In 3 seconds I get a pre-formatted response back that is ready to paste into Slack.
You might look at this and think the actual coding was the hard part. You would be wrong.
Hey Claude, teach me how to code
Claude, ChatGPT, and other gen AI tools getting better at walking even the biggest noobs through complicated coding problems.
The code isn’t the hard part. The hard part is the prompt engineering.
The difference between a great output and a shitty one is the quality and depth of the prompt you provide.
You need to tell the AI exactly what you’re looking for.
A good prompt starts with a system prompt. This gives it a broader context to how it should behave. Here’s an example:
You are a digital marketing expert specialized in running Paid Search campaigns via Google Ads. You look through complex data to spot trends in performance like clicks, impressions, conversions, and revenue and make changes to help grow the business you support. You frequently review changes in the account and summarize what happened to your clients every week. When analyzing data, your response should adhere to the following guidelines:
1. It should be casually written and free of fluffy, overly descriptive language.
2. When you reference broad changes in performance or keywords, you should always include 1-2 examples.
3. Tell me if you don’t know the answer or if you’re unsure about a result
After that you need to define the prompt in clear, direct language where you tell it what to do. Here’s an example from one of my prompts:
Please analyze the following Google Ads change history data and create a summary in the specified format:
{{csv_data}} <-- This is where I send the CSV file to Claude
Format your response as follows:
1. Start with a brief, casual 'Quick Heads Up' section (2-3 sentences) that outlines the main changes in plain English.
2. Follow with a 'Detailed Summary' section, categorizing changes as follows:
- Campaign Strategy Changes
- Keyword Management
- Ad Copy Updates
- Regional Bid Adjustments
- Device Targeting
- Ad Status Changes
- Any other relevant categories based on the data
3. Use appropriate emojis next to each category in the detailed summary.
4. For each category, provide concise bullet points describing the specific changes made.
5. In the Keyword Management section, include two specific examples: one added keyword and one removed or paused keyword.
6. Exclude information about who made the changes and the exact times they were made.
7. Skip any conclusion about the account's strategy.
8. Keep the detailed summary professional but easy to understand.
Please ensure the summary is concise yet informative, focusing on the most significant changes that could impact campaign performance.
All of that seems long and complicated, but getting to that point is easy.
The best way to generate a prompt
Look, I’m no expert prompt engineer, but here’s how I arrived at that long prompt I shared above.
I started by chatting with Claude asking it to perform an analysis. Once it gave me a result I would give it feedback.
Do this differently. Don’t use that word. Be more specific in this section.
I did this over and over again. I honestly spent more time doing this than anything else.
At the very end I asked Claude to write a prompt so that I could get exactly the same output again from a different file.
How much did this cost?
I paid $20 for a month of Claude Professional because I was running into my free message limit. I also had to fork over my credit card for access to the Claude API.
The API is where you can rack up a gnarly bill if you’re not careful. Claude, like ChatGPT, has different models you can use. Models vary in complexity and cost.
For my use case I picked Claude’s fastest and cheapest model, claude-3-haiku.
I’ve run dozens of queries to the API and here’s how much it cost me: 42 cents.
This could increase if my usage increases or if I need to use a more powerful model, but for literal pennies I can save hours every week.
Getting started with Claude
I chose Claude because I had never used it before and some light research told me that it’s better at coding tasks than ChatGPT.
So I started at the very beginning: telling Claude about an app idea I wanted to build (in hindsight my first idea was way too ambitious, I later scoped this down).
Soon Claude was giving me code and walking me through how to run it in Replit which is a web-based platform that makes writing software easier than doing it on your local machine.
When I got stuck, which happened often, I had to stop myself from Googling my problems. That isn’t the winning strategy.
If you’re stuck, just ask the AI.
You can upload screenshots or entire sections of code to see what’s broken. And often times it’ll help you fix it.
What can you automate?
What repetitive, soul-crushing tasks are you spending way too much time on?
What stuff do you hate doing?
Those are all great things to take a pass at solving for yourself. $20 and a few hours of your time could help you make a huge leap forward in your business.
Thanks for reading and see you all next week,
Nick
Recommended Reading
Here are some earlier newsletters you may have missed!
Did someone send this to you? First, tell them thanks. Second, maybe you should subscribe too?
I like this a lot. It's great inspiration. I've been using this more and more with clients and have even been transparent about it with agencies I work with. "Hey I don't have time to answer your very broad question about this account but I pulled a report and Gemini / chatGPT analyzed 1200 of your ads, here are the themes you should be looking into for improvements." I've also created a (simple) external GPT that i've loaded up with my own notes and ideas and shared it as an external optimization tool: https://chatgpt.com/g/g-zAjX5EsyN-global-growth-genie. Open to your thoughts!