Category: Uncategorized

  • Day 75 -Emails With AI

    The system I’ve designed is capable of indexing and tagging emails. Just need to build the module that grabs them via IMAP. But emails really annoy me. They are incredibly unstructured and they allow anyone from ‘the internet’ to take up my time often with completely unstructured, poor quality information delivery.

    I’ve said quite a few times that language models are really primed for abstracting information away from people; and providing it to them in a much more synthesised fashion. As the amount of information increases exponentially, and the more busy you get the more shit you need to deal with.

    Hence, language models having excellent potential for emails. Not necessarily writing emails. I’ve sent a few emails that have been completely AI driven, and I always felt a bit sick afterwards. It just feels completely non genuine especially when they to people I know. But the idea of having an assistant that tracks incoming information, assessing and categorising them according to your training, this is a nice idea.

    Obviously already done and out there as a service; but the market will be extensive since everyone will have their own VA eventually.

  • Day 72 -74 Of Building An AI Startup

    A lot of my time and mental energy recently has been taken up with some paid work. But during that time I’ve made a lot of use of Cursor, now my goto IDE. It definitely makes me more capable and when I get stuck it can spot obvious mistakes which happen to the best of us.

    Overall, things are going well.

    My energy, attitude and work rate compared to day 0 are way better. I’ve had a few blips for sure.

    Building a team

    I was reading this week that the most effective companies are going to be small teams of senior experienced / C-Suite level thinkers and doers; working together toward building something.

    Employing people in the UK is incredibly expensive. I have no idea what junior level people are going to do anymore. The ones that work hard and compete, will do fine as always; but there will be a huge drop off of demand.

    Building an automated company

    The tools are now here to automate actions that are regularly taken in a company. It might be just the signing up of a customer to various systems, that are manually done. It might only save a few minutes but it means someone doesn’t need to context switch. So it’s not just the time saved, it’s also the mental energy saved.

  • Day 70 – AI makes you a 10x more useful programmer.

    Day 70 – AI makes you a 10x more useful programmer.

    Today was a breakthrough day.

    I needed to collect some data from two sources and cross-link them.

    I was able to use Claude 3.7 to generate several python scripts that used Playwright to crawl a site, intercept a script call and grab a particular value from it, and insert it somewhere else.

    Claude was able to generate the python scripts for me.

    I wouldn’t be able to do this without spending a long, long time learning python and how to use some of the libraries.

    So, another win for “AI”.

  • Work Diary #10

    Filament Forms

    In the last work diary, I covered how easy it was to link select fields … where values of select B are dependant on the value of select A.

    When you get an excessive amount of options though its nice to add a searchable field:

    Forms\Components\Select::make('venue_id')
    ->searchable()
    ->preload()

    So easy!

    But Filament gets even better.

    You can add an inline form to the select!

    ->createOptionForm(Venue::getForm())
    ->editOptionForm(Venue::getForm())

    The getForm function simply returns an array of form elements like you would get in the normal filament resource files.

    The amount of work this saves the developer is crazy good.

    Filament is really very good at first glance although I’ve noticed some very minor bugs.

  • Day 69

    Felt a bit refreshed past few days.

    Here’s what’s going on in the main

    1 – Still helping out on the DXP project … this is a Digital Experience Platform which manages websites at scale. We have a working version up and running on BetTodayUSA and are closing in on releasing the beta version very shortly, which will allow us to do a lot more public testing.

    2 – Helping a leading UK holiday rental company transition into a new booking software infrastructure.

    3 – Early stage discussions on AI startup for a scaled sentiment analysis

    4 – Also in early discussions with a friend who is amazing at producing leads through various data crawling and AI analysis techniques. Trying to figure out way forward.

    5 – I am building my own platform that is capable of being the infrastructure that all these projects (and more) would run on. It’s a relatively thin layer, but super useful.

    6 – Early stages of working with a 3D avatar

  • Work Diary #9 – Laravel Filament

    Enums can be super powerful …

    … use them in factories

    'region' => fake()->randomElement(Region::class),

    Filament Forms are really robust.

    Forms\Components\Select::make('region')
    
    ->enum(Region::class) // <-- This enforces validation!
    
    ->options(Region::class)
    
    ->required(),

    These days you really don’t want to spend any time doing form validation. It’s already been done. I like the above because it will ensure that even on frontend tampering it still means server side validation will enforce the values to be one of the enums. Honestly, that’s a small chunk of boilerplate that you don’t need to do.

    Laravel Shift :: Blueprint

    Blueprint gets the migrations for you.

    Get Filament To Generate The CRUD UI For You

    php artisan make:filament-resource Venue --generate

    Dependant Select Pickers

    Since Filament is a LiveWire app, all form elements are set with wire:model, with none of them being live updates. But you can easily change them live which means on any change, we send a request to the server and re-render the component. This gives the opportunity to query for options. Such as:

    Forms\Components\Select::make('region')
    
    ->live()
    
    ->enum(Region::class)
    
    ->options(Region::class)
    
    ->required(),
    
    Forms\Components\Select::make('venue_id')
    
    ->relationship('venue', 'name', modifyQueryUsing: function (Builder $query, Forms\Get $get) {
    
    ray($get('region'));
    
    return $query->where('region', $get('region'));
    
    }),

    The keys here are:

    • Using a custom closure in modifyQueryUsing
    • Passing the Forms\Get $get method into that closure
    • Using a query on region to match the selected region value

    Spatie Ray Debugging

    Debugging makes software programming so much easier. The Spatie crew have made ‘Ray’ which is a real-time logging utility. I did buy Herd Pro for this purpose, but I will probably end up up returning the Hero Pro licence since it’s not as useful as I thought … and stick with Ray. Highly recommend ray

  • Days 65 – 68 – Random Thoughts!

    Elimating Distractions, Interruptions and Overcommunication

    So last few weeks I’ve fallen in the habit of logging onto slack early in the morning; and I’d catch up with a developer on a project. This is still a very much needed ‘thing’ to be doing … but the problem is, it immediately scrambles my brain for the day.

    It’s the same for loading up your brain with any sort of communication early in the morning. That’s the time when you just want to use your fresh mind to work on important challenges.

    Emails are never important enough to get done first thing, although many will say they are. If they are that important, get them done the night before and send them. But to sacrifice your fresh mental energy to deal with messages coming in from slack, whatsapp, email, discord … it’s such a waste; and when you are self-employed and on your own time you just can’t afford to waste that energy.

    There’s always exceptions to the rule … that one important email which seals a deal, or solves an urgent and pressing matter. But in general, emails and all messaging will be abstracted away from us in the future world of AI Personal Assistants.

    I am guilty of it as well – ‘brain farting’ when I have an idea that I think is so great that I need to tell someone. Or having found something ‘great’, forwarding it to someone who I think will find it useful. But all I’m doing is consuming their attention and perhaps breaking their concentration on something potentially important.

    So the main thing going forward is no communications at least until 3pm. That’s normally the time when my fresh mind runs out of juice. Between 3pm and 8pm I generally don’t work very effectively.

    Overwhelm & Stress

    Recently hit a point where I got overly stressed with all the things going on. Partly that was down to me not managing the over communication going on in my life.

    It was also down to me not single handling tasks, and trying to manage more than one thing at a time. I think it was proven in a repeatable scientific method way that multi-tasking was insanely inefficient. So, as I was beginning to have more than one thing on my mind at any one time… it was tearing me in several directions.

    Also, the notebook that i started 70 days ago (ish), is now full… and whilst all the ideas are in there … it’s now time for a brand new clean notebook that builds on everything I’ve been working out over last few months.

    I’ve now started back at zero point – choose the key projects and short term goals for next thirty days within them, and cycle between them … without the overhead of multi-tasking, digital overwhelm, or without letting too many people into my head.

    Sports Psychology & Visualisation In Business

    Sports psychology is one of my favourite things to study, and in an different quantum timeline, maybe I would have been an athlete … but that didn’t happen for whatever reasons and no reason to not accept it. But you can apply SP to your own daily business life; and many would say it really is the key to their rather large successes.

    The very core of SP is in learning to work with your mind in a very specific way. Your ‘mind’ is actually the result of the central nervous system … (read Psychocybernetics for a new paradigm change on the subconscious) and it works pretty much like you would expect a robot to behave. You give it a clear goal that your biological machine can understand, and it will go and do it.

    We live and operate both as the passengers and drivers of ourselves. It’s a weird paradox that most don’t get to appreciate unless you unravel your mind and wake up to what’s beyond it.

    Point is, have a clear list of priorities… then mentally cycle through them – seeing what they look like at the end of completion. The key is knowing you won’t visualise it perfectly done first time, so just hold the intention, outcome and feeling of winning at it, and see what pictures come up into your mind. You will gain insights, and as you rewind from the end point to now, you will map out the journey in a way that your subconscious mind can understand better.

    I’d got out of the habit of doing this many years ago, but in reality, it’s the only way of true mental control.

  • Day 64 – An example of AI getting it wrong

    With Cursor, on a 1000 line script, it could not find where an API token was until I specified it.

    This has happened more regularly recently. The AI just gets basic shit wrong, or it leaves code in there which doesn’t need to be there. I’ll happily admit vibe coding is great, and I’ll also happily admit I’m wrong … but I think you really need to know what you are doing with AI else it becomes a mess quickly.

  • Day 55 – The Founder’s Story

    The days roll on.

    Today was a day of calls.

    Today taught me one thing and that was that the act of posting everyday actually has better consequences than just post engagements on LinkedIn.

    I was doing a few interviews today – graduates from TechEducators software development bootcamp … and a few of them had read through my posts on this site and LinkedIn. It was interesting to hear that they had done that, since I pretty much just write for myself at the moment.

    But I realise that the story that you make when starting something is actually important because, if they choose to, people can gain context on what you are doing. It’s not just about flawlessly sanitized marketing … founders can benefit from just being genuine and not being afraid of not being seen as being perfect. You just have to not care about that aspect.

    Anyway, it’s been challenging to do a post on an almost daily basis, but along the way you realise that it’s having unintended positive consequences. Which is great.

    Improvements to my story marketing

    I’m going to need to scale up with a bit of automation into other social networks; and do more videos. I want to focus first on the core original content that I create; and then look at what I can use AI to supplement that. But I need to scale into video content focused more on AI value, and also founders story.

    IT Projects

    I’m working on another project which will remain nameless. It’s a tricky one since it’s a great project with great potential; but it suffers from the very common IT project pitfalls – most of which I have fallen into in my career:

    • At the beginning of the project, it’s OK to do some R&D prototyping to see what’s possible; and it’s OK to use agile … but sometimes you do actually need to plan through what the end product MUST do. When you are replacing a system or starting a non-trivial one from scratch … you can’t just wing it. You must be specific about what you’re building and more importantly HOW you are going to get there. Make the decisions AHEAD of time. This is a massive skill and vibe coding people will never do this… we will see how it turns out over the long term.
    • During the project you need to communicate; as soon as that starts breaking down, things slow down. And the communication needs to be kept in places other than emails or messaging. Find what works for your team.
    • When things start getting a bit tricky, bring in specialist help. I can’t emphasise this enough. Whether that is a talented project manager developer, or a developer with better skills at your tech stack… don’t hesitate. You need someone sooner than you think.
    • DOCUMENT! When projects are several years down the road; onboarding new developers is slow since they have to figure it all out from scratch.

  • Day 54 Building an AI Agency

    Today’s post is a bit more of a strategic analysis of the situation.

    • There is a clear demand for more information on AI, across the board – from SMEs to enterprise.
    • AI Agencies are a fairly new phenomenon, and existing agencies will eventually realise they need to pivot to offer this service.
    • There is too much information out there regarding AI, and everyday I find a new tool, or new bit of news that blows me away. For the person who is not focused fully on AI, they don’t have the time or inclination to full match that.
    • Whilst there is an abundance of information, how much of it is actually relevant and actionable? A lot of people are now just getting their information from language models, coming up with strategies that sound good on the surface, but actually don’t work in practice.
    • Apart from people who have been at it for a few years, most people are nowhere close to understanding how to actually use AI to build/grow their business. They know there’s something that can help, but they aren’t sure specifically what that is.

    So, it’s clear to me that an AI Agency fulfils a demand that most companies are going to realise they need fairly quickly; and over the last fifty days or so I’ve figured out more or less that AI for business is about:

    • Being able to gather meaningful data from the internet in an automated fashion; using web crawling techniques blended with AI
    • In tandem with data gathering, AI can help with lead generation and create workflows that help a customer through their journey with companies. LLMs can be used to tailor emails to send out meaningful sales emails to people
    • Having a system driven by AI that oversees the entire business operations
    • Virtual Agents and Chatbots that act as the first point of contact for people using either websites or going through other ecosystems like whatsapp
    • Using automation tools to reduce time spent on manual tasking. Saving even five minutes per week on a regular task is roughly 4 hours per year saved. So over ten years for a company it’s the equivalent of a single employees working week.
    • Driving the content strategy with automation and generated content to supplement current marketing efforts
    • Able to develop digital features faster using AI code helpers and ‘vibe coding’
    • Able to talk to their data more effectively and gain insights

    It’s also clear to me that I still really enjoy, and am good at, development non-AI systems – becoming better at managing the projects of them – and that most of these will eventually be required to integrate with AI.