an_illustration._A_computer_screen_glowing_in_the_dark

From Stuck to Shipping: No Planning, Just Doing

You know… I’m tired of not taking enough action.

It’s just this bottomless pit of “overs”:

  • Overplanning
  • Overthinking
  • Overoptimizing

I’m tired of consuming so much information without enough output to balance things out. Because when you acquire information, it’s almost like you’re obliged to do something with it.

Like a responsibility to create and produce.

As I was going to create another journal entry in Notion today to just ramble about things, I caught myself thinking. Damn… I have around 300 entries here and just one blog post published on my actual personal blog.

journal-entries-notion

Most of what I wrote was just ramblings and stuff that’s too personal to create content around.

But I’m 1000% sure that I could have made at least 100 posts based on some of the stuff that’s in there.

And this is not an isolated case. Many unfinished projects and ideas. It’s like I’m just practicing and not actually playing the game. Have I missed the starting gun?

The War of Art – Becoming a Pro and Fighting Demons

I give this book a 6.5/10, I guess. Maybe I had too many expectations coming in – listening to the author talk about the book on podcasts and stuff like that. So maybe the book’s info didn’t have the same impact on me as it would have had I not been in contact with it earlier.

Anyway, I like the concept of turning pro and having this blue-collar mentality about your craft.

And all the ways resistance manifests. It’s like this overpowering ultra-instinct force of nature that is thirsty for destruction and feeds on fear and paralysis. Spooky.

Time flies. And suddenly the pain of not following a certain path hurts too much. I really enjoyed the movie Banshees of Inisherin, and I think it touches on a similar subject.

The pain of the artist. Having to say difficult “no’s” to things. The feeling of obligation creators feel to just be a vessel, hear the muse’s whisper, and let it all out.

Good thing is: all this doom and pain and suffering and whatever can be avoided by taking your craft seriously.

And not only will darkness be avoided, but The Promised Land starts to become closer.

More tangible.

So let’s create, shall we?

Getting Back to Coding – Ideas and Obstacles

I have always had this fear of coding and programming. At the same time, this magical view of it all.

It’s literally magic. You learn how to cast spells (writing code), and the world suddenly bends to your will, and you start to make things happen.

The first time I saw its magic was a couple of months after OpenAI released ChatGPT and the API for people to mess around. At the time, I was just writing articles nonstop, and I decided to try automating the entire process.

At first, I was using Google Sheets and an API extension that allowed me to connect with OpenAI.

I was up all night actually doing it. It felt like a movie – Limitless. And when I finally hit the button and the thing I wanted to create got done, it felt so good.

There were many iterations after this one. Suddenly, I realized I was better off just writing the entire script in Python and forgetting the sheets.

Thinking about it now, I learned a lot of things with just this idea: automating the process of writing articles for a blog. Here are a few:

  • How to interact with APIs – I had trouble with lots of server errors and limits. I learned about taking time between requests, the jitter factor.
  • Storing, formatting, and manipulating data – I had to turn the responses I was getting from the API into a fully formatted article ready to be published to WordPress.
  • Authentication and authorization to access my own Google Drive files (OAuth stuff).

And it’s not only the feeling of creating something. It’s more about what becomes possible. You start to feel confident about what you can get done. Ideas start to pop up in your head.

You feel excited, anxious, and hopeful.

Setup and Messy Files – What’s Going On?

Maybe what sucks the most is getting back to regular season form. I was using:

  • PyCharm – the one I started with, so most of the things are here.
  • Colab – the most practical and easy to get things going.
  • VS Code – the sexy shiny object I use very little.

Plus, the files in each of them were a mess. Weird and esoteric filenames, disorganized and hard-to-understand code that’s probably broken because of some API or library change or whatever.

I wasn’t coding at all for like maybe a year now because of other life and business stuff. But regardless, now I just want to push a little harder and build the scripts and automations and go to the next level instead of changing my focus when stuff gets tough.

Anyway, I guess I’ll stick to using Colab for now, and try to see which projects I was working on that I want to continue building. From what I remember:

Projects

  • Content Audit Script – Pulling data from different sources to perform a content/SEO audit on a given website. Pulling data from GSC and Google Analytics through APIs, storing that in a data warehouse like BigQuery, then pulling other stuff like crawl data from ScreamingFrog and maybe data from SEO tools like Ahrefs, Semrush. Then clean the data and tidy it up, and start doing exploratory data analysis and descriptive statistics to identify patterns, problems, anomalies, opportunities, etc.
  • Video Summarizer – The idea was to feed a video (mp4 file), get only the audio from that, then the transcript from that audio. Then feed that to an LLM to summarize that. But not only summarize but also get content ideas related to that video’s content, maybe ways to repurpose that into a tweet thread or any other media type.
  • Article Writing – As I mentioned, this was the one I used the most. And it was starting to get pretty good for what I knew, but I was having some limitations in terms of formatting, structured outputs, etc. But basically, I would, for a given keyword, create an outline and then write the article based on that outline. I had the option to feed information about each section to the script so the model’s response would be more aligned/based on the info I wanted.

