[
  {
    "id": "P01",
    "format": "blog-intro",
    "topic": 1,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "When Dave Hargreaves bought his first second-hand van in 2014, he had a ladder, a staple gun and a hunch that people were wasting money heating the sky. A decade on, Hargreaves Loft Insulation is still just Dave, his nephew Callum and a part-time bookkeeper called Pat who also, somehow, runs the diary.\n\nIt isn't glamorous work. The days start at 7am in a cold cul-de-sac in Stockport or Macclesfield, and they usually end with someone's treasured Christmas decorations carefully moved, then carefully moved back. In between, there's a lot of crawling around in the dark, rolling out mineral wool between joists and checking for the things homeowners never see: a missing cable clip, a damp patch round the chimney breast, a hatch that doesn't seal.\n\nWhat Dave notices most is how surprised people are. Roughly a quarter of the heat in an average British home escapes through the roof, yet many of his customers have never looked up there. \"They'll spend two grand on a new boiler,\" he says, \"and leave the lid off the pan.\"\n\nThis is a post about what it's actually like to run a small insulation business in the UK today: the grants, the paperwork, the cowboys, and the satisfaction of a house that finally holds its warmth.",
    "humanised": "When Dave Hargreaves bought his first second-hand van in 2014, he had a ladder, a staple gun and a hunch that people were wasting money heating the sky. A decade on, Hargreaves Loft Insulation is still just Dave, his nephew Callum and a part-time bookkeeper called Pat who also, somehow, runs the diary.\n\nIt isn't glamorous work. The days start at 7am in a cold cul-de-sac in Stockport or Macclesfield, and they usually end with someone's treasured Christmas decorations carefully moved, then carefully moved back. In between, there's a lot of crawling around in the dark, rolling out mineral wool between joists and checking for the things homeowners never see: a missing cable clip, a damp patch round the chimney breast, a hatch that doesn't seal.\n\nWhat Dave notices most is how surprised people are. Roughly a quarter of the heat in an average British home escapes through the roof, yet many of his customers have never looked up there. \"They'll spend two grand on a new boiler,\" he says, \"and leave the lid off the pan.\"\n\nThis is a post about what it's actually like to run a small insulation business in the UK today: the grants, the paperwork, the cowboys, and the satisfaction of a house that finally holds its warmth.",
    "humanizer": {
      "initial_score": 0.78,
      "final_score": 0.78,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 213,
      "human_score": 0.78,
      "tells_per1000": 4.7,
      "contractions_per1000": 28.169,
      "avg_sentence_length": 23.667,
      "sentence_length_variance": 126.667,
      "comma_density": 2,
      "em_dashes_per1000": 0,
      "voice_match": 0.78
    },
    "after": {
      "words": 213,
      "human_score": 0.78,
      "tells_per1000": 4.7,
      "contractions_per1000": 28.169,
      "avg_sentence_length": 23.667,
      "sentence_length_variance": 126.667,
      "comma_density": 2,
      "em_dashes_per1000": 0,
      "voice_match": 0.78
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 1
    },
    "measuredAt": "2026-11-10T09:13:15.745Z"
  },
  {
    "id": "P02",
    "format": "linkedin-post",
    "topic": 1,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "Some of the most valuable home improvements are the ones you barely see.\n\nFor a small UK business installing loft insulation, the work starts long before the first roll goes down. It means answering questions, checking the loft and explaining what’s suitable for that particular home.\n\nCustomers don’t need a complicated sales pitch. They want to understand what the job involves, what it costs and how it could help their home retain heat.\n\nThat’s where a local business can make a real difference: turning up when promised, treating someone’s home with care and leaving the space tidy.\n\nRunning a small trade business isn’t always glamorous. There are quotes to prepare, materials to organise and tight spaces to work in. But there’s satisfaction in doing a practical job well.\n\nHere’s to the small teams helping households make thoughtful improvements, one loft at a time.\n\n#SmallBusiness #LoftInsulation #UKBusiness",
    "humanised": "A lot of the home improvements worth paying for never get noticed at all.\n\nFor a small UK business fitting loft insulation, the job starts well before the first roll goes down. Questions come first. Then someone has to climb up, look at the loft, and work out what will suit that particular house.\n\nCustomers don't want a slick pitch. They want to know what the work involves and what it'll cost. Whether it'll help the place hold its heat matters too, probably most of all.\n\nA local firm earns its keep here by turning up when it said it would. It treats the house with care and tidies away after itself. Customers remember that.\n\nIt isn't glamorous. Quotes need writing, materials need sorting, and the loft is usually cramped, hot in summer and awkward to move around in. Doing it properly still counts for something.\n\nThe next loft is already on the list.",
    "humanizer": {
      "initial_score": 0.55,
      "final_score": 0.72,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 146,
      "human_score": 0.55,
      "tells_per1000": 0,
      "contractions_per1000": 47.945,
      "avg_sentence_length": 13.273,
      "sentence_length_variance": 34.562,
      "comma_density": 0.545,
      "em_dashes_per1000": 0,
      "voice_match": 0.76
    },
    "after": {
      "words": 154,
      "human_score": 0.72,
      "tells_per1000": 0,
      "contractions_per1000": 25.974,
      "avg_sentence_length": 11,
      "sentence_length_variance": 35,
      "comma_density": 0.5,
      "em_dashes_per1000": 0,
      "voice_match": 0.76
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.408
    },
    "measuredAt": "2026-11-10T09:13:51.627Z"
  },
  {
    "id": "P03",
    "format": "launch-email",
    "topic": 1,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "Subject: Warmer home, lower bills: our new loft insulation service\n\nHi [First name],\n\nHeating costs aren't going down, and about a quarter of the heat in an uninsulated home escapes through the roof. That's why we're now offering professional loft insulation.\n\nWe've spent years fitting [boilers/windows/etc.] for homes across [area], and customers kept asking if we could help with their lofts too. So we trained up, and now we can.\n\n**What you get:**\n- A free, no-obligation survey of your loft\n- A clear, fixed quote with no hidden extras\n- Neat installation by our own team, usually completed in a single day\n- Quality materials fitted to current building regulations\n\nMost homes can save a good chunk on annual heating bills, and you'll feel the difference in comfort straight away: warmer in winter, cooler in summer.\n\nYou may also be eligible for government-backed grants, and we're happy to check this for you at no cost.\n\n**Book before 30 November and receive 10% off your installation.**\n\nJust reply to this email or call us on [phone number] to arrange your free survey.\n\nWe look forward to helping you keep the heat where it belongs.\n\nKind regards,\n\n[Name]\n[Company name]\n[Website] | [Phone number]\n\nIf you'd rather not hear from us, [unsubscribe here].",
    "humanised": "Subject: Warmer home, lower bills: our new loft insulation service\n\nHi [First name],\n\nHeating costs aren't coming down. And in a house with nothing up in the loft, around a quarter of the heat just walks out through the roof. Hence the new service: we're now doing loft insulation.\n\nWe've fitted [boilers/windows/etc.] around [area] for years, and people kept asking if we'd have a go at their lofts too. So we trained up. We can.\n\nHow it works: we come and look at your loft, free, no strings. You get one fixed quote, and the number doesn't creep afterwards. Our own people do the fitting (not subcontractors), tidily, and it's normally over in a day. The materials are decent stuff and the work meets current building regulations.\n\nPlenty of homes should see their yearly heating bill drop. The house feels better almost immediately, too: warmer when it's cold out, cooler when it isn't.\n\nGrants might be available. Government-backed ones. If so, we'll look into whether you qualify and it won't cost you anything.\n\nThere's 10% off installation if you book before 30 November.\n\nReply here or ring [phone number] and we'll arrange the survey.\n\nKind regards,\n\n[Name]\n[Company name]\n[Website] | [Phone number]\n\nIf you'd rather not hear from us, [unsubscribe here].",
    "humanizer": {
      "initial_score": 0.45,
      "final_score": 0.72,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 212,
      "human_score": 0.45,
      "tells_per1000": 0,
      "contractions_per1000": 33.019,
      "avg_sentence_length": 10.55,
      "sentence_length_variance": 44.048,
      "comma_density": 0.65,
      "em_dashes_per1000": 0,
      "voice_match": 0.74
    },
    "after": {
      "words": 212,
      "human_score": 0.72,
      "tells_per1000": 0,
      "contractions_per1000": 61.321,
      "avg_sentence_length": 9.174,
      "sentence_length_variance": 33.535,
      "comma_density": 0.609,
      "em_dashes_per1000": 0,
      "voice_match": 0.7
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.578
    },
    "measuredAt": "2026-11-10T09:14:24.990Z"
  },
  {
    "id": "P04",
    "format": "explainer",
    "topic": 1,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "Loft insulation lowers heating bills by slowing the movement of heat from your home into the colder air outside. Warm air rises, making the roof an important route for heat loss. Without enough insulation, heat passes through the upstairs ceilings and escapes through the loft and roof. Your heating system then has to replace it to keep rooms comfortable.\n\nInsulation materials, such as mineral wool, trap air in small pockets. This trapped air is a poor conductor of heat, so it creates a barrier that slows heat transfer. In a typical unheated loft, insulation is laid between and over the ceiling joists, helping retain warmth in the rooms below.\n\nBecause an insulated home loses heat more slowly, the heating needs to run less often or for shorter periods to maintain the same temperature. That reduces the amount of gas, electricity or other fuel you use, cutting your bills.\n\nThe savings depend on how much insulation you already have, the size of your home, your heating system and your usual thermostat setting. Installation matters too: gaps and compressed material reduce performance, while suitable ventilation helps prevent moisture problems. Loft insulation works quietly all year and can also help limit heat entering rooms during hot weather.",
    "humanised": "Loft insulation cuts your heating bills because it slows how fast heat leaves the house. Warm air rises, so the roof is where a lot of it escapes. Skimp on insulation up there and the heat just wanders through the upstairs ceilings, into the loft and out. Your heating then has to keep topping up the rooms.\n\nMineral wool and similar materials trap air in tiny pockets, and still air conducts heat badly. That's the whole trick. In an unheated loft the stuff goes between the ceiling joists and over them too, so the rooms below hold onto more warmth.\n\nLose heat slowly and the boiler doesn't need to run as often or for as long to keep the place at the same temperature. Less gas, less electricity, less of whatever you burn. Smaller bills.\n\nHow much you actually save is hard to pin down. It turns on what's already up there, the size of the house, the type of heating, and where you tend to leave the thermostat. Fitting counts as well. Gaps and squashed material do a poor job, and without decent ventilation you can get damp. Once it's in, the insulation works all year without anyone touching it, and in a heatwave it can also hold back some of the heat trying to get into the rooms.",
    "humanizer": {
      "initial_score": 0.22,
      "final_score": 0.62,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 204,
      "human_score": 0.22,
      "tells_per1000": 0,
      "contractions_per1000": 0,
      "avg_sentence_length": 17,
      "sentence_length_variance": 16.5,
      "comma_density": 1.083,
      "em_dashes_per1000": 0,
      "voice_match": 0.71
    },
    "after": {
      "words": 220,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 18.182,
      "avg_sentence_length": 14.667,
      "sentence_length_variance": 66.622,
      "comma_density": 0.8,
      "em_dashes_per1000": 0,
      "voice_match": 0.71
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.438
    },
    "measuredAt": "2026-11-10T09:14:56.408Z"
  },
  {
    "id": "P05",
    "format": "about-page",
    "topic": 1,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "About Us\n\nWe're a small, family-run loft insulation company, and we've been keeping British homes warmer since we started out. Every job is handled by our own fully trained installers. We never use sub-contractors, so the person who surveys your home is the person who turns up to do the work.\n\nHeating a home has never been more expensive, and a poorly insulated loft is one of the biggest sources of wasted heat. Around a quarter of a home's warmth can escape through the roof. We can help you stop that, lowering your bills and making your home more comfortable all year round, including cooler in summer.\n\nWe offer a free, no-obligation survey and a clear written quote with no hidden extras. We'll explain your options in plain English, recommend only what your home actually needs, and never pressure you into a decision.\n\nOn the day, we lay protective boards, keep disruption to a minimum and leave your home exactly as tidy as we found it. All our work is guaranteed, and we're happy to help you check whether you qualify for any government or energy-supplier grants.\n\nGet in touch today for a free quote. We'd love to help.",
    "humanised": "About Us\n\nWe're a small, family-run loft insulation firm. Keeping British homes warmer is what we do, and it's what we've always done. Our own trained installers handle every job. No sub-contractors, ever, so whoever surveys your home is who turns up to do the work.\n\nHeating a home costs more than it ever has, and a badly insulated loft wastes a lot of that heat. Around a quarter of a home's warmth can escape through the roof. We can stop it. Your bills come down and the house feels better all year, cooler in summer too, which surprises some people.\n\nThe survey is free and carries no obligation, and you get a clear written quote with no hidden extras. We explain your options in plain English. We only recommend what your home actually needs, and nobody here will pressure you into deciding anything.\n\nOn the day we lay protective boards and keep disruption to a minimum, then leave the place as tidy as we found it. Everything we do is guaranteed. If you'd like help checking whether you qualify for a government or energy-supplier grant, we'll do that with you.\n\nRing or message us for a free quote whenever suits.",
    "humanizer": {
      "initial_score": 0.42,
      "final_score": 0.62,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 199,
      "human_score": 0.42,
      "tells_per1000": 0,
      "contractions_per1000": 30.151,
      "avg_sentence_length": 15.308,
      "sentence_length_variance": 50.059,
      "comma_density": 0.923,
      "em_dashes_per1000": 0,
      "voice_match": 0.75
    },
    "after": {
      "words": 201,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 29.851,
      "avg_sentence_length": 12.563,
      "sentence_length_variance": 41.496,
      "comma_density": 0.688,
      "em_dashes_per1000": 0,
      "voice_match": 0.73
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.707
    },
    "measuredAt": "2026-11-10T09:15:29.299Z"
  },
  {
    "id": "P06",
    "format": "blog-intro",
    "topic": 2,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "Most budgeting apps seem to assume your money arrives once a month, neatly lined up with your bills. If you’re paid weekly, you know it rarely works that way.\n\nFriday’s wages land. Rent is due Tuesday. Your phone bill comes out next week, and somewhere in between you need groceries, petrol, and enough room for a takeaway without wondering whether you’ve accidentally spent the electricity money.\n\nA healthy-looking bank balance doesn’t always tell you what you can afford. Some of that money already has a job. The hard part is knowing how much to keep back from this week’s pay—and how much is yours to use.\n\nThat’s where a budgeting app built around weekly pay can help.\n\nInstead of asking you to stretch a monthly plan across four or five paydays, it starts with your next pay packet. It helps you put a little aside for upcoming bills, cover everyday spending, and see what’s left until you’re paid again.\n\nThe aim is to make the decisions you already face a little easier: whether you can say yes to dinner out, how much to save this Friday, and what needs to stay untouched until rent day. Your budget should work on the same schedule as your wages.",
    "humanised": "Most budgeting apps assume your money shows up once a month, lined up neatly with your bills. If you're paid weekly, you already know it doesn't work like that.\n\nFriday's wages land. Rent's due Tuesday. The phone bill comes out next week, and in the middle of all that you need groceries and petrol, and ideally a takeaway on the weekend without that nagging worry that you've spent the electricity money by accident.\n\nA healthy bank balance can be misleading. Some of it already has a job. Figuring out how much to hold back from this week's pay is the hard part. Working out what's actually yours to use is harder.\n\nA budgeting app built around weekly pay helps with that.\n\nIt won't ask you to stretch a monthly plan over four or five paydays. It starts from your next pay packet. You set a little aside for the bills coming up, cover everyday spending, and see what's left before you're paid again. That's about it.\n\nMostly it takes some of the weight off decisions you're making anyway, like whether dinner out is a yes, or how much goes into savings this Friday. Rent day is the one thing that stays fixed, so that money stays put while everything else shifts around it.",
    "humanizer": {
      "initial_score": 0.62,
      "final_score": 0.72,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 206,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 38.835,
      "avg_sentence_length": 15.846,
      "sentence_length_variance": 87.207,
      "comma_density": 0.769,
      "em_dashes_per1000": 4.854,
      "voice_match": 0.79
    },
    "after": {
      "words": 213,
      "human_score": 0.72,
      "tells_per1000": 0,
      "contractions_per1000": 56.338,
      "avg_sentence_length": 13.313,
      "sentence_length_variance": 86.715,
      "comma_density": 0.563,
      "em_dashes_per1000": 0,
      "voice_match": 0.67
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.634
    },
    "measuredAt": "2026-11-10T09:16:00.703Z"
  },
  {
    "id": "P07",
    "format": "linkedin-post",
    "topic": 2,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "Paid weekly? Most budgeting apps weren't built for you.\n\nThey assume a monthly paycheck: one big deposit, one tidy cycle. But if you're paid every Friday, your money doesn't work that way. Rent lands in week one, a phone bill in week three, and some months you get a bonus fifth paycheck that nobody planned for.\n\nThat's why we built PayWeek.\n\nInstead of forcing your life into a monthly box, PayWeek budgets around your actual pay cycle:\n\n✅ Splits big bills across your weekly paychecks automatically\n✅ Shows exactly what's safe to spend until next payday\n✅ Treats those \"extra\" paycheck months as a chance to save, not spend\n✅ Sends a heads-up before a tight week hits\n\nNo spreadsheets. No guessing. Just a clear answer to the question that matters: \"Can I afford this today?\"\n\nWeekly pay can be a real advantage. It gives you more chances to course-correct, and more control. You just need a tool that's built for the rhythm.\n\nIf you're paid weekly, or know someone who is, I'd love to hear what's been hardest about budgeting.\n\n#PersonalFinance #Budgeting #Fintech #FinancialWellness #WeeklyPay",
    "humanised": "Paid weekly? Most budgeting apps weren't built for you.\n\nThey assume a monthly paycheck: one big deposit, one tidy cycle. If you get paid every Friday, your money doesn't work like that. Rent hits in week one, the phone bill turns up around week three, and every so often a fifth paycheck lands that nobody planned for. Budgets built for monthly pay just break.\n\nSo we built PayWeek.\n\nIt budgets around your actual pay cycle. Big bills get split across your weekly paychecks automatically, and you can see exactly what's safe to spend until next payday. Those \"extra\" paycheck months? We treat them as a chance to save. Tight week coming up? You'll get a heads-up before it arrives.\n\nNo spreadsheets. No guessing. Just a straight answer to \"Can I afford this today?\"\n\nWeekly pay has its upsides, honestly. You get more chances to course-correct and more say over where the money goes. It just needs a tool built for that rhythm, and we'd like to hear from you about what's been the hardest part of budgeting.",
    "humanizer": {
      "initial_score": 0.42,
      "final_score": 0.62,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 1,
      "would_skip_by_default": false
    },
    "before": {
      "words": 186,
      "human_score": 0.42,
      "tells_per1000": 0,
      "contractions_per1000": 48.387,
      "avg_sentence_length": 9.789,
      "sentence_length_variance": 30.903,
      "comma_density": 0.474,
      "em_dashes_per1000": 0,
      "voice_match": 0.79
    },
    "after": {
      "words": 177,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 33.898,
      "avg_sentence_length": 9.316,
      "sentence_length_variance": 47.9,
      "comma_density": 0.368,
      "em_dashes_per1000": 0,
      "voice_match": 0.75
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.74
    },
    "measuredAt": "2026-11-10T09:16:32.658Z"
  },
  {
    "id": "P08",
    "format": "launch-email",
    "topic": 2,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "Subject: Paid weekly? Meet a budget that keeps up.\n\nHi there,\n\nMost budgeting apps think in months. Your paycheck arrives every week.\n\nMeet Weekwise, a budgeting app built around the way you get paid. It helps you plan each paycheck, set money aside for upcoming bills, and see what’s available to spend before your next payday.\n\nNo more treating a Friday deposit like extra cash, then scrambling when rent comes due. With Weekwise, you can give this week’s money a plan while keeping next month’s expenses in view.\n\nUse Weekwise to:\n\n• Build a weekly budget around your payday.\n• Put a little aside each week for bigger bills.\n• Make room for groceries, savings, and everyday fun.\n• Adjust your plan when your hours or income change.\n\nWhether your paychecks are steady or different every week, you deserve a budget that fits your life. Start with your next paycheck and take it one week at a time.\n\nReady to feel more prepared on payday?\n\nTry Weekwise today and make a plan for the week ahead.\n\nThe Weekwise Team",
    "humanised": "Subject: Paid weekly? Here's a budget that keeps up.\n\nHi there,\n\nMost budgeting apps think in months. Your paycheck doesn't. It lands every week.\n\nWeekwise is a budgeting app built around how you actually get paid. You plan each paycheck, put money aside for upcoming bills, and see what's free to spend before the next payday rolls around.\n\nA Friday deposit isn't spare cash. Treat it like it is and rent turns into a scramble. With Weekwise you give this week's money a job while next month's expenses stay where you can see them.\n\nWhat it does:\n\n• Builds a weekly budget around your payday.\n• Sets a little aside each week for bigger bills.\n• Leaves room for groceries and savings, and some fun money too.\n• Lets you adjust the plan when your hours or income change.\n\nMaybe your paychecks are steady. Maybe they swing from one week to the next, and that's fine, since the plan can bend with them. Start with your next paycheck.\n\nYou can try Weekwise today and plan the week ahead.\n\nThe Weekwise Team",
    "humanizer": {
      "initial_score": 0.22,
      "final_score": 0.42,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 179,
      "human_score": 0.22,
      "tells_per1000": 0,
      "contractions_per1000": 16.76,
      "avg_sentence_length": 9.421,
      "sentence_length_variance": 29.296,
      "comma_density": 0.474,
      "em_dashes_per1000": 0,
      "voice_match": 0.84
    },
    "after": {
      "words": 181,
      "human_score": 0.42,
      "tells_per1000": 0,
      "contractions_per1000": 38.674,
      "avg_sentence_length": 8.619,
      "sentence_length_variance": 32.236,
      "comma_density": 0.286,
      "em_dashes_per1000": 0,
      "voice_match": 0.75
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.677
    },
    "measuredAt": "2026-11-10T09:17:01.357Z"
  },
  {
    "id": "P09",
    "format": "explainer",
    "topic": 2,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "Weekly budgeting and monthly budgeting both aim to match spending to income, but they differ in rhythm and precision.\n\n**Monthly budgeting** lines up with how most bills work. Rent, utilities, subscriptions, and loan payments arrive monthly, and many people are paid monthly too. You plan once, set category limits, and review at month's end. It's simple and low-maintenance, but a single month is a long window. It's easy to overspend early and only notice when money runs short in week three.\n\n**Weekly budgeting** splits your spending into smaller, more manageable chunks. You assign a set amount each week for flexible categories like groceries, fuel, and entertainment. Because the feedback loop is shorter, you can correct course quickly. If you overspend on Tuesday, you adjust by Friday rather than discovering the problem weeks later. This suits people with irregular income, tight margins, or a habit of overspending on small purchases.\n\nThe main challenge is that months don't divide evenly into four weeks. Most months have extra days, and a few contain five paydays, which can confuse the math. Fixed bills also don't fall neatly into weekly slots, so many people set aside a portion of each week's income to cover them.\n\nA practical approach is to combine the two. Plan fixed costs monthly, then break flexible spending into weekly allowances. You get the structure of a monthly plan and the control of a weekly check-in.",
    "humanised": "Weekly and monthly budgeting both try to match spending to income. The speed is different, and so is how closely you're watching.\n\n### Monthly budgeting\n\nMost bills land monthly anyway. Rent, utilities, subscriptions, loan payments, and plenty of people get paid monthly too. So you plan once, set limits for each category, and look it over when the month ends. It's easy and takes almost no upkeep. The catch is the gap. A month is a long time to go without checking, and if you overspend early you may not notice until week three, when the money's already thin.\n\n### Weekly budgeting\n\nThis one chops flexible spending into smaller pieces. Each week gets a set amount for groceries, fuel, entertainment and the like. You see results sooner, so a mistake is quick to fix. Blow the budget on Tuesday and you can pull back by Friday instead of finding out weeks later. People with irregular income or tight margins tend to like it. So do people who leak money through lots of small purchases.\n\nMonths don't split cleanly into four weeks, and that's the real headache. Most have a few extra days. Some have five paydays, which throws the math off. Fixed bills don't sit in tidy weekly slots either, so plenty of people set aside part of each week's income just to cover them.\n\n### Using both\n\nPlenty of people do this in practice. Fixed costs get planned monthly, and flexible spending gets broken into weekly allowances. The month keeps its overall shape, and you still check in every week, though the five-payday months will still be annoying.",
    "humanizer": {
      "initial_score": 0.42,
      "final_score": 0.62,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 234,
      "human_score": 0.42,
      "tells_per1000": 0,
      "contractions_per1000": 25.641,
      "avg_sentence_length": 13.765,
      "sentence_length_variance": 13.709,
      "comma_density": 1.118,
      "em_dashes_per1000": 0,
      "voice_match": 0.76
    },
    "after": {
      "words": 269,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 26.316,
      "avg_sentence_length": 11.083,
      "sentence_length_variance": 41.993,
      "comma_density": 0.75,
      "em_dashes_per1000": 0,
      "voice_match": 0.73
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.551
    },
    "measuredAt": "2026-11-10T09:17:34.598Z"
  },
  {
    "id": "P10",
    "format": "about-page",
    "topic": 2,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "Your bills arrive monthly. Your paycheck arrives weekly. Making the two work together shouldn’t take a spreadsheet and your entire Sunday.\n\nWe’re building a budgeting app around the way you get paid. It’s for people who want to know what this week’s money needs to cover, what to set aside for later, and what’s available to spend today.\n\nOur approach is simple: give every payday a clear plan. Break bigger bills into weekly amounts. Make room for groceries, transport, and the occasional takeaway. Build savings at a pace that fits your life, even when some weeks leave less room than others.\n\nWe believe a useful budget starts with your real circumstances. That means no guilt over a tight week, no assumption that you have a month’s expenses sitting in reserve, and no expectation that you’ll get everything right straight away.\n\nWe’re here to make the days between paychecks feel more manageable. Whether you’re finding your footing or working towards something bigger, our aim is to help you see where you stand and take your next step with confidence, one week at a time.",
    "humanised": "Rent, phone, insurance: those come due once a month. Pay lands every week. Lining them up shouldn't take a spreadsheet and your whole Sunday.\n\nWe're building a budgeting app around how you actually get paid. It's for people who want to know what this week's money has to cover, what needs setting aside for later, and what they can spend today.\n\nThe idea is simple. Every payday gets its own plan. Bigger bills get chopped into weekly amounts, and there's room left over for groceries, the occasional takeaway, and transport somewhere in the mix. Savings build up at whatever pace suits you, even if some weeks leave next to nothing.\n\nA useful budget has to start from your real circumstances. Tight week? No guilt. We won't assume you've got a month of expenses tucked away. And we don't expect you to nail it on day one.\n\nThe days between paychecks can be rough. You might still be finding your feet, or you might be saving for something big. Whichever it is, we want you to be able to open the app and see what's left this week, and what comes next.",
    "humanizer": {
      "initial_score": 0.42,
      "final_score": 0.62,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 1,
      "would_skip_by_default": false
    },
    "before": {
      "words": 183,
      "human_score": 0.42,
      "tells_per1000": 0,
      "contractions_per1000": 49.18,
      "avg_sentence_length": 14.077,
      "sentence_length_variance": 80.686,
      "comma_density": 0.692,
      "em_dashes_per1000": 0,
      "voice_match": 0.75
    },
    "after": {
      "words": 191,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 47.12,
      "avg_sentence_length": 11.235,
      "sentence_length_variance": 50.533,
      "comma_density": 0.647,
      "em_dashes_per1000": 0,
      "voice_match": 0.79
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.536
    },
    "measuredAt": "2026-11-10T09:18:04.813Z"
  },
  {
    "id": "P11",
    "format": "blog-intro",
    "topic": 3,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "The alarm went off at 5:40 a.m., and for a full minute I lay there negotiating with myself. I was forty-three. My knees had opinions about stairs. The last time I'd run anywhere on purpose was a school cross-country race, and I'd finished it walking, furious, and vowing never again.\n\nSo why was I lacing up a pair of cheap trainers in the dark?\n\nHonestly, it wasn't a grand epiphany. There was no health scare, no milestone birthday crisis, no inspirational documentary. It was a small, quiet realisation that I'd been saying \"I used to be able to\" a lot lately. I used to be able to carry the shopping in one trip. I used to be able to keep up with my kids at the park. It had crept into my vocabulary like a slow leak.\n\nMy first run lasted ninety seconds. I know because I checked my watch, certain I'd done at least ten minutes. My lungs burned, my face went the colour of a boiled beetroot, and a man walking a spaniel passed me without apparent effort.\n\nAnd yet, when I got home, I felt something I hadn't felt in years: the strange, bright satisfaction of having started.",
    "humanised": "The alarm went off at 5:40 a.m., and for a full minute I lay there negotiating with myself. I was forty-three. My knees had opinions about stairs. The last time I'd run anywhere on purpose was a school cross-country race, and I'd finished it walking, furious, and vowing never again.\n\nSo why was I lacing up a pair of cheap trainers in the dark?\n\nHonestly, it wasn't a grand epiphany. There was no health scare, no milestone birthday crisis, no inspirational documentary. It was a small, quiet realisation that I'd been saying \"I used to be able to\" a lot lately. I used to be able to carry the shopping in one trip. I used to be able to keep up with my kids at the park. It had crept into my vocabulary like a slow leak.\n\nMy first run lasted ninety seconds. I know because I checked my watch, certain I'd done at least ten minutes. My lungs burned, my face went the colour of a boiled beetroot, and a man walking a spaniel passed me without apparent effort.\n\nAnd yet, when I got home, I felt something I hadn't felt in years: the strange, bright satisfaction of having started.",
    "humanizer": {
      "initial_score": 0.82,
      "final_score": 0.82,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 3,
      "would_skip_by_default": false
    },
    "before": {
      "words": 201,
      "human_score": 0.82,
      "tells_per1000": 0,
      "contractions_per1000": 29.851,
      "avg_sentence_length": 13.4,
      "sentence_length_variance": 38.907,
      "comma_density": 0.933,
      "em_dashes_per1000": 0,
      "voice_match": 0.86
    },
    "after": {
      "words": 201,
      "human_score": 0.82,
      "tells_per1000": 0,
      "contractions_per1000": 29.851,
      "avg_sentence_length": 13.4,
      "sentence_length_variance": 38.907,
      "comma_density": 0.933,
      "em_dashes_per1000": 0,
      "voice_match": 0.86
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 1
    },
    "measuredAt": "2026-11-10T09:18:28.597Z"
  },
  {
    "id": "P12",
    "format": "linkedin-post",
    "topic": 3,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "Starting running in your forties means making peace with being a beginner when you’re used to knowing what you’re doing.\n\nYou can manage a team, navigate a difficult conversation, and keep a household moving. Then a gentle incline leaves you wondering whether you’ve ever breathed properly before.\n\nThe first few runs can feel awkward. You walk more than you expected. You get overtaken. You discover strong opinions about socks.\n\nBut there’s something satisfying about having a goal as simple as getting to the next lamppost.\n\nGradually, you notice changes. The hill gets easier. You recover faster. You start looking forward to the half hour when nobody needs anything from you.\n\nThere’s no need to turn it into a marathon ambition or another performance metric. Running twice a week, slowly, counts.\n\nI like the idea that your forties can still contain first attempts.\n\nEven the ones that require a walking break.",
    "humanised": "Starting to run in your forties means being a beginner again, which is odd when you're used to being good at things.\n\nYou can manage a team. You can get through a hard conversation and keep a household ticking over. Then a mild incline has you wondering if you've ever breathed properly in your life.\n\nThe first few runs are awkward. You walk more than you meant to, and people overtake you. Somewhere in there you develop strong feelings about socks.\n\nStill, getting to the next lamppost is a decent goal. Small, and you can see it.\n\nAfter a while things shift. The hill stops being a hill, more or less. You bounce back sooner afterwards, and you catch yourself looking forward to the half hour when nobody needs a thing from you.\n\nDon't bother turning it into a marathon plan or one more number to track. Twice a week, slowly, is running.\n\nI do like that your forties can still hold a first attempt. Mine includes a walking break around the bend by the postbox.",
    "humanizer": {
      "initial_score": 0.62,
      "final_score": 0.72,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 150,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 33.333,
      "avg_sentence_length": 9.375,
      "sentence_length_variance": 26.359,
      "comma_density": 0.313,
      "em_dashes_per1000": 0,
      "voice_match": 0.75
    },
    "after": {
      "words": 176,
      "human_score": 0.72,
      "tells_per1000": 0,
      "contractions_per1000": 17.045,
      "avg_sentence_length": 11,
      "sentence_length_variance": 26.75,
      "comma_density": 0.5,
      "em_dashes_per1000": 0,
      "voice_match": 0.77
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.519
    },
    "measuredAt": "2026-11-10T09:19:00.596Z"
  },
  {
    "id": "P13",
    "format": "launch-email",
    "topic": 3,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "**Subject: Lace up. It's never too late to start running.**\n\nHi there,\n\nThinking about running but not sure where to begin? You're in good company.\n\nWe're launching a beginners' running club made just for people over forty. No pressure, no racing, and no one left behind.\n\n**What to expect:**\n- A friendly, supportive group at your pace\n- A gentle 8-week plan that builds from walking to your first 5K\n- Experienced coaches who understand aging joints, busy schedules, and starting fresh\n- Tea and a chat afterwards\n\nYou don't need fancy kit or a fitness background. Whether you haven't run since school or have never run at all, you're welcome.\n\nMany of our members tell us they feel stronger, sleep better, and have made friends they now see every week. That's the real finish line.\n\n**Details:**\n- **Start date:** Saturday, 7 November\n- **Time:** 9:00 a.m.\n- **Meeting point:** Riverside Park main gate\n- **Cost:** £30 for the full 8 weeks\n\nPlaces are limited to 30 runners so everyone gets proper attention.\n\nReady to take the first step? Reserve your spot today.\n\n**[Join the Club]**\n\nSee you at the start line,\n\nThe Over-Forty Running Club Team",
    "humanised": "**Subject: Lace up. It's never too late to start running.**\n\nHi there,\n\nMaybe you've been meaning to try running and never worked out where to begin. Lots of people haven't.\n\nWe're starting a beginners' running club for anyone over forty. There's no racing, no clock-watching. If you fall behind, someone waits.\n\n**What to expect:**\n- A supportive group where you choose your own pace\n- An 8-week plan that eases you from walking up to your first 5K\n- Coaches who know about aging joints and busy schedules, and what it's like to start from scratch\n- Tea and a chat afterwards\n\nYou don't need fancy kit or a fitness background. Haven't run since school? Never run at all? Come anyway.\n\nPlenty of our members say they feel stronger and sleep better. A few have ended up with friends they see every week, which is probably the part they didn't see coming.\n\n**Details:**\n- **Start date:** Saturday, 7 November\n- **Time:** 9:00 a.m.\n- **Meeting point:** Riverside Park main gate\n- **Cost:** £30 for the full 8 weeks\n\nWe're keeping it to 30 runners so everyone gets proper attention. Places go quickly.\n\nIf you'd like to give it a go, reserve your spot today.\n\n**[Join the Club]**\n\nSee you at the start line,\n\nThe Over-Forty Running Club Team",
    "humanizer": {
      "initial_score": 0.55,
      "final_score": 0.82,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 197,
      "human_score": 0.55,
      "tells_per1000": 0,
      "contractions_per1000": 35.533,
      "avg_sentence_length": 7.538,
      "sentence_length_variance": 16.864,
      "comma_density": 0.423,
      "em_dashes_per1000": 0,
      "voice_match": 0.66
    },
    "after": {
      "words": 218,
      "human_score": 0.82,
      "tells_per1000": 0,
      "contractions_per1000": 50.459,
      "avg_sentence_length": 7.483,
      "sentence_length_variance": 21.491,
      "comma_density": 0.276,
      "em_dashes_per1000": 0,
      "voice_match": 0.71
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.764
    },
    "measuredAt": "2026-11-10T09:19:30.960Z"
  },
  {
    "id": "P14",
    "format": "explainer",
    "topic": 3,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "Starting running after forty is a realistic goal. Give yourself time to adapt, especially if you have been inactive. If you have a medical condition, concerns about your health, or have not exercised for some time, speak with a clinician before starting, as the [NHS advises](https://www.nhs.uk/live-well/exercise/physical-activity-guidelines-for-adults-aged-19-to-64/).\n\nBegin with walking, then introduce short jogging intervals. A practical first session is a five-minute warm-up walk followed by alternating one minute of gentle jogging with ninety seconds of walking. Keep the effort comfortable and finish with another walk. Aim for three sessions a week, with a rest day between them. The [NHS Couch to 5K plan](https://www.nhs.uk/better-health/get-active/get-running-with-couch-to-5k/couch-to-5k-running-plan/) provides a gradual structure; repeat weeks whenever you need more time.\n\nBuild your running time gradually before chasing speed. Add strength exercises twice weekly, starting gently with movements such as chair squats, calf raises and wall push-ups. This supports the broader [activity guidelines for adults](https://www.nhs.uk/live-well/exercise/physical-activity-guidelines-for-adults-aged-19-to-64/).\n\nPay attention to recovery. Stop if running causes pain, particularly pain that worsens or changes your stride. Seek advice if it persists, following [NHS injury guidance](https://www.nhs.uk/live-well/exercise/knee-pain-and-other-running-injuries/). Choose manageable sessions you can repeat consistently, and let progress take the time it needs.",
    "humanised": "You can start running after forty, and plenty of people do. Give yourself time to adapt, especially if you've been inactive for a while. If you've got a medical condition, any worries about your health, or you haven't exercised in ages, talk to a clinician first. The [NHS advises](https://www.nhs.uk/live-well/exercise/physical-activity-guidelines-for-adults-aged-19-to-64/) the same.\n\nStart with walking, then work in short jogging intervals. Here's a first session that works: five minutes of warm-up walking, then one minute of gentle jogging, then ninety seconds of walking, and repeat. Keep it comfortable. Finish with another walk. Three sessions a week is plenty, with a rest day between each. The [NHS Couch to 5K plan](https://www.nhs.uk/better-health/get-active/get-running-with-couch-to-5k/couch-to-5k-running-plan/) lays this out week by week, and you can repeat any week if you're not ready to move on.\n\nDon't chase speed yet. Build up how long you can run first. Twice a week, add some strength work, and keep it easy at the start: chair squats, calf raises, wall push-ups. It fits with the wider [activity guidelines for adults](https://www.nhs.uk/live-well/exercise/physical-activity-guidelines-for-adults-aged-19-to-64/).\n\nRecovery matters too. If running hurts, stop, especially if the pain gets worse or changes how you stride. If it hangs around, get advice; the [NHS injury guidance](https://www.nhs.uk/live-well/exercise/knee-pain-and-other-running-injuries/) is a decent place to begin. Pick sessions you can actually repeat week after week.",
    "humanizer": {
      "initial_score": 0.35,
      "final_score": 0.62,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 189,
      "human_score": 0.35,
      "tells_per1000": 0,
      "contractions_per1000": 0,
      "avg_sentence_length": 12.6,
      "sentence_length_variance": 35.84,
      "comma_density": 0.8,
      "em_dashes_per1000": 0,
      "voice_match": 0.67
    },
    "after": {
      "words": 212,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 28.302,
      "avg_sentence_length": 11.778,
      "sentence_length_variance": 49.173,
      "comma_density": 1,
      "em_dashes_per1000": 0,
      "voice_match": 0.76
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.687
    },
    "measuredAt": "2026-11-10T09:20:10.227Z"
  },
  {
    "id": "P15",
    "format": "about-page",
    "topic": 3,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "Who We Are\n\nWe're a friendly running club for beginners over forty. Maybe you've never run before. Maybe you last laced up trainers at school, or you're coming back after a long break. Either way, you're in the right place.\n\nWe started because we believed running should be for everyone, not just the young and the fast. Our members come from all walks of life, and most of us began with a few minutes of jogging and a lot of nerves. Now we're hooked.\n\nOur sessions are relaxed and welcoming. We mix walking and running, build up slowly, and never leave anyone behind. Our qualified coaches keep things safe and encouraging, with advice on pacing, footwear, and looking after your joints as you go. There's no pressure and no judgement, and nobody's counting minutes except to cheer you on.\n\nMany of us joined for fitness, but we stay for the company. There's tea and a chat after every run, and friendships that reach well beyond the park.\n\nCome along to a free taster session. Wear comfortable shoes, bring a bottle of water, and we'll take care of the rest. Your first step is the hardest, and we'll be right beside you.",
    "humanised": "Who We Are\n\nWe're a running club for beginners over forty. You might never have run at all. Or the last time you laced up trainers was at school, or you're coming back after years away. Either way, you're in the right place.\n\nRunning shouldn't belong only to the young and the fast, and that's why we started. Our members come from all sorts of backgrounds. Most of us began with a few minutes of jogging and a fair bit of dread. Now we can't stop.\n\nSessions are relaxed. We mix walking and running, build up slowly, and nobody gets left behind. Our qualified coaches keep things safe and encouraging. Along the way they'll talk you through pacing and what to put on your feet, plus how to look after your joints. Nobody's timing you. If anyone's watching the clock, it's only so they can cheer.\n\nA lot of us joined for fitness, though it's the company that keeps us turning up. After every run there's tea and a natter. Some of the friendships have gone well beyond the park, into birthdays and the odd holiday.\n\nCome to a free taster session. Comfortable shoes help, and a bottle of water. The rest is on us.",
    "humanizer": {
      "initial_score": 0.55,
      "final_score": 0.82,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 201,
      "human_score": 0.55,
      "tells_per1000": 0,
      "contractions_per1000": 49.751,
      "avg_sentence_length": 11.824,
      "sentence_length_variance": 35.675,
      "comma_density": 0.882,
      "em_dashes_per1000": 0,
      "voice_match": 0.67
    },
    "after": {
      "words": 205,
      "human_score": 0.82,
      "tells_per1000": 0,
      "contractions_per1000": 58.537,
      "avg_sentence_length": 9.762,
      "sentence_length_variance": 29.134,
      "comma_density": 0.476,
      "em_dashes_per1000": 0,
      "voice_match": 0.6
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.646
    },
    "measuredAt": "2026-11-10T09:20:40.795Z"
  },
  {
    "id": "P16",
    "format": "blog-intro",
    "topic": 4,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "At 5:30 each morning, the bakery’s windows are already fogged with warmth. Inside, trays of croissants wait their turn at the oven, flour gathers in the seams of the workbench, and someone puts the kettle on before the first customer reaches the door. It’s a familiar routine, built over years of early starts and small adjustments. Soon, it will happen at two addresses.\n\nThis autumn, the independent bakery is opening its second shop—a milestone that once felt distant when the team was still figuring out how many loaves to bake on a rainy Tuesday.\n\nThe first shop grew one regular at a time: commuters stopping for coffee, neighbours collecting their weekend bread, children choosing a biscuit with the seriousness the decision deserves. Those everyday visits made a second location possible. They also set the standard for what it needs to be.\n\nThere will be more oven space, a few new faces behind the counter, and another neighbourhood to get to know. Some details will take time to settle. Which pastries will sell out first? When will the morning rush arrive? For the team, that’s part of the pleasure: opening the doors, learning names, and finding a place in another street’s daily life.",
    "humanised": "At 5:30 each morning, the bakery's windows are already fogged with warmth. Inside, trays of croissants wait their turn at the oven and flour gathers in the seams of the workbench. Someone puts the kettle on before the first customer reaches the door. The routine took years of early starts to build. Soon it'll happen at two addresses.\n\nThis autumn, the independent bakery is opening its second shop. Not long ago that felt a long way off, back when the team was still guessing how many loaves to bake on a rainy Tuesday.\n\nThe first shop grew one regular at a time. Commuters stopped in for coffee, neighbours collected their weekend bread, and kids stood at the counter taking forever over which biscuit to pick. Those visits made a second location possible. They also set the bar for what it needs to be.\n\nThere'll be more oven space, a few new faces behind the counter, and another neighbourhood to get to know. Some details will take time to settle. Which pastries will sell out first? When does the morning rush hit? Nobody knows yet. The team seems happy enough to find out, opening the doors and learning names on a street they haven't worked before.",
    "humanizer": {
      "initial_score": 0.55,
      "final_score": 0.62,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 202,
      "human_score": 0.55,
      "tells_per1000": 0,
      "contractions_per1000": 19.802,
      "avg_sentence_length": 15.538,
      "sentence_length_variance": 86.095,
      "comma_density": 1.077,
      "em_dashes_per1000": 4.95,
      "voice_match": 0.76
    },
    "after": {
      "words": 205,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 19.512,
      "avg_sentence_length": 12.059,
      "sentence_length_variance": 42.997,
      "comma_density": 0.529,
      "em_dashes_per1000": 0,
      "voice_match": 0.82
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.763
    },
    "measuredAt": "2026-11-10T09:21:09.244Z"
  },
  {
    "id": "P17",
    "format": "linkedin-post",
    "topic": 4,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "Big news from the neighborhood: we're opening our second shop! 🥐\n\nThree years ago, we started with one oven, a handful of recipes, and a belief that good bread takes time. Today, that little corner bakery is about to become two.\n\nNone of this happened through big marketing budgets or outside investors. It happened because our regulars told their neighbors, our team showed up at 4 a.m. every day, and our community kept coming back for one more loaf.\n\nThe new location opens next month, and we're keeping what made the first one work: small batches, local ingredients, and a team that knows your name (and your usual order).\n\nA few lessons from growing an independent business:\n\n• Stay obsessed with quality before scaling\n• Hire people who care more than they need to\n• Listen to customers, because they'll tell you what's next\n\nTo everyone who bought a croissant, left a review, or simply said hello: thank you. You built this with us.\n\nSee you at the new counter. ☕\n\n#SmallBusiness #Bakery #LocalFirst #Entrepreneurship #ShopLocal",
    "humanised": "Big news from the neighborhood: we're opening a second shop! 🥐\n\nThree years ago it was one oven, a handful of recipes, and a stubborn idea that good bread takes time. Now that little corner bakery is turning into two.\n\nWe didn't get here with marketing money or investors. Our regulars told their neighbors. The team showed up at 4 a.m. every day, even in January, when the oven was the only warm thing in the building. And people kept coming back for one more loaf.\n\nThe new place opens next month. We're holding onto whatever made the first one work: small batches and local ingredients, plus people who know your name (and your usual order, usually before you've said it).\n\nA few things we picked up from running an independent shop. Get the quality right first, and scale later. Hire people who care more than the job strictly requires. And if you listen, customers will tell you what to do next.\n\nBought a croissant? Left a review? Said hello on your way past? Thank you. You built this with us.\n\nSee you at the new counter ☕\n\n#SmallBusiness #Bakery #LocalFirst #ShopLocal",
    "humanizer": {
      "initial_score": 0.62,
      "final_score": 0.78,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 176,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 22.727,
      "avg_sentence_length": 11.6,
      "sentence_length_variance": 39.707,
      "comma_density": 0.8,
      "em_dashes_per1000": 0,
      "voice_match": 0.73
    },
    "after": {
      "words": 192,
      "human_score": 0.78,
      "tells_per1000": 0,
      "contractions_per1000": 20.833,
      "avg_sentence_length": 9.095,
      "sentence_length_variance": 37.61,
      "comma_density": 0.381,
      "em_dashes_per1000": 0,
      "voice_match": 0.74
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.72
    },
    "measuredAt": "2026-11-10T09:21:40.541Z"
  },
  {
    "id": "P18",
    "format": "launch-email",
    "topic": 4,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "Subject: A second shop, a fresh batch of possibilities 🥐\n\nSome news we’ve been itching to share: we’re opening our second bakery!\n\nWhen we opened our first shop, we hoped to become a little part of your day. A warm loaf for the dinner table. A coffee on the way to work. Something sweet just because. Thanks to your visits, kind words, and enthusiastic pastry recommendations, we’re ready to bring that same welcome to a new neighborhood.\n\nOur second shop will have the favorites you know and love, baked fresh with the same care, alongside a few new treats we can’t wait for you to try. Expect buttery layers, golden crusts, and a friendly face behind the counter.\n\nWe’re still the same independent bakery, with flour on our aprons and plenty of ideas in the kitchen. Now there’s another place to pull up a chair or pick up something delicious.\n\nWe’ll share the address, opening date, and first-day festivities soon. Until then, thank you for helping us get here.\n\nWe can’t wait to open the doors and welcome you in.\n\nWith love,\nYour neighborhood bakery",
    "humanised": "Subject: A second shop, a fresh batch of possibilities 🥐\n\nBig news, and we've been sitting on it a while: there's going to be a second bakery.\n\nWhen the first shop opened, all we wanted was to be part of your day. A warm loaf for the dinner table, a coffee on the way to work, a sweet thing with no reason attached. You came in and you were kind to us. You told us which pastries to make more of (loudly, sometimes). So now we're taking all of that to a new neighborhood.\n\nThe second shop will carry the favorites you already know, baked fresh the way we've always done them, plus a few new treats we're itching to put in front of you. Expect buttery layers and golden crusts. And somebody friendly behind the counter.\n\nIt's still independent. Flour on the aprons, too many ideas in the kitchen. Now there's one more spot where you can pull up a chair or grab something delicious and go.\n\nAddress, opening date, and whatever we plan for the first day are coming soon. Honestly we owe you a lot for getting us this far, and we haven't figured out how to say it properly.\n\nSee you at the new place,\nYour neighborhood bakery",
    "humanizer": {
      "initial_score": 0.55,
      "final_score": 0.78,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 185,
      "human_score": 0.55,
      "tells_per1000": 0,
      "contractions_per1000": 43.243,
      "avg_sentence_length": 11.563,
      "sentence_length_variance": 45.996,
      "comma_density": 0.875,
      "em_dashes_per1000": 0,
      "voice_match": 0.6
    },
    "after": {
      "words": 212,
      "human_score": 0.78,
      "tells_per1000": 4.7,
      "contractions_per1000": 37.736,
      "avg_sentence_length": 12.471,
      "sentence_length_variance": 51.896,
      "comma_density": 0.765,
      "em_dashes_per1000": 0,
      "voice_match": 0.68
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.6
    },
    "measuredAt": "2026-11-10T09:22:14.636Z"
  },
  {
    "id": "P19",
    "format": "explainer",
    "topic": 4,
    "generator": "claude",
    "model": "claude-sonnet-5-5",
    "original": "Sourdough takes longer because it rises using wild yeast and bacteria rather than the fast-acting commercial yeast in ordinary bread.\n\nCommercial yeast is a single, concentrated strain bred for speed. It produces gas quickly, so a standard loaf can be mixed, risen and baked in a few hours.\n\nA sourdough starter is different. It's a living culture of wild yeast and lactic acid bacteria, kept alive on flour and water. The yeast population is much smaller and more varied, so it produces carbon dioxide far more slowly. The dough needs many hours to rise, and the first rise often runs eight to twelve hours or longer.\n\nThe bacteria also set the pace. They produce the acids that give sourdough its tang, and they do it slowly. Bakers often chill the dough overnight to develop flavour, which extends the process further. The acidity also slows the yeast, because the dough becomes a more demanding environment for it.\n\nThose same long hours change the bread. Enzymes break down starches and proteins, which deepens the flavour and improves the crust. The acids help the loaf keep longer and may make some of the flour's compounds easier to digest.\n\nA starter also has to be fed and kept active for days or weeks before it can raise a loaf at all.\n\nSo the extra time is the cost of the method, and it's also where sourdough gets its character.",
    "humanised": "Sourdough takes longer because it rises on wild yeast and bacteria instead of the fast commercial yeast in ordinary bread.\n\nCommercial yeast is one concentrated strain, bred for speed. Gas comes fast. A standard loaf can be mixed, risen and baked in a few hours, start to finish.\n\nA sourdough starter is a different animal. It's a living culture of wild yeast and lactic acid bacteria, kept alive on flour and water. Way less yeast in there, and a messier mix of types, so the carbon dioxide trickles out. The first rise often runs eight to twelve hours, sometimes longer than that.\n\nThe bacteria aren't rushing anyone either. They produce the acids that give sourdough its tang, and they take their time doing it. Plenty of bakers chill the dough overnight to pull out more flavour, which adds even more hours. Then there's the acidity, which slows the yeast too, because the more acid the dough gets, the worse a spot it is for yeast to work in.\n\nLong hours change the bread itself. Enzymes chew through starches and proteins, so the flavour gets deeper and the crust comes out better. The acids help a loaf keep longer. They may also make some compounds in the flour easier to digest.\n\nAnd before any of that, the starter needs feeding and tending for days or weeks. No loaf until it's active.\n\nYou pay for all this in time, and that's where the flavour comes from.",
    "humanizer": {
      "initial_score": 0.42,
      "final_score": 0.62,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 235,
      "human_score": 0.42,
      "tells_per1000": 0,
      "contractions_per1000": 12.766,
      "avg_sentence_length": 14.688,
      "sentence_length_variance": 24.84,
      "comma_density": 0.688,
      "em_dashes_per1000": 0,
      "voice_match": 0.73
    },
    "after": {
      "words": 244,
      "human_score": 0.62,
      "tells_per1000": 0,
      "contractions_per1000": 20.492,
      "avg_sentence_length": 12.842,
      "sentence_length_variance": 35.922,
      "comma_density": 0.789,
      "em_dashes_per1000": 0,
      "voice_match": 0.84
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.711
    },
    "measuredAt": "2026-11-10T09:22:47.181Z"
  },
  {
    "id": "P20",
    "format": "about-page",
    "topic": 4,
    "generator": "gpt",
    "model": "gpt-6-astra",
    "original": "We’re an independent neighbourhood bakery built around a simple pleasure: something freshly baked, shared with people you’re glad to see.\n\nOur days start early, with flour on the benches and dough ready for the ovens. We make bread with a good crust and a soft centre, pastries that leave a few flakes on your jumper, and cakes that turn an ordinary afternoon into a small occasion. We care about how things taste, and we put time and attention into getting them right.\n\nBut a bakery is more than what’s behind the counter. It’s a stop on the walk to work, a weekend ritual, a place to pick up something for a friend—or just for yourself. We love getting to know familiar faces and welcoming new ones.\n\nBeing independent means we can follow our curiosity, listen to our neighbours, and keep making the things you come back for. Some favourites stay; others change with the seasons.\n\nWhether you’re here for your usual loaf or deciding what looks good today, we’re happy you found us. Come in, take your time, and leave with something you’ll enjoy.",
    "humanised": "We're an independent neighbourhood bakery. Fresh food is the whole point for us. So is sharing it with people we're glad to see.\n\nThe ovens go on early. By the time anyone's awake, flour's already on the benches and the dough is waiting, and the bread comes out with a proper crust and a soft middle. Pastries shed flakes down your jumper. Cakes can make a dull Tuesday afternoon feel like something, which is why we spend real time getting the taste right.\n\nA bakery isn't only what's behind the counter, though. People drop in on the way to work. Or it turns into their Saturday habit. Some grab something for a friend (or for themselves, no judgement), and we learn faces, new ones too.\n\nBecause we're independent, we chase whatever interests us and listen to the neighbours. Then we keep making the things you come back for. A few favourites never leave. The seasons decide the rest.\n\nIf you're after your usual loaf, it's probably on the shelf. If you're staring at everything wondering what looks good today, take your time. No rush.",
    "humanizer": {
      "initial_score": 0.55,
      "final_score": 0.72,
      "reached_target": false,
      "iterations_run": 3,
      "discarded_passes": 0,
      "would_skip_by_default": false
    },
    "before": {
      "words": 184,
      "human_score": 0.55,
      "tells_per1000": 0,
      "contractions_per1000": 38.043,
      "avg_sentence_length": 16.727,
      "sentence_length_variance": 42.198,
      "comma_density": 1.091,
      "em_dashes_per1000": 5.435,
      "voice_match": 0.7
    },
    "after": {
      "words": 184,
      "human_score": 0.72,
      "tells_per1000": 0,
      "contractions_per1000": 54.348,
      "avg_sentence_length": 10.222,
      "sentence_length_variance": 40.284,
      "comma_density": 0.556,
      "em_dashes_per1000": 0,
      "voice_match": 0.63
    },
    "content": {
      "numbers_lost": [],
      "numbers_added": [],
      "invented_first_person": [],
      "content_words_kept": 0.541
    },
    "measuredAt": "2026-11-10T09:23:19.695Z"
  }
]
