Blog

  • Day 108 – I don’t know how vibe coding ends

    My friend has recently been hammering Cursor, and has gone truly into the world of vibe coding. One thing I have realised is that if you have ever done any sort of serious development, you will never truly be a vibe coder.

    A vibe coder is not restricted by the traditional restraints of the programmers mindset. This is an advantage and disadvantage. Whilst a programmer will be unhappy about the generation of duplicate components and functionality, but the AI will always keep on trying to create your solution until you give up trying to prompt it. Most developers are simply too ‘programmed’ to see ‘reality’ – whereas someone new is just seeing AI build something in front of them, in a way that they’ve never, ever been able to do before. For developers, we are inherently biased – we see a computer doing the job that we have traditionally done… you have to be quite a disciplined person to be self aware enough to recognise that’s not going to have an effect.

    Anyway, the point is … they aren’t doing the job quite right yet, and that’s because we haven’t got the prompt engineering right yet.

  • Day 107 – Mac Mini Me

    Still a few days behind on the blogging so adding a general thought for day 107.

    Recently bought new Mac Mini M4 Pro. Entry level.

    Potentially could have upgraded RAM and hard drive (especially, since 500 gigs gets eaten up pretty quick).

    Overall the experience of going back to a desktop rather than laptop with two monitors is quite different. Feels different. I don’t have to keep unplugging wires all the time when I go out to a meeting which happens at least every other day.

    It’s also really nice just having a blank new OS to start with. As with a nice notebook you try and keep it all clean to start with. That’s the feeling I’ve got right now with it.

    The Mac Mini’s are excellent value for money, and was even surprised they have a speaker that pretty much does the job for every day work related audio. A built in microphone would have been welcome, but probably impractical.

    That’s it for now.

  • Day 106 – Back To The Tech Specs with AI

    Today I realised that technical specifications have come full circle in importance.

    We’ve been agile for so long, with focus on short sprints; and I don’t think we need to throw away those benefits.

    But with AI, you can now plan the system on a very wide scale from the beginning.

    I also realised today that I have been thinking too small when it comes to AI. Whatever you think the capabilities of AI are, you are probably underestimating it.

    Today we put together a loose specification of about 3000 lines. Broadly speaking these included:

    • database schemas
    • user stories
    • features
    • UIs
    • component structures

    Using Cursor we would ask it to amend a technical specification MD file as we mapped out the idea from scratch again. Thank to Shaun who pointed this idea out which I’ve sort of tweaked now.

    From this technical specification we asked it to build a vanilla HTML/JS frontend prototype.

    The purpose of this was to see whether the AI could correctly interpret the spec.

    So we went back and forth from the tech spec to prototype, and were able to hone it after a few iterations. This allowed us humans to visually see what we were building.

    I won’t share the prototype UI yet, but suffice to say it reduced several days of work down to an hour or so.

    Crazy times.

  • Day 105 – Cursor

    Today my business partner took his codebase and gave it to cursor.

    The thing is, since he wasn’t hooked up to GitHub, we took the easy route and downloaded the zip file, and I just told him to go play with it.

    He spent the entire day upgrading the application and from the sounds of it integrated a ton of awesome new features.

    And then when it came to showing it to me, it had stopped working.

    Turned out after all that, that he had lost the work. Something went radically wrong, and either some files were deleted, or it just got mega confused.

    No Git commits!

    At any rate, his mind was blown. We will re-continue tomorrow.

  • Day 104 – How to decide when to call it quits on a project, or when & how to pivot?

    For the last few months I have been partially helping out an AI startup get a handle on its product. Their lead developer had left a year ago, leaving a fairly complex and over engineered codebase.

    I realised last night how much of my time, attention, and energy I had been putting into the project.

    Whenever I find myself waking up and my automatic thought process goes to a particular project, I regularly need to assess whether that project is worth of my ever decreasing time.

    The problem is – as with almost all software projects at the moment, is that unless you are able to integrate AI coding tools with it to develop new features faster, you are falling behind.

    The reality is that the combination of automation tools + ‘vibe coding’ + ‘senior engineer experience’ can outpace and rebuild most systems from scratch very quickly now. The cost of software development is now significantly less although the increase in technical debt from AI generated code will be substantially higher than normal.

    Sunk Cost Bias

    With the right attitude, you can take lessons from most experiences in life. When an individual or company has invested resources into a project for too long, there’s this thing called sunk cost bias…which is the psychological desire to keep on going on a path because you’ve journeyed so far.

  • Day 103 – Google’s Move Kills Small Independents & Keeping Going…

    We’re now witnessing another phase of the consolidation of the internet into the hands of a few very powerful corporations. The original premise of the internet is dying, but there are things that we can do.

    Today, I’m commenting on a really long but excellent article which you should probably read if you are interested in the future freedom of the internet.

    It’s a long read but it paints a stark reality of what the big tech companies are likely going to do.

    My personal summary of that article is that:

    • Google have annihilated small and independent website owners over the last two years. Most have had to downgrade their teams, or shut up shop. If you look at the traffic statistics in that article, the drop-offs are terrifying.
    • The new move by Google is going to ensure that users get given the answers without ever leaving Google. They are happy to use other peoples content, but without rewarding it now.
    • It’s a complete power move that will see a handful of websites run by a very specific group of VCs – be visible in the Google’s AI results.

    I do think it will leave an area of opportunity for those interested in promoting the independents. I personally think Google has shot itself in the foot. It will still do really well because of its position in the market; but results have got worse and just more generic. A huge amount of the web is now hidden simply because Google deems it so. That will create an opportunity.

    I was speaking to a friend the other day and they asked where my startup updates were! Whilst I hadn’t been getting many people interacting with them, there was some awareness… and the comment made me realise that regular updates are the best form of ‘getting word out’ for when I have major milestones to demonstrate. So, I’ll be endeavouring to continue.

  • Day 102 – OpenAI Structured Outputs

    When you want the OpenAI API to return output in a specific structure, you use Structured Outputs.

    Here’s an example:

    import { NextResponse } from 'next/server';
    import OpenAI from 'openai';
    import { zodTextFormat } from "openai/helpers/zod";
    import { z } from "zod";
    
    export async function POST(request) {
      try {
        const client = new OpenAI({
          apiKey: process.env.OPENAI_API_KEY,
          organization: process.env.OPENAI_ORG_ID,
        });
    
        const requestData = await request.json();
        const { model, input } = requestData;
    
        const CalendarEvent = z.object({
          name: z.string(),
          date: z.string(),
          participants: z.array(z.string()),
        });
    
        const response = await client.responses.parse({
          model: model || "gpt-4o-2024-08-06",
          input: input,
          text: {
            format: zodTextFormat(CalendarEvent, "event"),
          },
        });
    
        return NextResponse.json({ 
          success: true, 
          event: response.output_parsed 
        });
      } catch (error) {
        console.error('OpenAI API Error:', error);
        return NextResponse.json(
          { success: false, error: error.message },
          { status: 500 }
        );
      }
    } 

    So, if you are doing it the javascript way:

    • You use Zod to define the object. Here you see we’ve created CalendarEvent with name, date and participants, all of which are strings.
    • You use the responses API and you use the { text.format }

  • Day 101 – Long term consequences of AI

    Day 101 – Long term consequences of AI

    It’s been quite a journey over last 100 days.

    I am very happy I made the decision to go all in on AI.

    I know a huge amount more than I did 100 days ago.

    I can see that it’s going to become a huge opportunity for big corporates to automate almost all their tasks.

    Big insurance companies will use AI to make most of their workforce redundant. Whether they find new work for them to do, I don’t know… but I can clearly see that the big companies are going to want to use AI to cut costs.

    Here’s where a potential down spiral begins:

    1 – Companies have always been interested in cost savings.

    2 – AI will offer the perception of massive cost savings.

    3 – Companies will either: a) ignore & wait b) upskill & create an internal AI team c) get in external contractors

    4 – Current internal systems and workflows will be analysed

    5 – Patterns in these systems / workflows will be identified

    6 – These patterns will be automated with AI

    7 – Companies achieve cost savings

    Obviously this is fairly abstract, but it’s sufficient to demonstrate what I’m talking about.

    So, all the big companies in the world will start investing in internal or external workforces (creating a new career sector) and they will reduce the bloat that humans created. So they will eventually, mostly, get rid of staff.

    How quickly and at what magnitude this happens I don’t know, but basically, take the UK as an example, all FTSE100 companies will eventually downsize significantly. This is simply because most ‘work’ that is done in enterprise companies is the moving around of data in a certain way. And in reality, most workers are a bit bone idle. There is huge room for improvement.

    As of January–March 2025, the UK’s labour force—comprising 33.98 million employed and 1.61 million unemployed, for a total of about 35.6 million people House of Commons Library

    Total employed (Jan–Mar 2025): 33.98 million people

    FTSE 100 companies: ≈ 6.0% of the workforce (≈ 2.04 million employees)

    Public sector (government): ≈ 17.4% of the workforce (≈ 5.90 million employees, excluding major reclassifications)

    So, let’s take a cautious approach – 10% of the workforce will be made redundant. So for every 100 people at AVIVA (insurance company), AI will absorb about 10 peoples jobs. That doesn’t seem unrealistic right?

    Let’s extrapolate to the entire 34 million. So 10% made redundant … thats 3.4 million jobs gone and not coming back … which triples the number of unemployed straight off.

    This is potentially manageable, but will put huge strain on welfare. Massive growth in government sponsored training companies as they try to achieve any sort of retraining numbers.

    The circular problem is:

    • 3.4 million people (many with kids) … suddenly have less money.
    • Less money goes into economy
    • Businesses shrink again, lay off more staff
    • Process repeats

    And the problem mainly is that the new brains are looking to create companies that are entirely AI driven. The fewer humans the better is the mantra. So you have that, and probably the fact that most companies will self-preserve and take out more than 10% of their workforce.

    The only way out of this is either:

    • Reduce supply chain costs (mainly through energy sources)
    • Open up new industries
    • Nationalise and subsidise industries
    • UBI

    To be continued.

  • Day 100

    I’m using this word press blog to get my original thoughts out.

    In a sea of AI generated content, originality is rare.

    So I’m going to carry on writing as I want to.

    That’s not to say that I won’t use AI generation, but I’ll do it in other areas. For a personal founder blog, generating anything with AI seems completely counter intuitive.

    Hitting day 100 was somewhat of a decent milestone.

    I will review over the next few days and weeks but I wanted to give some space to an excellent hour long video with a guy interviewing Gary Vee.

    The only thing I would say about Vee, is he has done excellent *but* he did build upon his father’s liquor store business. It’s always easier to take something and optimise it than build from scratch. So always bear that in mind if you are looking to compare your version of success to his.

    That aside, he’s so excellent to listen to.

  • Day 99 – Flowgramming with N8N is better than vibe coding with Cursor and most software developers don’t see the threat

    Everyone is going on about vibe-coding at the moment but the dark horse that is gaining traction, which I think is more likely to have a much bigger impact … are flowgramming tools like N8N, Make and Zapier.

    Whilst the automation tools are technically not AI, and Zapier has been around for ages anyway, there is a surge in creative usage of the tools – especially since you can easily automate with AI APIs.

    Key value proposition:

    • The cost reduction of creating useful outcomes is massive with automation tools.
    • They are easy to use and only require programming knowledge in somewhat advanced situations.
    • They are very visual, meaning you can retain a birds eye view of what you are trying to do, without getting lost in code
    • Most software is just a collection of functions in a workflow and automation tools provide the framework that lets you easily work on these functions

    Of course not all software will be replaced, but I have a friend who managed to create a automated voice assistant who takes phone calls, all with N8N. It took him several weeks of long hard days, but he managed it all himself without any programming experience.

    Developers who have software experience will always be at advantage in some situations, and of course as the number of juniors going into the industry die, old school programmers will be in demand to fix older software … so hang in there developers, there will be an upsurge in demand eventually.

    For myself, as I explore the automation tools, I now have to face reality and ask whether every business case I get asked to make for people, could actually be done within the flowgramming paradigm … and a large proportion can be!

    I honestly think businesses who don’t create automation networks within the next few years will start falling behind. It’ll take effort to work out what can be automated within a company but there are always manual tasks that take up time.

    Once you’ve skilled-up someone within the company on a tool like Make, N8N or Zapier … and they know how the company works … you can start picking off small tasks that consume time. If you can completely eliminate pesky tasks that take a few minutes every day for everyone in the workforce, or even attack larger problems … you start saving hours every week.

    For instance, emails are getting unwieldy for most people around me. I’ve never liked emails much anyway, although we are very fortunate to have an open protocol that allows us to communicate with one another.

    How many minutes a day do I waste opening up my email, scanning through them to identify urgency, or longer term relevance, deleting the spam … and maybe even making a quick response to a simple question… this is stuff that can now be automated by an pervasive AI that has context on your situation and goals.

    An example with N8N that takes an RSS feed and outputs an image for each item

    Results

    For the moment I just selected the first RSS item as an example, and then pumped it through to the OpenAI image generator.

    If you aren’t impressed, then you aren’t paying attention.