These were working but with lots of limitations and areas of improvement. Before I start anything new, I want to get my hands dirty with these and go back to the habit of coding.

In case you’re interested in this marketing-coding stuff, I suggest you also check out these fellas:

Turning 1000s of Half a Page of Scribbled Lines Into PUBLISHED Content

So I mentioned the hundreds of journal entries I have in Notion. But not only that, I also have these bad boys.

journals-on-messy-bed

I’m starting a mission now to turn all my notes into something published on the web for people to see.

Of course, there will be junk and boring/uninspiring stuff throughout all this data I have about myself.

But still, it’s a fun exercise.

With the handwritten stuff, I will have to go through them manually, one by one, to see if there’s anything good there. With the Notion stuff, I want to do something spicier.

I can extract these notes in Notion to CSV files and then feed them into an LLM. Here’s what I’ve done so far:

!pip install openai markdown requests
import openai
import markdown
import requests
from google.colab import files
import json

# Set your OpenAI API key
api_key = 'LMAOOO'
# Upload your markdown files
uploaded_files = files.upload()
# Check the uploaded files
for filename in uploaded_files.keys():
    print(f"Uploaded file: {filename}")
# Function to read markdown file
def read_markdown_file(file_path):
    with open(file_path, 'r') as file:
        text = file.read()
    return text

# Function to convert markdown to plain text
def markdown_to_text(markdown_string):
    html = markdown.markdown(markdown_string)
    plain_text = ''.join(html.split('<')[0::2])
    return plain_text

def analyze_entry(entry_text):
    headers = {
        'Authorization': f'Bearer {api_key}',
        'Content-Type': 'application/json'
    }

    data = {
        "model": "gpt-3.5-turbo",
        "messages": [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": f"Analyze the following journal entry. Your task is to analyze the emotional state of this journal entry. Please list all problems or obstacles mentioned:\n\n{entry_text}\n\nProblems/Obstacles:"}
        ],
        "temperature": 0.7,
        "max_tokens": 2500
    }

    response = requests.post('https://api.openai.com/v1/chat/completions', headers=headers, json=data)

    if response.status_code == 200:
        return response.json()['choices'][0]['message']['content'].strip()
    else:
        raise Exception(f"API request failed with status code {response.status_code}: {response.text}")

def process_entries(files):
    analysis_results = {}
    for filename, content in files.items():
        markdown_text = content.decode('utf-8')
        plain_text = markdown_to_text(markdown_text)
        analysis = analyze_entry(plain_text)
        analysis_results[filename] = analysis
    return analysis_results
# Test with a single entry
test_filename = list(uploaded_files.keys())[9]
test_content = uploaded_files[test_filename].decode('utf-8')
test_plain_text = markdown_to_text(test_content)

# Analyze the single entry
test_analysis = analyze_entry(test_plain_text)

# Display the result for the single entry
print(f"Analysis for {test_filename}:\n{test_analysis}\n")

As you can see, it needs a few adjustments lol. Here’s a response:

Analysis for A Challenge 97206824e74841a699ee57d0ff68b8b1.md: Based on the provided journal entry, it appears that the emotional state of the writer is overwhelmed, frustrated, or possibly experiencing writer’s block. The excessive repetition of empty HTML tags suggests a sense of disorientation, confusion, or a lack of focus. The writer may be struggling to articulate their thoughts or feelings, leading to a sense of being stuck or unable to move forward. Problems/Obstacles: 1. Overwhelm or confusion leading to repetitive actions. 2. Frustration or difficulty in expressing thoughts or emotions. 3. Possible writer’s block hindering progress.

Then, I need to have a good prompt to analyze and extract information from there. My current one just sucks.

I mean… I don’t expect much of this, to be honest. This reminded me of a post by Ryan Law that I saw on LinkedIn, I think – about how he connected his Obsidian files/notes with an LLM – I guess it’s an Obsidian plugin.

It’s pretty cool, and I have to try that. Speaking of Obsidian, I’m not coming back to this rabbit hole again, thank you. I’m enough of a procrastinator to do Zettelkasten and all that jazz.

Should I Learn Graphic Design & Video Editing?

Yes.

Most of the content I have created so far has been written – blog posts mainly. Email and landing pages too. I have designed websites and created lots of graphics and images.

But I never felt good about my design skills.

A new shiny object/tool I want to learn more about is Figma. And I also want to be able to use Photoshop and Illustrator instead of just Canva. Kinda level up, you know?

On the video side of things… Cinema was my first love, man. I wanted to write screenplays when I was younger. Technology has made things so doable now. It’s crazy.

I’ve been procrastinating creating videos for too long as well. As much as I love writing, video is where it’s at.

Just looking at me (and most people I know) – which content format do they consume the most?

Video, obviously. It’s taken too long. Here’s a cool YT channel about cinema I enjoy.

So… what’s Next?

Well, what’s next is to stop planning so much and start shipping more stuff out there into the world. Not really caring about quality or doing it the best way possible.

Just creating: content, products, solutions.

The score takes care of itself. Just showing up is actually enough.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *