Almost Timely News: 🗞️ How I Code with AI (2025-10-12) :: View in Browser
The Big Plug
🚨 Download the NEWLY UPDATED Unofficial LinkedIn Algorithm Guide now with completely new findings as of last week! Free, form fill required.
Content Authenticity Statement
100% of this week’s newsletter was generated by me, the human. You will see bountiful AI outputs in the video, especially in the analysis. Learn why this kind of disclosure is a good idea and might be required for anyone doing business in any capacity with the EU in the near future.
Watch This Newsletter On YouTube 📺
Click here for the video 📺 version of this newsletter on YouTube »
Click here for an MP3 audio 🎧 only version »
What’s On My Mind: How I Code with AI
In this week’s issue, I’m going to answer, the long way around, how I do my coding these days with generative AI. This is a question that came up several times at the AEC AI Workshop I did for the Society of Marketing Professional Services (SMPS, a Trust Insights client).
Call it what you want, AI pair programming, vibe coding, agentic coding, whatever - the principle is the same: humans do the thinking, AI does the typing.
The net result is that nearly any piece of software - especially individual apps - is within your reach today if you follow the process. Want a utility that does exactly one thing well and there isn’t a product on the market for it? Code it with AI. Got a software vendor who just cranked up the price, and you’re pretty sure the software isn’t all that complicated? Code it with AI. Got an idea you KNOW is practical but no one’s built it yet? Code it with AI.
So with that, let’s dig in.
Part 0: Mise En Place
Before we begin, you’ll need some materials. The best way to code with AI is by using actual AI coding tools. These are tools designed by the makers of AI specifically for coding. There are three that are VERY capable:
Claude Code
OpenAI Codex
Gemini Code Assist
All three are incredibly powerful coding agents. You install them separately on your computer, and they tie into your existing paid subscription. There is no practical free version - paid subscriptions are a must. If you’re going to be coding something small, the standard $20/month version of your favorite generative AI is more than sufficient. If you’re going to be coding something big, you’ll want to splurge on the $200/month version until your project is done.
What’s the definition of small or big? Small are projects with typically just a few files, maybe a dozen or less. A utility, for example, that renames screenshots with what’s actually in the images would be a small utility that you could easily accomplish on a budget plan. An entire CRM? That requires serious horsepower.
There are plugins for each of these tools in major coding tools like Visual Studio Code, as well as meta-coding agents like Cline, Cursor, or Kilo Code. I don’t recommend those as much because they add a lot of complexity, sometimes add cost, and aren’t as well optimized for any given model as well as that model maker’s own tool is. For example, it should be no surprise that OpenAI Codex is really proficient with GPT-5-Codex. It should be no surprise that Claude Code is really well optimized for Claude Sonnet 4.5.
The other thing you’re going to need is the ability for your computer to run code in the language of your choice. Regardless of operating system, almost all computers can run today’s popular coding languages. Briefly, here are the languages you’d probably care about:
If you want to make desktop or utility software, especially for things like web scraping, Python 3 is the language of choice
If you want to make browser-based apps, Chrome extensions, etc. Typescript is the language of choice
If you want to make mobile apps, Dart with Flutter is a great choice
And of course, if you’re doing this kind of coding for work, the best choice is the language that your company’s development or IT teams support.
Part 1: Figuring Out What To Code
The first, most important part of any coding project is: why? Why are we doing it at all?
The easiest way to determine this is something Katie Robbert teaches as part of overall AI strategy, user stories and the 5P framework. Briefly, the 5P framework for software goes like this:
Purpose: why are we doing the thing at all?
People: who’s doing it, and who’s using the end product?
Process: how is the thing supposed to work?
Platform: what platform is the thing built on?
Performance: what does success look like?
To start, user stories are probably the easiest way to conceptualize why our code should exist at all. They take the format:
As a {role}, I need to {task}, so that {outcome}
For example, a super simple application that relabels screenshots would have a user story like this:
As a marketer, I need to relabel my screenshots programmatically with sensible names so that I can find what I’m looking for quickly and not waste time or make preventable mistakes.
This user story makes it abundantly clear what your purpose is, what success looks like, a sense of the process, and who the people are that are involved.
Take the time to make as many user stories as are relevant for your coding project. For this issue of the newsletter, we’re going to use this particular user story since it’s so clear - The user story of relabeling or renaming images.
Part 2: Requirements Gathering
Once we’ve got our user stories crystal clear, we can begin the process of requirements gathering. This is where generative AI plays a huge role: in addition to being excellent coders, they are excellent interviewers for building requirements.
Instead of rushing ahead to have AI make something, we’ll take a big step back and have AI help us plan. Here’s an example prompt you could use with any state of the art model:
You’re an expert software product manager. You know requirements gathering, requirements documents, BRDs, PRDs, user stories, the SDLC. Today, you’ll help me gather product requirements for a software project by asking me questions and assembling my answers as a product requirements document, or PRD. Remember that PRDs contain an abstract, user stories, functional requirements, non-functional requirements, domain requirements, and technical requirements. We’ll be working in {language/platform of your choice} when we eventually build the software. Here is the user story for the software: {user story}. Based on this background information, ask me one question at a time until you have enough information to build a complete PRD that a software product manager could manage the entire project just from the PRD. Analyze, then start with the first question. Here is the user story as a starting point: {paste in your user stories}
What will happen is that over a period of minutes or even hours, you’ll have a detailed discussion that ends up creating a product requirements document, or PRD. This is the strategic plan for the project. Expect this document to be pages long, and expect some challenging questions. If you get stumped, remember that you can ask AI for its advice for any given question.
Why do this? One of the fatal flaws of all AI coding tools is that they tend to lose sight of the big picture. They get distracted, they chase their own tails, they endlessly try to solve problems that don’t exist. To prevent that, they need guardrails, and one of the best sets of guardrails for both human and AI coders is a requirements document.
You’ll want to save this as a text file.
Part 3: Standards
Once you’ve done the 5Ps, user stories, and the requirements document, it’s time to start coding, right? Nope. Not a chance. Here’s why. AI has been trained on gigantic amounts of code as seen in places all over the internet like StackExchange and Github. But as with any other content, just because it’s available doesn’t mean it’s any good.
Especially sites like StackExchange and StackOverflow are absolutely mired in bad code. Why? It’s where people go to ask for help. You’ll have a ton of discussions like, “hey, can anyone tell me what I’m doing wrong with this code?” followed by their code. In the comments, people will add their solutions and commentary.
And AI vacuums up the wrong code just as eagerly as the right code. To avert this, we need to build a standards document for our project based on best practices for the language we’re working in.
As an aside, a lot of people crap on best practices, saying they’re too rigid and they stifle creativity. That might be true in some domains, but in AI coding, best practices are your best friend. Every language has established best practices that make code easier to maintain, inspect, and debug.
The challenge is, unless that’s documented, AI has no idea what the best practices are. A bad pattern that’s very frequent in example code around the internet may be far more probable than a good pattern that’s rare.
So part 3 is to have AI - using the Deep Research tool of your chocie - build the best practices specific for your project. Here’s an example for this project. You’ll note this isn’t a general best practices guide - it’s best practices for our specific project we’re working on.
You are a world-renowned Principal Software Architect and Python Software Foundation Fellow, acting as an expert mentor to a fellow developer. Your goal is to produce a definitive best practices guide that not only shows how to build a Python 3.11 CLI image renamer using a vision LLM, but also explains why certain choices are made. Your response must be a single, cohesive guide formatted with clear Markdown headings for readability. Your tone should be authoritative yet educational. Start by outlining a clean Architectural Philosophy, emphasizing Separation of Concerns and safety-first design. In the Recommended Libraries section, guide the developer on their choices. Explain the trade-offs and ultimately recommend Typer for a modern CLI, httpx for performant asynchronous API calls (contrasting it with requests), Pillow with pillow-heif for robust image handling, rich for a polished user interface, and pathlib for modern file management. For Best Practice Code Patterns, focus on teaching. Show through a small, well-commented code snippet the power of asyncio with TaskGroup for I/O-bound tasks like API calls, stressing the immense performance gain. Emphasize that a --dry-run feature is non-negotiable for any tool that modifies user files. Provide guidance and a sample function for sanitizing LLM-generated text into valid filenames, explaining the potential pitfalls. Under Anti-Patterns to Avoid, create a cautionary section. Warn strongly against security risks like hardcoding API keys, the performance trap of synchronous processing, and the brittleness of monolithic scripts. Finally, weave in Python 3.11 Best Practices, showing how new features like tomllib and TaskGroup are not just novelties, but direct solutions to common problems in an application like this.
What will come out, after 15-30 minutes, is an amazing, specific best practices guide tailored for our project. You’ll want to save this as a text file.
Part 4: Planning the Work
Based on the requirements document, you can then have the same generative AI tool - ideally in the same chat - take the PRD and turn it into a work plan.
You might be saying, “This feels like it’s really overcomplicating things. Can’t we code from the PRD?” For very simple, single-file projects, you absolutely could. The moment you have any complexity, or any kind of dependencies in your project, you can’t skip work planning.
Why? Because, as mentioned before, AI tends to chase its tail a lot. It really is like a puppy with a PhD. By forcing it to construct a work plan, we keep it focused. We make it slow down and think. We require it to see how one part of the project connects to another. And we connect it with the work we’ve already done, so that the plan is incredibly specific.
Here’s the prompt I use for this:
Based on our PRD and coding standards, create a workplan to build the Python app from the PRD. The workplan must be a highly detailed set of instructions, file by file, for an unskilled, junior developer to use to build the codebase using test-driven development while adhering to our coding standards. The files should be ordered from fewest to most dependencies, and must contain the file path, the changes needed, the upstream and downstream dependencies to keep in mind, and the overall intent of the file. The TDD workplan must be granular enough that the junior developer needs no other information to make the necessary code. There must be no references to previous versions or documents; the workplan must be completely self-contained. Include diff code samples appropriate for use with systems like git. Build the detailed workplan in Markdown.
You should get a complete work plan from your generative AI tool of choice to build from. It’ll be stuffed with examples, and ordered in a way for AI (or a junior human developer) to easily follow along and not fall down rat holes or get lost.
Part 5: Doing the Work
Only now, after all this planning, are we ready to actually begin the coding. We’ve designed. We’ve planned. We’ve identified common best practices and common mistakes. In effect, we’ve tried to predict what’s likely to go wrong and planned around it.
When I do this kind of work, I like to have a defined folder structure so it’s easy for both me and my AI agents to know where things are:
docs: this folder holds all the documentation
data: this folder would hold any necessary data for the code to read or use
output: this folder holds the code’s outputs typically
logs: this folder holds the log files
src: this folder is where all the production code lives
tests: this folder is where all tests are built for test-driven development and debugging
It’s at this point you’d start up your AI coding agent, point it to all the files, and give it an instruction like this:
Using our requirements document in docs/prd.txt and our coding standards in docs/standards.txt, read through our workplan in docs/workplan.txt and begin doing test-driven development. Build your TDD tests in the tests/ folder until they pass, and then build the working production code in src/. All code must pass common Python testing and automated QA such as autopep8, ruff, mypy, and must have a radon cc grade of B or higher. Any file that scores a C or lower on radon cc must be refactored. Execute the workplan.
This kicks off the actual coding process using what’s called test-driven development, where the AI agent builds and tests granular parts of our software first to identify gotchas and issues. Once each individual piece passes its tests and works, it then gets moved into production. Again, this is how we build with quality as a foundational aspect of coding with AI, rather than as an addon at the end.
There’s a good chance this process will take anywhere from a few minutes to days, depending on how complicated a project you’ve designed. A simple rename script? Minutes. A commercial-grade CRM? Days, weeks, maybe even months depending on how complicated you want it to be.
Part 6: Wrapping Up
This is a look, with an example, at how I code with AI. You’ll note there’s still a ton of thinking that I, the human, have to do. AI is a thought partner as well as the manual labor that’s typing on the keyboard, but in no way am I just giving it a vague instruction and handing everything over, hoping for miracles. There are no miracles in software development.
Most important, you see just how much of the process is planning, thinking, and design. The actual coding part is about 20% of the overall effort, whereas the thinking and planning is 80%. If you start coding with AI with that 80/20 rule - 80% thinking, 20% doing - chances are you’ll create some really great outcomes.
How Was This Issue?
Rate this week’s newsletter issue with a single click/tap. Your feedback over time helps me figure out what content to create for you.
Here’s The Unsubscribe
It took me a while to find a convenient way to link it up, but here’s how to get to the unsubscribe.

