Things I have built, and what each one changed
Each row is one engagement. Click a row to see what was going on, what had to be done, what I did and what changed. Hover any result for the detail behind it.
| # | Solution | Industry | Revenue | Size | Results | Tools |
|---|---|---|---|---|---|---|
| 01 | Website refresh outreach engineDetails ▾ | Web development | £1.6–2.4M | 100+ clients16 team members | Efficiency100 → 500+emails a weekEfficiency100 a dayhomepages rebuiltRevenue£0 → £300k+from cold outreach (and growing since implementation) | |
SituationThis agency had won just over 100 clients almost entirely by word of mouth, with no advertising and no cold approaches. Cash flow was tight and they needed new work. They had tried cold email once and under 2% of it got a reply. Every message they sent was a claim about what the agency could do, landing in an inbox that had already seen 4 more of the same that week. TaskGet the outreach in front of the right prospects and lead with something of real value, so it starts conversations instead of impressions. Conversations become booked calls, and booked calls become sales. The quality bar was the agency's own, because their name goes on everything that leaves the building. ActionI built a lead identification engine that read their own client history for the profile of a good prospect, searched business listings city by city on a geo grid, and scored every business on 26 signals into a ranked list. I built a website refresh engine that rebuilds a prospect's homepage in their own brand, copy and logo before they have heard from the agency, so the first email carries a link to it. I put a designer approval gate in front of every send, behind 3 structural QA passes, with a hard rule that the machine may never invent a word of content. I created a cold email infrastructure with follow-up emails, a phone call, an SMS and a printed letter, all syncing to a CRM, on separate domains kept off the agency's own, with about 3 months of warm-up, plain text only and paced sending. I ran a training day for 16 people with laptops open, then a month of one-to-one support available on booking. ResultsEfficiency100 → 500+emails a weekmeasured Efficiency100 a dayhomepages rebuiltstated Revenue£0 → £300k+from cold outreach (and growing since implementation)stated QualityEvery emailcarried a live rebuild of the prospect's homepage Quality~10% → <5%designs sent back for another pass | ||||||
| 03 | CRM and tender engineDetails ▾ | M&E contracting | £5–10M | 42 employees | Efficiency8 → ~25tenders applied to a monthConversion12–15%per tender, held steadyRevenue£500k–£2ma tender, with more won | |
SituationThe founder of a mechanical and electrical contractor with 42 employees was describing his week as admin on top of admin, firefighting every day, with no hours left for the business itself. The company had no system at all, so enquiries, tender correspondence and job history lived in individual inboxes and individual heads. Every piece of work it wins comes from tendering, and more tenders were arriving than there were hours to answer them. 2 of the 3 people involved described the same process differently, and both were right. TaskRaise the number of tenders the company could answer each month without dropping the quality of a single one. Give the department head his hours back, because his time belonged on winning work. Leave the pricing judgement exactly where it already sat. ActionI took a retainer first so I could meet the team, shadow them and map the process before quoting for any build. I drew the whole tender process in 3 swim lanes, admin, department head and estimator, with every decision as a diamond and the rework loops in red. I built a CRM in Pipedrive holding one record per job, then built at the 2 bottlenecks the map exposed, and 2 more once those had proved out. I used Whisper to transcribe the client call and OpenAI to turn it into structured requirements and the tender pack into the scope brief the estimator prices from, with the pricing document drafted and the 24-hour receipt chase running on a timer. I ran 5 live tenders through each build beside the manual process before it replaced anything, then trained the founder first and the team with laptops open. ResultsEfficiency8 → ~25tenders applied to a monthmeasured Conversion12–15%per tender, held steadystated Revenue£500k–£2ma tender, with more wonstated Time saved18–24h → 2–3heffort per tenderstated AdoptionA year onstill running unchanged, same 42-person headcount | ||||||
| 07 | Quoting engine and curriculumDetails ▾ | Creative agency | 31 people | Adoption100%using AI to speed up their work, after trainingFound25–40%how far quotes were out on jobs that overranRevenueBreak-even → 15%margin on the job types that had run at a loss | ||
SituationA 31-person creative agency quoted every job at a fixed price, with the real cost of the work invisible. Money was coming in and cash flow was positive, so nothing looked broken. Underneath it, quotes were 25 to 40% out on the jobs that overran and roughly 1 job in 5 was losing money outright. The founders had an instinct about which work carried the studio and no evidence for it, because no time data existed anywhere in the business. TaskThe studio needed a way to see where its hours actually went, because repricing and optimising only become available once a number exists. Margin had to become visible per job, then by job type and by client, so that pricing could be set at the front end of a job. And 31 people in a creative studio had to start logging time daily, which is the professional group that resists it hardest. ActionI signed an NDA, read every past project file, went through their Notion and shadowed people while they worked, because 31 people is too many to interview. I specified the measurement before anything else, a per-person daily log taking about 5 minutes against a project and a specific task, installable to a phone, and directed the build. I sent the heat map back to the team who filled it in before it went to the directors, and tied a bonus to a profitability metric the whole studio could watch moving. I specified the quoting engine on roughly 3 months of that data, so a model drafts scope and hours by role from the brief and the closest past jobs, a rules-based rate card prices that draft, and a person checks it and sends it. I created a training module for each of 4 offerings the agency sells, aimed at the tasks the heat map showed were eating hours, with the founder's own condition named in every one, that copy, positioning and page layout stay with a person. ResultsAdoption100%using AI to speed up their work, after training Found25–40%how far quotes were out on jobs that overran RevenueBreak-even → 15%margin on the job types that had run at a loss Revenue+2 ptsgross margin across the studio Adoption0 → 29 of 31logging time dailymeasured Found1 in 5jobs losing moneystated | ||||||
| 08 | AI Operating System (AIOS)Details ▾ | Cross-sector | 5 organisations, 26 installs | Adoption26installs, five organisationsEfficiencyMore bandwidthfor staff, qualitativeAdminLess adminacross teams, qualitative | ||
SituationThe 5 businesses arrived with what they all described as a tools problem. Too many apps, too much admin and a feeling of falling behind on AI. In every one of them the real problem turned out to be the same: everything the business knew about itself lived in somebody's head, so each attempt at using AI started cold and produced generic output a founder then had to rewrite. They run from a sole operator to a creative agency of 31 people and a mechanical and electrical contractor with 42 employees. TaskGive each business a system that already knows who it is, what it does and how it works, so a session starts with the context loaded. Make the install repeatable enough that each one costs less to deliver than the last. Keep every outward action in a person's hands. ActionI built a context layer per business, one folder holding the company, its people, its processes, its current numbers and its standing rules, loaded by a single command at the start of every session. I put the standards in as files the agent reads, the writing rules, the design basis, the field rules and the never-claim list, so quality stopped depending on anyone remembering. I wrote each new capability up as a skill and added it to a shared bank, which is why install 4 costs less to deliver than install 1. I set a governance rule that nothing is ever sent, submitted or deployed by the agent, and loosened the gate only where the record justified it. I generated each system from a short questionnaire and handed it over for the founder to try on their own work before anything was agreed, then ran Demonstrate, Duplicate and Delegate with the team. ResultsAdoption26installs, five organisationsobserved EfficiencyMore bandwidthfor staff, qualitativequalitative AdminLess adminacross teams, qualitativequalitative Adoption19people using it daily, counted apart from seats Admin3 routinesrun unattended, reporting only what changed | ||||||
| 09 | Job application engineDetails ▾ | Job search | Solo build | Efficiency250+personalised applications a weekQuality1.6%pass every filterEfficiency174,079distinct postings harvested in one run | ||
SituationThe client here was a single job seeker, and there was no fee. Roles sit on dozens of separate applicant tracking systems, so an employer on Ashby or Pinpoint never appears on the big aggregators. Searching by title misses the work, because the same seat is advertised as AI Enablement Lead at one employer and Digital Adoption Manager at the next. Reading boards by hand caps a person at about 5 properly written applications a day, and applying twice to the same employer reads as careless to the only audience that matters. TaskFind every relevant open UK role, score each one against a single set of constraints, and turn the few worth a letter into a sendable pack. Run it on a schedule, compare against the last run, and report only what changed. Keep the judgement and the send with the person whose name is on the application. ActionI built it in 3 stages: harvest everything, filter and score, then let a human decide. I derived the search from lane definitions instead of job titles, and scored 9 lanes separately so a large lane could not bury a small one, with every row naming which lane CV to send. I recorded each failure in a JSON registry beside the crawler, which holds 150 tenant aliases, 145 named traps and 999 confirmed-dead slugs. I deduplicated against 2 registers, normalising ampersands and name prefixes, and resolved the employer from the apply URL before any duplicate check ran. I left the submit button to the job seeker on every single one, along with creating accounts, entering passwords, solving CAPTCHAs and ticking any consent box. ResultsEfficiency250+personalised applications a weekstated Quality1.6%pass every filtermeasured Efficiency174,079distinct postings harvested in one run Found543applications logged, 0 sent by the machine Efficiency700+packs built, each with CV, letter and answers | ||||||
| 02 | Spark2 EducationEducation · co-founded by Peter | Education | £1M+ | 28 facilitators6 full-time staff1,800+ clients | Seven engagements, from the CRM to the VR workshops | |
| 02A | CRM and booking engineDetails ▾ | RevenueUpfrom bookings that used to go to competitorsConversion30–40%of bookings are for dates soon, now secured in one visitRetention1,000+of 1,800+ schools active at any one time | ||||
SituationAdmin ran on Outlook threads, a Google Sheet, the phone and a PDF form edited by hand. The same details were typed twice and the two copies drifted apart. A school moving a date meant editing the PDF, sending it again and remembering to correct the sheet. With 1,800 schools on the books, nobody could hold in their head whose visit was coming round again, so rebooking happened whenever somebody happened to notice. TaskHold every school in one place, so nothing was missed and a booking stayed editable after it was secured. Get the follow-up that drives rebooking to run reliably across 1,800 schools without a person having to remember. Rebooking is where a workshop business earns, so that was the outcome to protect. ActionI mapped the whole chain by hand with the people doing the work, and marked every step automated or manual on the map before I changed anything. I put Pipedrive in as the single record, with a sales pipeline from enquiry to booking form and a fulfilment pipeline from booking to visit day. I built a 6-step booking page that prices the day live, matches a presenter by postcode and travel time, and offers only that presenter's free dates. I added an assistant that drafts replies from tens of thousands of the company's own emails, and a chatbot that lets a school change its own dates, schedule and invoice contact. I tested a voice agent on real callers and stopped it, because the trust cost showed. ResultsRevenueUpfrom bookings that used to go to competitorsstated Conversion30–40%of bookings are for dates soon, now secured in one visitstated Retention1,000+of 1,800+ schools active at any one timemeasured Admin85%less admin per bookingstated Admin30% → <5%support escalations, as a share of all contacts | ||||||
| 02B | Future Skills PassportDetails ▾ | Adoption96%of started lessons finishedQuality88%average quiz scoreExperience83%of pupils rated their lessons positively | ||||
SituationA workshop needs a presenter standing in a room in the UK, on one day of the year. That capped what the business could reach and what a school was left holding after the day ended. Inside the learning there was a second problem. One fixed quiz gave every child the same questions, and an 88% class average hid who was stretched and who was stuck. TaskCarry the same learning without a presenter in the room, and turn a one-day visit into a year of work a school can evidence. Give every child questions pitched at what they can actually do, and give the teacher a picture of the class skill by skill. The reach had to work wherever the learner is, including outside the UK. ActionI built the content with AI and the teaching team: 12 skills at 4 year levels, 2,400+ questions and challenges, 900+ games and activities and 280 teach-a-grown-up missions. I had every skill written against published guidance from the Resuscitation Council UK, the NHS, the EEF and Young Money. I designed the adaptive loop so a right answer comes back later and a wrong one sooner, with active recall closing every lesson. I gave the same answers 4 views: the pupil's own profile, the parent's, the teacher's class heat map in red, amber and green, and a whole-school export for PSHE and Ofsted evidence. I kept live AI away from children, so AI is how the content was built and never what a child talks to. ResultsAdoption96%of started lessons finishedmeasured Quality88%average quiz scoremeasured Experience83%of pupils rated their lessons positivelymeasured RevenueBeyond the UKa new offering, unbounded by geographystated | ||||||
| 02C | Spark curriculum and workshopsDetails ▾ | Experience9.3/10average workshop ratingAdoption1,800+schools bookedAdoption383,000+pupils taught | ||||
SituationSpark2 had grown 4 separate brands: Science Professors, Fit for Kids, and the 2 products built during the school closures. Each one sold its own workshops as single days, with no outcomes written by year group. A school that booked a good day had nothing telling it what to book the year after. Rebooking depended on somebody ringing at the right moment. TaskMerge 4 brands into one curriculum a school could enter at any age and keep moving through. Write outcomes by year group, so a teacher can see what a child should manage next. Hold every workshop to the same design discipline, so quality stops depending on who built it. ActionI merged Science Professors, Fit for Kids, Mindful Month and Fit Month into one curriculum. I built it as 3 pillars, Live, Learn and Leverage, holding 12 subjects, with 5 levels from age 3 to adult and 48 named modules. I wrote 'I can' outcomes for every subject at every level, so a teacher can see what comes next. I put every workshop through the same 10 steps in 4 phases: design, engagement, immersion and support. I paced a session like a story, building to a climax about three quarters of the way through, and had teachers and pupils asked after every visit, so each workshop improved a visit at a time. ResultsExperience9.3/10average workshop ratingmeasured Adoption1,800+schools bookedmeasured Adoption383,000+pupils taughtmeasured RetentionAnnualone-off day became a yearly line item, 12 subjects Quality48 modulesnamed, with 'I can' outcomes at every level | ||||||
| 02D | Facilitator training and sign‑offDetails ▾ | Adoption28facilitators delivering, each signed offRetentionUpfacilitator retention, re-hiring stoppedAdoptionLondon → Englanddelivery reach, city by city | ||||
SituationSpark2 started as an after-school science club in south-west London. Growing past that meant sending presenters into schools who had never watched a workshop run. The delivery team were self-employed, so they behaved like contractors with nothing to belong to, and people kept leaving. The business was re-hiring constantly, and what a school got depended on who turned up. TaskGet a new presenter to the point where they deliver a session the way an experienced one does, before they are ever alone in a school. Make that repeatable enough to open a new city without the standard slipping. Give self-employed people a reason to stay. ActionI wrote a 10-step framework for bringing a presenting team member up to speed, and taught the content and the method remotely first, so training never waited for a place in a school. I put new presenters on shadow days alongside an experienced one, watching real sessions in real schools. I ran it as Demonstrate, Duplicate, Delegate, with a rule that growing pains send you back a layer to demonstrate again. I made the sign-off a competency framework assessed by observation, so nobody delivered alone before an assessor had watched them. I built the performance system underneath it: paired metrics so one number cannot improve at another's expense, open dashboards, a bonus pool with £50 as the unit and 100 in a row as the streak target, and a team to belong to. ResultsAdoption28facilitators delivering, each signed offmeasured RetentionUpfacilitator retention, re-hiring stoppedstated AdoptionLondon → Englanddelivery reach, city by citystated Efficiency~200delivery days a month at peak Retention28 retrainedfor camera delivery when the schools shut | ||||||
| 02E | Mindful Month daily journalDetails ▾ | RevenueProfitablethrough the haltRevenue£30k a monthcosts carried, team keptRetentionEvery yearjournal and video line, beside in-person delivery | ||||
SituationEvery in-person school visit stopped inside a week, and stayed stopped for about 12 months. That was the whole delivery model: 28 facilitators, roughly 200 delivery days a month and over 1,000 active school relationships. The £30,000 a month delivery cost base carried on regardless. The obvious answer inside the business was to film the workshops, and a filmed workshop is a worse workshop. TaskKeep the school relationship and the learning outcome alive through a closure nobody could put an end date on. Find the smallest thing a child could do alone every day that still produced the outcome. Carry the team and the cost base while it started earning. ActionI audited the in-person catalogue session by session, separating the workshops whose value sat in the content from the ones carried by the room, and rebuilt the second group from the outcome upwards. I designed the measurement before a single day's activity was written: pre, during and post surveys with students and teachers, anonymised photo uploads pegged to a teacher's class, and multiple-choice questions during the 4 weeks so a weak topic surfaced while it could still be fixed. I built the programme as 4 weeks at 5 to 15 minutes a day, with age-adapted video carrying the teaching and a printed daily journal carrying the doing. I brought in subject specialists for the mental resilience content and kept the shape myself: the 4 weeks, the measurement, the age adaptation and the sequence. I trained the facilitators for camera delivery, coached the specialists through Demonstrate, Duplicate, Delegate, and gave teachers and parents their own separate guidance strands. ResultsRevenueProfitablethrough the haltstated Revenue£30k a monthcosts carried, team keptmeasured RetentionEvery yearjournal and video line, beside in-person delivery Adoption11,600followers on the Mindful Minis Instagram page Found36 pagesA5 journal, print-ready, 4 weeks of daily pages | ||||||
| 02F | Fit Month free releaseDetails ▾ | Adoption1,000+schools active at a timeEfficiency1,800+school relationships reachedRevenue2revenue channels, one build | ||||
SituationMindful Month had proved a school would run a 4-week daily programme with no facilitator in the building. The catch was that a school which had done Mindful Month had done Mindful Month, and the business needed a second reason for the same teacher to come back inside the same year. Something else was running underneath that. Every edition was rebuilt with new content and new learning outcomes, so last year's video course and journals were worth close to nothing on the price list and cost pennies to leave sitting on a server. TaskProduce a second 4-week programme on the same footprint, and find out whether the first one was a product or a platform. Make every activity safe to run by a teacher with tables in the way or a parent in a living room, with no equipment. Then decide what last year's edition was actually worth, and spend it. ActionI reused the architecture Mindful Month had already paid for: the 4-week shape, the print and video split, the anonymised upload flow, the class heat map and the pre, during and post surveys. I built Fit Month on the Fit for Kids sub-brand, so the schools being sold to already knew the name and had usually had that content in the building. I had every activity checked to run in a confined classroom or a living room with no kit, and risk-assessed one at a time, because a physical programme run by a teacher carries a duty of care. I wrote the teacher guidance to cover the physical side: how much space an activity needs, what to do about a child who cannot take part, and how to run it without equipment. I then released the previous year's video course and PDF journals free to all 1,800+ school relationships, including schools that had never bought the programme, as one link and a thank you with nothing attached to it. ResultsAdoption1,000+schools active at a timemeasured Efficiency1,800+school relationships reachedmeasured Revenue2revenue channels, one buildstated Adoption4 weeksrun by schools that had never bought it RetentionEvery yearthe line ran again, fresh content each edition ConversionNext editionbought by some schools that ran the free onestated | ||||||
| 02G | VR workshops in headsetsDetails ▾ | Adoption30VR workshops, primary and secondaryExperienceImmersivehistory and science, a headset eachQuality3 outcomesnamed on every workshop, linked to KS3 and KS4 | V | |||
SituationSome subjects cannot be brought into a school hall. A trench on the Western Front, a medieval siege and a space station are not things a presenter and a box of props can put in front of a class. Spark2 was also running 2 audiences at once, primary and secondary, and a secondary school working towards exams needs a day that maps onto key stages 3 and 4. Headsets bring their own problems into a classroom, because a child with epilepsy, a parent's consent and a room full of equipment all have to be settled before anyone puts one on. TaskPut pupils inside scenes a workshop room cannot reach, and keep the day a lesson. Every workshop had to carry named learning outcomes and curriculum links for its key stage, so a head of department could justify booking it. The safety side had to be settled in writing before a headset went near a child. ActionI built a VR stream across history and science, 21 workshops for primary and 9 secondary themes in the 2024-25 brochure. I wrote 3 learning outcomes for each one, so Britain's Transatlantic Slave Trade carries historical understanding, critical thinking and contemporary relevance. I mapped every workshop to key stage 3 and 4 curriculum links across subjects: history, geography and English for the First World War, and science, technology and geography for space exploration. I set the safety rules inside the booking material: epilepsy guidance before anyone uses a headset, a signed permission slip from every parent or guardian, one classroom held for the whole day, and the team on site 45 minutes before the first session. I put the VR workshops through the same 10-step design process as the rest of the catalogue, so they were built, risk-assessed and reviewed the same way. ResultsAdoption30VR workshops, primary and secondarymeasured ExperienceImmersivehistory and science, a headset eachqualitative Quality3 outcomesnamed on every workshop, linked to KS3 and KS4 QualityBuilt inepilepsy guidance and permission slips, at booking | ||||||
| 06 | One programme, 13 platformsDetails ▾ | Workplace training | 6 staff | Time saved3–4 wks → 8 daysto personalise a courseTime saved40h → 18hhands-on per clientEfficiency13 · 26multinationals · countries | S | |
SituationAn accredited workplace training provider with 6 staff held one course that worked, written for UK construction sites. The directors wanted it in front of much larger buyers. A global operator will never take a hosted course on somebody else's platform, because it mandates training through its own learning system, on its own standards, as part of contractor induction. The quality of the course was never the thing standing between a 6-person provider and a supermajor. TaskOne accredited course had to become deployable inside 13 different enterprise estates, each with its own platform, standards and completion rules. The accredited learning outcomes had to survive a rewrite out of construction and into the petrochemical industry, because the accreditation is a large part of what the buyer pays for. And 6 people had to be able to run the whole thing without me in the room. ActionI built the programme architecture that holds one fixed accredited spine and pushes every client's variation into a deployment layer. I rewrote the content out of UK construction and into the petrochemical industry, then adapted it again per client, with the accredited learning outcomes intact throughout. I created the sales process that carried a 6-person UK provider into that client base, helped build a 2-day workshop pitched at chief executive level, and built the production process behind the animations. I specified and directed the infrastructure that packaged the programme as SCORM into each client's own learning platform, and coordinated the packaging itself. I built the operations layer 6 people ran it on: a tagged product board routed through Slack to the developer, a priority tier, bulk access grants and resets, backup restore, per-page caching that saves progress with no internet, and the metrics the directors ran the business on. ResultsTime saved3–4 wks → 8 daysto personalise a courseobserved Time saved40h → 18hhands-on per clientobserved Efficiency13 · 26multinationals · countriesmeasured QualityAccreditedOfqual and NCFE, held through a full rewrite Efficiency6 staffserviced 13 enterprise estates at once | ||||||
| 05 | Scheduling, routing and incentivesDetails ▾ | Domestic cleaning | 3 staff, 85 contractors | Retention6 → 7 in 10clients still booked a year laterEfficiency17% → 8%of cleaner hours left empty in the calendarRevenue+10–15%weekly sales, from the new package offer | ||
SituationThree full-time staff coordinated 85 self-employed cleaners across domestic houses, every job at a different address, a different time and a different rate. The week was built on a spreadsheet and manual admin, so a job that ran long pushed the next appointment, and a cleaner calling in ill on the morning left a booked slot with nobody in it. Clients noticed both, and some of them left. The founder had stopped taking on new clients, because he believed more work would break the operation. TaskThe week had to be buildable and coverable at the same time, so that every cleaner got the hours they wanted and somebody within reach was free when a slot fell through. Quality and reliability had to hold as the client base grew, because that was the thing the founder no longer trusted. And 85 people working alone inside houses had to change how they worked, with no line management over any of them. ActionI built a dashboard carrying geography and rate for every cleaner, with routes and schedules mapped on top of it and travel time inside the model. I pushed the schedule into the cleaners' own phone calendars and synced their changes back, so nobody had to adopt new software. I heard the feedback after that first build and went back with a second answer, because the real problem was overruns and sickness, which no dashboard reaches. I repriced the client offer from an hourly job into a package of promises, backed by a free return clean if the client is unhappy for any reason. I designed a contractor bonus pool that pays on time per clean and quality together, measured by a 1 to 10 survey after every job with 8 or above counting as a good clean, with a bonus above 3 jobs a day, a paid return clean that eats into that bonus, and an incentive for giving more than 24 hours notice when ill. ResultsRetention6 → 7 in 10clients still booked a year later Efficiency17% → 8%of cleaner hours left empty in the calendar Revenue+10–15%weekly sales, from the new package offer QualityGrowing againclient base, quality no longer the bottleneck | ||||||
| 04 | House management systemDetails ▾ | Residential lettings | 21 houses | Quality0 of 21gas safety checks missed, each due every 12 monthsTime saved~3 hrsof admin back every weekTime saved~5 daysfewer empty days each time a tenant changes | ||
SituationA private landlord held every property in his own and his family's names, with no company, no office and no staff around him. He also held a full-time job, so the whole portfolio ran on what one person could remember in the evenings and at weekends. Gas safety certificates, a licence renewal, warranty expiries, rent dates and a weekly cleaner all fell due on dates nobody was tracking. An enquiry arriving on WhatsApp late at night was often gone by the morning. TaskEvery dated obligation had to carry a warning period in front of it and a record behind it, so that a missed date stopped being the first signal anything was wrong. Enquiries, rent, repairs and the year-end accounts had to keep moving while the owner was at work all week. The gas safety certificate set the bar, because letting that lapse changes his legal position. ActionI mapped the portfolio myself and built one dashboard holding rent status, compliance dates, warranty records, cleaner scheduling, bills and repairs. I built a compliance clock that tracks every dated obligation to expiry with lead time in front of it, starting with the annual gas safety renewal. I built a lead pipeline that syncs enquiries in from WhatsApp, sends a tenant vetting questionnaire, scores the answers and routes the applicant towards a viewing. I built repair ticketing that turns a reported fault into a booked handyman slot in a shared calendar, and accounts preparation that reconciles against the bank statement feed and packages the year for the accountant. I kept the viewing and the tenancy decision with the landlord, because he carries a bad tenancy personally. ResultsQuality0 of 21gas safety checks missed, each due every 12 months Time saved~3 hrsof admin back every week Time saved~5 daysfewer empty days each time a tenant changes | ||||||