Skip to content
Get in touchContact

Taking on projects for early 2027

Your team shouldn’t be the integration.

I’m Tom, a software developer in Lancashire. I build web apps, integrations, automations and practical AI for businesses that have outgrown spreadsheets and copy-paste.

orders / new-order-flow
Order placed
Storefront40 ms
Payment captured
Stripe310 ms
Stock reserved
Inventory25 ms
Invoice raised
Xero420 ms
Confirmation sent
Email180 ms
Ready to pack
Back office15 ms
  1. Order placed
    Storefront40 ms
  2. Payment captured
    Stripe310 ms
  3. Stock reserved
    Inventory25 ms
  4. Invoice raised
    Xero420 ms
  5. Confirmation sent
    Email180 ms
  6. Ready to pack
    Back office15 ms
event log · #1042
    per order
    0.79 s
    staff time / 40 orders
    0 hrs
    One order, five systems, automated and by hand in turn. Pick “Before” or “After” to hold one.Illustrative timings

    Where the time goes

    Which one sounds like your week?

    You keep the tools you already use. I connect them, so orders, invoices and updates move on their own and nobody types them in twice.

    Show the diagram

    Now: One file, five editors, no history. Somebody sorted column B last Tuesday and nobody has noticed yet.

    After: A back office built around your records, with roles, a record of every change and one source of truth.

    That’s me: start here →

    Now: Shop to payments to accounts to courier, by hand, with a typo waiting at every step.

    After: Your systems talk to each other directly. Every order is keyed in once, checked, and tried again if a service is down.

    That’s me: start here →

    Now: Exports, VLOOKUPs and a chart that’s out of date by Monday.

    After: A dashboard that updates as things happen, with the numbers you actually decide on.

    That’s me: start here →

    Now: “Has this been sent?” “Did they pay?” “Who’s got this one?”

    After: Status changes trigger the right message to the right person, and customers can check for themselves.

    That’s me: start here →

    Now: You pay for an off-the-shelf tool and work around it every day.

    After: A focused web app shaped to how your team really works, connected to the tools you keep.

    That’s me: start here →
    Under the hood
    Four layers. Your tools stay where they are. An integration layer takes events in (a webhook, an API call or a CSV drop where that’s all a system offers), queues them, writes each one exactly once (idempotent), retries with backoff and tells a person if it still fails; every run is logged and can be replayed. The back office is a web app over a relational database: one source of truth, role-based access, an append-only audit log of every write and two-factor sign-in for staff. Dashboards, messages, reports and AI read from it. Two-way sync where the other system allows it, with conflict rules agreed up front.

    Keep your tools

    Work with what you already use.

    Nothing to rip out and no new system for your team to learn. If yours isn’t here, I’ll find a way in.

    • Stripe
    • Xero
    • QuickBooks
    • Shopify
    • WooCommerce
    • Square
    • GoCardless
    • Sage
    • Royal Mail
    • DPD
    • Google Workspace
    • Microsoft 365
    • Slack
    • HubSpot
    • Mailchimp
    • Airtable
    • Notion
    • Calendly
    • Twilio
    • Any REST API

    Recent work

    Built for small teams doing a lot.

    Two recent builds, each a public site plus the back office that runs it.

    Live map
    GPS tracking
    Events
    Tracklists
    Gallery
    Shop
    Memberships
    Discord bot
    Back office
    Drum & Bass on the Bike2026

    Dom Whiting

    The website, back office and Discord bot behind the rides: events, tracklists, the gallery, the shop and memberships, plus a live map fed by a GPS tracker on the bike, which fans follow in real time.

    Events calendar
    Tickets
    Wallet passes
    Door scanner
    ID cards
    ID checks
    Shop & checkout
    Parcel lockers
    Back office
    Cheer competitions2026

    Revolution Cheer

    Everything around a competition: the season calendar, tickets with Apple and Google Wallet passes, a door scanner that works offline, ID-checked athlete cards and merch sent to parcel lockers, all run from one back office.

    Earlier, in-house

    Web apps for a vehicle retailer, before Schofield Development.

    Service booking

    A booking tool for vehicle servicing, so customers book work online instead of by phone.

    Vehicle valuation

    A valuation tool for customers selling or part-exchanging a vehicle.

    Earlier, in-house: service booking · vehicle valuation

    Web apps for a vehicle retailer, before Schofield Development.

    Service booking

    A booking tool for vehicle servicing, so customers book work online instead of by phone.

    Vehicle valuation

    A valuation tool for customers selling or part-exchanging a vehicle.

    Under the hood
    Built on the same foundations each time: a relational database, UK hosting, and hosted language models where AI is used.

    What I build

    Six things I build. Most projects use two or three.

    Pick one to see the kind of screen you’d get. You start with one job and add the rest as you go.

    Every change recorded. Each role sees only what it needs.

    backoffice / ordersIllustrative
    To pack
    12
    +3
    Revenue today
    £1,284
    +18%
    Low stock
    4
    items
    OrderCustomerTotalStatus
    #1048M. Patel09:12£86.40Paid
    #1047J. Holden08:55£142.00Packing
    #1046R. Okafor08:31£23.50Awaiting stock
    #1045S. ByrneYesterday£61.20Dispatched
    #1044L. MoreauYesterday£9.99Cancelled
    Under the hood
    A web app over a relational database that is the single source of truth. Role-based access, an append-only audit log of every write, two-factor sign-in for staff, and customer portals on the same records. UK hosting, with UK GDPR export and delete built in.

    Every order keyed in once.

    integrations / shop → accountsIllustrative
    Shop
    orders/paid webhook
    Accounts
    Invoices API
    Field mapping
    order.numberReference✓
    customer.emailContact.EmailAddress✓
    line_items[].skuLineItems[].ItemCode✓
    total_priceTotal (incl. VAT)✓
    shipping_lines[0]LineItems[] · Delivery✓
    Healthy1,920 synced this month · 3 retried · 0 failed
    Under the hood
    Webhooks or scheduled pulls into a queue; each event written once and retried with backoff, then handed to a person if it still fails. Every run is logged and replayable.

    Things happen on time without anyone having to remember.

    automations / low-stock re-orderIllustrative
    When
    Stock for any product falls below its re-order level
    And
    No open purchase order exists for it
    Then
    Email the supplier a purchase order, and flag it in the back office
    Recent runs
    09:00Weekly sales report emailed to 3 peopleDone
    08:41Supplier re-order: oat milk (4 left)Done
    08:12Reminder: collection slot at 10:30Done
    07:58Courier API timed out. Retried, succeededRetried
    Under the hood
    Jobs triggered by events or a schedule and run from a queue. Each run has an id, its inputs, its outputs and a status you can inspect. A failed run retries, then alerts a person, and can be replayed by hand once the cause is fixed.

    The reading gets done. The decision stays yours.

    accounts / billsIllustrative
    INV-88213.pdf · Northern Packaging Ltd
    500 × Kraft mailer box£0.44£220.00
    200 × Tissue sheet£0.15£30.00
    VAT 20%£50.00
    Total£300.00
    Read by the assistant
    SupplierNorthern Packaging Ltd
    InvoiceINV-88213 · due 12 Dec
    Total£300.00 incl. £50.00 VAT
    Mailer box£0.44 each, the order says £0.4010% above the order
    Suggested actionHold and query the supplier
    Under the hood
    Hosted language models returning structured output against a schema. See the three levels below.

    Welcome, follow-up and win-back sequences that run from your own records.

    email / win-back sequenceIllustrative
    1. Trigger
      No order for 60 days
      from back office · customers
    2. Email
      “We’ve kept your usual aside”
      sent 48 · opened 29
    3. Wait
      4 days
    4. If
      Opened, but no order
      yes 21 · no 27
    5. Email
      “Free delivery this week”
      sent 21 · ordered 6
    Add a step
    Email
    Wait
    If
    Tag customer
    Notify staff
    Under the hood
    Sequences triggered by events in the back office (an order, a booking, a quiet month), sent through your existing email provider’s API. Consent and unsubscribes are tracked per contact, and every send is recorded against the customer record so staff can see it.

    One dashboard instead of five spreadsheets.

    reports / this weekIllustrative
    Orders this week
    214
    +9% vs last week
    Revenue
    £6,812
    +12%
    Average order
    £31.80
    +£0.90
    Refunds
    3
    2 fewer
    Orders by dayupdated 2 min ago
    Export CSVSame figures the back office works from.
    Under the hood
    Reporting tables fed from the same database as the back office, refreshed on write or on a schedule. Each measure is defined once, so revenue means the same thing on every screen. Any table can be exported as CSV or read by the tools you already use.
    backoffice / ordersIllustrative
    To pack
    12
    +3
    Revenue today
    £1,284
    +18%
    Low stock
    4
    items
    OrderCustomerTotalStatus
    #1048M. Patel09:12£86.40Paid
    #1047J. Holden08:55£142.00Packing
    #1046R. Okafor08:31£23.50Awaiting stock
    #1045S. ByrneYesterday£61.20Dispatched
    #1044L. MoreauYesterday£9.99Cancelled

    AI, with guardrails

    How much would you let it do on its own?

    A lot of slow work is reading: emails, invoices, forms. AI is good at that now. You choose how far it goes before anything is built, and you can change your mind later.

    members / new upload · level 01Illustrative
    Level 01 · Suggest

    It reads and proposes. A person does the work.

    New upload: ID document for Evie R.
    Evie R. · born 03/07/2014
    Record 1
    Eve R. · born 11/02/2013
    Similar name, different date of birth
    Unlikely
    Record 2
    Evie R. · born 07/03/2014
    Same name; day and month look swapped
    Likely
    Best matchSuggests record 2. An admin confirms it or picks another.
    Level 02 · Do, with approval

    It drafts the change. Nothing happens until someone taps Approve.

    From: Sarah, The Old Mill Café
    Hi, can we change Thursday’s order to 6 sourdough instead of 4, and add 2 trays of brownies?
    Also the last invoice had the wrong PO number, it should be PO-2231. Thanks!
    Read by AI
    IntentChange an order
    Order#4417 · Thursday
    ChangesSourdough 4 → 6 · Brownies +2 trays
    AlsoInvoice PO should be PO-2231For accounts
    DraftedUpdate order #4417 and reply to Sarah to confirm it.
    Example onlyWaiting for approval
    Level 03 · Do, and log it

    Small, reversible jobs run on their own. Every run is logged, capped and switchable.

    1. 09:14Order enquiry → Sales queue · logged
    2. 09:15Supplier invoice → Accounts queue · logged
    3. 09:16“Where’s my parcel?” → Delivery queue, tracking link added · logged
    4. 09:17Refund request → left for you: it changes money · logged · waiting for you
    5. 09:19Not sure what this is → left for you · logged · waiting for you
    Monthly cap set · off switch on the dashboard
    • Hands it to a person when it isn’t sure.
    • Only sees the information the job needs, using providers that don’t train on your data.
    • Every action is logged, so you can check its work.
    • A monthly spending cap and an off switch.

    In use today: a sports club uses level 01 to match uploaded ID documents to the right member record. An admin approves every match.

    Not sure which level fits? Tell me about the job 
    Under the hood
    Hosted language models return structured output against a schema. Below a confidence threshold the job goes to a person. Levels 01 and 02 never write without an approval; level 03 is used only for jobs that are logged and can be undone, with a step limit and approval as the fallback. Only the fields a task needs are sent, to providers that don’t train on your data, and anything involving personal data gets a UK GDPR data protection impact assessment before launch. Prompts, inputs and decisions are logged so accuracy is measured before more is handed over. Every feature has a monthly cap and an off switch.

    How I’d start

    Small steps, in use early.

    You react to working software, not documents, and the most painful job gets fixed first.

    1. Step 01Map the workflow

      I’ll walk through how the work really happens today with you, screen by screen. You get a written map of where the time goes and what to fix first.

      Workflow map & priorities
    2. Step 02Prototype the fix

      Every screen is designed, including what happens when something goes wrong.

      Clickable prototype
    3. Step 03Build in small releases

      The first release is in use straight away, and each one after adds the next job.

      Live software, release by release
    4. Step 04Run and improve

      Hosting, monitoring and alerts are set up from day one. Data collected from launch shapes what gets built next.

      Support & a roadmap
    Under the hood
    Each release goes to a preview link for you to check first, then out without downtime, with one-step rollback.

    Built to last

    Small business, serious engineering.

    These are the targets every project is built and tested against.

    • <100ms

      Screens respond in under a tenth of a second

    • <2.0s

      Pages appear in under 2 seconds on a 4G phone

    • AA

      Easy for everyone to use, including by keyboard or screen reader

    • 0

      No failed requests while an update goes out

    • UK

      UK hosting, with UK GDPR export and delete

    • <30s

      Undo an update in under 30 seconds

    Under the hood
    API response time at the 95th percentile, load-tested before launch; Largest Contentful Paint measured on a throttled 4G profile; WCAG 2.2 AA on every screen, customer-facing or internal; zero-downtime deploys in working hours with preview links; one-step rollback.

    Start here

    Tell me what’s slowing you down.

    Four quick questions, about a minute. I’ll reply within two working days.

    Prefer email?tom@schofield.dev
    Lancashire · working with teams across the UK

    What’s eating the time?

    Tick any that apply.

    A bit about the business

    How many of you are there? (optional)
    When are you hoping to start? (optional)

    Anything I should know? (optional)

    Mentioning the tools you use today helps.

    How should I get back to you?

    Reply by

    If you’d like a call, I’ll email first to find a time that suits.

    I’ll only use these details to reply to you. They’re kept for up to 12 months from when you send them, unless we end up working together. Privacy notice