If you don’t see anything, here’s the text link to copy and paste:
https://almosttimely.substack.com/action/disable_email
Share With a Friend or Colleague
If you enjoy this newsletter and want to share it with a friend/colleague, please do. Send this URL to your friend/colleague:
https://www.christopherspenn.com/newsletter
For enrolled subscribers on Substack, there are referral rewards if you refer 100, 200, or 300 other readers. Visit the Leaderboard here.
Advertisement: The Unofficial LinkedIn Algorithm Guide
If you’re wondering whether the LinkedIn ‘algorithm’ has changed, the entire system has changed.
I refreshed the Trust Insights Unofficial LinkedIn Algorithm Guide with the latest technical papers, blog posts, and data from LinkedIn Engineering.
The big news is that not only has the system changed since our last version of the paper (back in May), it’s changed MASSIVELY. It behaves very differently now because there’s all new technology under the hood that’s very clever but focuses much more heavily on relevance than recency, courtesy of a custom-tuned LLM under the hood.
In the updated guide, you’ll learn what the system is, how it works, and most important, what you should do with your profile, content, and engagement to align with the technical aspects of the system, derived from LinkedIn’s own engineering content.
👉 Here’s where to get it, free of financial cost (but with a form fill)
ICYMI: In Case You Missed It
Here’s content from the last week in case things fell through the cracks:
The Critical Question Every Data Analyst Must Ask About Generative AI
Who Owns Your AI Agents? The Critical Employment Question for the Future of Work
Why People Don’t Care If Content Is AI-Generated (And What They Actually Want)
Is Your Company Profiting From Cuts or Growing Through Innovation?
4 Essential Questions to Refine Any AI Output and Get Better Results Every Time
Almost Timely News: 🗞️ Is AI Going To Take Your Job? (2025-10-12)
On The Tubes
Here’s what debuted on my YouTube channel this week:
Skill Up With Classes
These are just a few of the classes I have available over at the Trust Insights website that you can take.
Premium
Free
New! Never Think Alone: How AI Has Changed Marketing Forever (AMA 2025)
Powering Up Your LinkedIn Profile (For Job Hunters) 2023 Edition
Building the Data-Driven, AI-Powered Customer Journey for Retail and Ecommerce, 2024 Edition
The Marketing Singularity: How Generative AI Means the End of Marketing As We Knew It
Advertisement: New AI Book!
In Almost Timeless, generative AI expert Christopher Penn provides the definitive playbook. Drawing on 18 months of in-the-trenches work and insights from thousands of real-world questions, Penn distills the noise into 48 foundational principles—durable mental models that give you a more permanent, strategic understanding of this transformative technology.
In this book, you will learn to:
Master the Machine: Finally understand why AI acts like a “brilliant but forgetful intern” and turn its quirks into your greatest strength.
Deploy the Playbook: Move from theory to practice with frameworks for driving real, measurable business value with AI.
Secure Your Human Advantage: Discover why your creativity, judgment, and ethics are more valuable than ever—and how to leverage them to win.
Stop feeling overwhelmed. Start leading with confidence. By the time you finish Almost Timeless, you won’t just know what to do; you will understand why you are doing it. And in an age of constant change, that understanding is the only real competitive advantage.
👉 Order your copy of Almost Timeless: 48 Foundation Principles of Generative AI today!
Get Back to Work
Folks who post jobs in the free Analytics for Marketers Slack community may have those jobs shared here, too. If you’re looking for work, check out these recent open positions, and check out the Slack group for the comprehensive list.
Advertisement: New AI Strategy Course
Almost every AI course is the same, conceptually. They show you how to prompt, how to set things up - the cooking equivalents of how to use a blender or how to cook a dish. These are foundation skills, and while they’re good and important, you know what’s missing from all of them? How to run a restaurant successfully. That’s the big miss. We’re so focused on the how that we completely lose sight of the why and the what.
This is why our new course, the AI-Ready Strategist, is different. It’s not a collection of prompting techniques or a set of recipes; it’s about why we do things with AI. AI strategy has nothing to do with prompting or the shiny object of the day — it has everything to do with extracting value from AI and avoiding preventable disasters. This course is for everyone in a decision-making capacity because it answers the questions almost every AI hype artist ignores: Why are you even considering AI in the first place? What will you do with it? If your AI strategy is the equivalent of obsessing over blenders while your steakhouse goes out of business, this is the course to get you back on course.
How to Stay in Touch
Let’s make sure we’re connected in the places it suits you best. Here’s where you can find different content:
My blog - daily videos, blog posts, and podcast episodes
My YouTube channel - daily videos, conference talks, and all things video
My company, Trust Insights - marketing analytics help
My podcast, Marketing over Coffee - weekly episodes of what’s worth noting in marketing
My second podcast, In-Ear Insights - the Trust Insights weekly podcast focused on data and analytics
On Bluesky - random personal stuff and chaos
On LinkedIn - daily videos and news
On Instagram - personal photos and travels
My free Slack discussion forum, Analytics for Marketers - open conversations about marketing and analytics
Listen to my theme song as a new single:
Advertisement: Ukraine 🇺🇦 Humanitarian Fund
The war to free Ukraine continues. If you’d like to support humanitarian efforts in Ukraine, the Ukrainian government has set up a special portal, United24, to help make contributing easy. The effort to free Ukraine from Russia’s illegal invasion needs your ongoing support.
👉 Donate today to the Ukraine Humanitarian Relief Fund »
Events I’ll Be At
Here are the public events where I’m speaking and attending. Say hi if you’re at an event also:
Marketing AI Conference, Cleveland, October 2025
MarketingProfs B2B Forum, Boston, November 2025
Social Media Marketing World, Anaheim, April 2026
There are also private events that aren’t open to the public.
If you’re an event organizer, let me help your event shine. Visit my speaking page for more details.
Can’t be at an event? Stop by my private Slack group instead, Analytics for Marketers.
Required Disclosures
Events with links have purchased sponsorships in this newsletter and as a result, I receive direct financial compensation for promoting them.
Advertisements in this newsletter have paid to be promoted, and as a result, I receive direct financial compensation for promoting them.
My company, Trust Insights, maintains business partnerships with companies including, but not limited to, IBM, Cisco Systems, Amazon, Talkwalker, MarketingProfs, MarketMuse, Agorapulse, Hubspot, Informa, Demandbase, The Marketing AI Institute, and others. While links shared from partners are not explicit endorsements, nor do they directly financially benefit Trust Insights, a commercial relationship exists for which Trust Insights may receive indirect financial benefit, and thus I may receive indirect financial benefit from them as well.
Thank You
Thanks for subscribing and reading this far. I appreciate it. As always, thank you for your support, your attention, and your kindness.
See you next week,
Christopher S. Penn



