Home About Team Services Industries Our Work Case Studies AI Training Resources Process Get Started

What We're Building Now

Here is some of what we're working on right now, described without naming names.

Could yours be on this list?

Every one of these started with a conversation about what wasn't working. Ours takes 30 minutes.

Manufacturing In active development

Public Website for US Market Launch

For a manufacturer expanding into the US market

The problem

They build warehouse automation and sell it worldwide, and a buyer in the States had nowhere to land. The corporate site speaks to a different market in a different language. The US team had no address to send anyone to, and no way to answer what a system costs here without going back to head office and waiting.

What we built

A US site with its own pages for end customers and for distributors, because the two want different things and were being handed the same brochure. Behind it sit three tools the sales team actually uses: a site survey they fill in while walking a warehouse, a system sizing estimator, and a landed cost model that turns a factory price into a US one.

Where it stands

The sizing estimator is the part that matters. A rep captures tote dimensions, tote count and orders per hour on a form, and comes back with a system size and a price that already carries ocean freight and import duty. That arithmetic used to live in a spreadsheet on someone else's continent. The site is built and the tools work; the lead forms and analytics are being wired before launch.

Described without naming the client. Every project here is under NDA.

Manufacturing In active development

Custom marketing website on own domain

For a manufacturing company

The problem

They convert specialty materials and run warehouses across the country, and their web presence could not answer either question a buyer actually asks: what can you cut, and how close are you to me. Product data, capability specs and locations were not in any system that could render them.

What we built

A site where the content is a database rather than markup. Eleven sections, all of it in tables, so a new product or a new warehouse is a row and not a rebuild. The hero is a mock cut ticket carrying material, width, cut method, cores and lead time, because a photograph of a factory floor tells a buyer nothing a competitor's photograph does not.

Where it stands

The US map is generated rather than licensed. An Albers projection was rendered to SVG once, and each warehouse stores its own projected coordinates, so opening a new one is an insert. It went in seeded with their real catalogue: 25 products, 18 capability rows across six groups, seven warehouses. The admin panel that lets them edit all of it themselves is the next piece.

Described without naming the client. Every project here is under NDA.

Manufacturing In active development

Shop-Floor Job & Quoting Platform

For a manufacturing and repair shop with a walk-in counter

The problem

Every motor that arrived was written into a physical book and a paper tag was tied to the housing. Work got picked up off the floor when someone felt like it, so nothing ran in order. The shelves were the real problem: stripped motors stacked up with no way to tell what was waiting on a part, a quote or a decision. In the owner's words, you look at it and you think, what is this again.

What we built

An intake queue that sorts arrivals into a pool, into assignments, and into a quote gate for the question that decides everything: is this motor worth repairing at all. A six stage job board. Five department queues, so when a tech writes down what they need it lands in purchasing, machining, fabrication, rewind or an outside vendor rather than in a conversation.

Where it stands

The decision that made it work was refusing to build a second system. A logged motor and a work order are the same physical thing, so the new workflow record and the existing repair record bind to each other the first time a job is opened. Years of history stayed exactly where it was. Every migration is additive, nothing was rewritten, and the shelf is now a board.

Described without naming the client. Every project here is under NDA.

Health & Wellness In active development

Accountability App for Pastor Fitness Cohorts

For an organization running fitness accountability cohorts for middle-aged pastors

The problem

The men this is built for do not use fitness trackers, and building them a better tracker would have missed the point entirely. What gets them to the gym is another man already being there. Two hard constraints shaped the rest: disclosing a pastor's location during working hours is a professional liability, and food logging had to stay away from anything social.

What we built

Cohorts you join with a code. Shared sessions with RSVPs. A presence board showing who is at the gym right now, where being visible is always a deliberate tap and never automatic. When someone checks in and nobody else is there, the group gets a text and can reply to join them.

Where it stands

That text is the whole product, so it is the part built carefully. A check-in takes a lock on the cohort, so two people arriving at the same moment cannot both count as first and text everyone twice. A nervous double tap does nothing. Every message is logged with the reason it was or was not sent, so nobody has to guess why a reply did not land. In build on staging.

Described without naming the client. Every project here is under NDA.

Food Distribution In active development

Operations platform replacing spreadsheet workflows

For a food distributor running purchasing and inventory across QuickBooks, e-commerce, and spreadsheets

The problem

The catalogue ran on spreadsheets sitting beside the accounting software: the master item list, seasonal replenishment maths, price change workbooks, promotion tracking, receiving. Fourteen hundred and forty-seven items across a hundred and seventeen suppliers, with 396 of them out of stock. The logic that decided what to buy lived in the workbooks and in one person's head. The owner put it plainly: he wanted it out of his head and into a platform.

What we built

An item master you can search, filter and actually trust, with an audit trail showing before and after on every change. An intake form for new items. Pricing batches that read a supplier's price list, match it against the catalogue, show live margin on every line, and print the price change letter that goes to customers.

Where it stands

The matcher refuses to be clever. It tries vendor part number, then manufacturer number, UPC, SKU and exact name, and anything ambiguous falls through to a person instead of being guessed. The same rule holds at the accounting boundary: nothing reaches their books without a human approving it first. The replenishment engine is the next piece of work.

Described without naming the client. Every project here is under NDA.

Real Estate In active development

Custom Website with Live Listings

For an independent real estate broker serving a regional market

The problem

She could not change her own website. Every new listing, every price, every photograph went through a developer and waited. For someone working seven days a week in a market where a listing is news for about a day, that is the whole problem.

What we built

A site she runs herself: an admin panel covering listings, sold homes, galleries and testimonials, plus the enquiries and pre-approval requests that come in. Around it, a deep bench of pages built for the searches her buyers actually run, from relocation to first-time buying to lake homes.

Where it stands

Everything that talks to somebody else's service goes through the same rule: a scheduled job writes a cache, and the page reads the cache. It never calls out during a page load. So when a token expires or an API rate limits, the page keeps rendering the last good copy instead of hanging or going blank. The live listings feed is built and waiting on her MLS access token.

Described without naming the client. Every project here is under NDA.

Business Services In active development

AI Bot for Internal Policy Lookup

For a mid-sized company managing decades of SOPs, HR policies, and institutional knowledge

The problem

The answers people needed were spread across eight documents: an employee handbook, a stack of SOPs and a set of HR policies. One of them was a scan with no readable text in it at all. Staff either went hunting or asked HR the same question that had been asked the week before.

What we built

Ask in plain language, get a short answer with the document it came out of. Admins upload new documents and a new version quietly retires the old one, so the bot stops citing a policy nobody follows. Questions that keep coming back get clustered into a proposed FAQ, which a person approves before anyone sees it.

Where it stands

No vector database and no embeddings, on purpose. A keyword router picks the one or two documents likely to hold the answer in under ten milliseconds, and the search runs only inside those. Citations are read out of what the model actually wrote rather than out of what was retrieved, so it cannot credit a document it did not use. An off-topic question gets a straight refusal without calling the model at all. The whole thing runs on their own hardware, so the documents never leave the building.

Described without naming the client. Every project here is under NDA.

Manufacturing In active development

ERP Workflow Automation for Manufacturer

For a custom manufacturer running a legacy ERP for quoting and order processing

The problem

Two clerks sat in front of two screens each: email and customer PDFs on one, a Windows desktop ERP on the other. Every purchase order was retyped by hand between them. Part numbers could not be pasted, so each line meant opening a search, finding the part, and matching the revision letter by eye. Finding the right customer record was its own hunt.

What we built

Drop a purchase order in and it comes back parsed, with a confidence mark on every field and the whole thing checked against the live catalogue: the part exists, the revision matches, the quantity lands on the right price break, the requested date works against transit time. Anything wrong is fixed inline, then pushed into the ERP.

Where it stands

The finding that redirected the project: saving one order in the desktop client writes seven tables, and a plain insert of the header and lines writes four. The missing three come from the desktop application itself, not from the database, so the web app has to reproduce them. That was established by holding a snapshot while somebody clicked Save. Writes are proven against a sandbox, not production.

Described without naming the client. Every project here is under NDA.

Agricultural Lending In active development

Integrated CRM and Loan Platform

For a regional agricultural lender serving family farms

The problem

Five systems, and the same names and numbers keyed into all of them. Leads on a project board, applications as loose PDFs and spreadsheets, underwriting in one enormous workbook, and loan documents produced by a licensed desktop program sitting on a rented server that connected to nothing. Lien searches bought one at a time. Their own estimate was that 95 percent of promissory notes are identical loan after loan.

What we built

The workbook rebuilt as a credit memo you can actually use: balance sheet, income and expense, cash flow, crop plan, collateral, risk rating, and a roll forward into next year rather than a fresh copy of last year's file. Loan setup with parties, terms and disbursement. Documents generated from their own uploaded Word masters.

Where it stands

Two details earned their keep. The merge never retypes licensed text, so the master file is immutable and a merge that fills nothing throws rather than printing a placeholder onto a signed note. And payments solve against the real calendar rather than a textbook formula: on their own example the first period ran 119 days, and the shortcut was off by $121.

Described without naming the client. Every project here is under NDA.

Construction In active development

Automated Submittal Assembly for Door Contractor

For a commercial door and hardware contractor

The problem

They bid large projects in a single Excel workbook: 46 sheets, more than 9,000 formulas, around 1,300 references crossing between sheets. Then the submittal, the document an architect approves before anything can be ordered, was assembled by copying cells out of that workbook and pasting them into Word. Revision tracking was a person typing current values into a column labelled Previous.

What we built

A builder that treats a hardware set as data rather than as a document. Door schedules and hardware sets, glass types, a product data library and a warranty library, all attachable per submittal and clonable from a previous project. The packet generates itself: cover, contents, scope, schedules, hardware sets, and the manufacturer spec sheets appended on the end.

Where it stands

Generated PDFs are deduplicated on a hash of the source data rather than of the file, because the renderer does not produce identical bytes twice from identical input. Legends filter themselves down to the finishes and manufacturers a project actually uses. Pricing deliberately stayed in Excel; the job here was the paperwork nobody went into construction to do.

Described without naming the client. Every project here is under NDA.

Entertainment In active development

Ticketing and concessions platform for a cinema

For a two-screen independent movie theater

The problem

Tickets were sold by sending people to a third-party storefront, and everything else ran on the phone and the counter. The copy on the old site tells you how it worked: call ahead to reserve seats, we hold them until ten minutes before showtime. Concession orders were called out by transaction id, which is not something a human being can shout across a lobby.

What we built

The front page is the showtime board, one poster case per screen, times as live chips, with a designed closed state because a two-screen house is dark some nights and an empty grid reads as a broken website. Guest checkout in four fields. The confirmation page is the ticket. Then a door scanner, a counter register, a lobby kiosk and a prep board for the people making the food.

Where it stands

Order numbers are short and daily, because somebody has to shout them. The kiosk deliberately takes no payment: it places the order and prints a number, and the customer pays at the counter. Devices send item ids and quantities and never prices, so every total is recomputed on the server. Stock moves are an append-only ledger with a guarded update, so two tills cannot sell the same last box of candy.

Described without naming the client. Every project here is under NDA.

Construction In active development

Field materials ordering platform

For an electrical contractor running crews across multiple job sites

The problem

Electricians in the field texted or emailed what they needed to one person at the shop, who then phoned four supply houses one after another to work out who had stock, at what price, and how soon. Nothing was written down as a catalogue, nothing recorded what a job had consumed, and the same part had a different name depending on who was asking for it.

What we built

One request that carries materials and tools together, opened on a phone at seven in the morning and still there on the office desktop at two in the afternoon. A curated catalogue where near-identical parts collapse into a family with a size picker. Trade names anyone can attach, so the thing you call it finds the thing it is. You can also just say the list out loud and have it split into lines.

Where it stands

Per line, it ranks the supply houses by stock, then price, then lead time, and shows where each number came from and when it was last seen. Across a whole order it will split the buy between houses and tell you what that saves. The spoken order is deliberately constrained: the model may only split and label what was said, and every line it produces has to be a literal substring of the transcript, so it cannot invent a part nobody asked for.

Described without naming the client. Every project here is under NDA.

Manufacturing In active development

Shop-Floor Execution System for Manufacturers

For a software venture serving small and mid-market manufacturers

The problem

Routes, production schedule, capacity and manpower all lived in spreadsheets, and the ERP was used for exactly one thing: opening work orders. On the floor, a paper traveler walked with the parts. A real one from a single run carries six lot numbers written in four incompatible formats, and one component line with two lots on it because a roll ran out partway through.

What we built

Work orders with real routing, scheduling, and a floor kiosk where people clock in, take the next job and scan lots and serials at the station. The traveler becomes an issued record: drafted, issued, then closed against a frozen snapshot. In-process quality checks block a job from ending until they are answered, and a step needing two signatures will not accept the same person twice.

Where it stands

The scheduler proposes and a human always authorises; nothing auto-applies to a floor where people are standing. The connection to the existing ERP is read-only by default and guarded in code, and costing is advisory, because this system is explicitly not allowed to become the book of record. A defect found in pilot is the kind of thing that only shows on real data: nothing ever marked an operation done, so on seeded data the flow walked and on theirs the second step would never have appeared.

Described without naming the client. Every project here is under NDA.

Government Affairs In active development

Contract Lifecycle & Revenue Platform

For a government-affairs and policy firm

The problem

One spreadsheet held 109 contracts, with the renewal warnings written as formulas inside it. A second held the revenue, 125 engagements across twelve monthly columns. A third reconciled the clients whose contract splits between two practice groups. The pipeline was a form feeding a sheet. They had already bought a contract system and abandoned it, because it asked for too much and took too many clicks; someone had reportedly paid a junior to do the typing.

What we built

A registry with a renewal radar on the front page: what is lapsing, what is inside its notice window, and a one-click renewal on each. A pipeline you can drag. Proposals as real records, because an agreement often has to be signed before anyone pitches. Document templates that refuse to send while blanks remain. Book of business by person, revenue by group, exported four ways.

Where it stands

The retainer is typed once and everything downstream derives from it: allocations, the revenue schedule, the dashboard, the annualised book, and the commission basis. If a screen asks somebody to type the same figure twice, that is a bug. Expiring is calculated from the expiry date and the notice period rather than stored as a flag that can go stale. Commission splits are peer-blind and insert-only, and the system records the agreed percentage without claiming to authorise the payout.

Described without naming the client. Every project here is under NDA.

Construction In active development

AI Renovation Visualizer and Quote Tool

For an exterior home renovation contractor

The problem

A rep would meet the homeowner, photograph the house, take notes, then drive back to the office and build the proposal in separate estimating software, emailing a couple of options over the following days. In between, the customer was asked to picture new siding from a handful of small samples and a description.

What we built

Photograph the house on a phone, pick the upgrades, and get a rendered image of the finished result beside the original. The quote is editable on the same page, and it prints as a before-and-after proposal carrying their logo and their address block.

Where it stands

The render happens on the server, so the API key never reaches the browser, and takes somewhere between ten and forty-five seconds while the rep is still standing in the driveway. The proposal was styled to disappear into the paperwork they already hand over, which was the actual brief: if somebody is flipping through his folder, this should look like it belongs there rather than standing out.

Described without naming the client. Every project here is under NDA.

Restaurants In active development

Ordering, reservations and feedback platform

For a single-location full-service restaurant

The problem

The website was a brochure, and everything that mattered happened somewhere else: ordering, the menu and gift cards on a third-party store, reservations on a review site, and the printed menus being rebuilt by hand in a design tool. Some of the food photography was nearly three years out of date and showed sides they had stopped serving.

What we built

Ordering that lands on the same kitchen ticket as an order taken at the counter, because the point was never to replace the till. Menus with day parts and the same required and optional option groups the POS uses. A market section with per-state shipping rules. A menu builder that lays out print sheets, so the design tool comes out of the loop.

Where it stands

The POS stays the source of truth for the catalogue and the site never writes back to it, enforced in code rather than by convention. Money is integer cents and tax is basis points, so nothing rounds twice. Every order line snapshots its own name, price and tax treatment at the moment of sale, so last month's order never re-totals itself when this month's prices change.

Described without naming the client. Every project here is under NDA.

Vibration Analysis Delivered

Adopted an off shore code base

For Failure Mode Detection Company

What this is

  • Adopted a 3 year old codebase that was written offshore
  • Cleaned code and brought project to a viable state
  • Ongoing support for additions
  • Adds and improves features month after month

Described without naming the client. Every project here is under NDA.

Real Estate Delivered

Marketing website for commercial real estate

For a commercial real estate firm

The problem

Decades of transactions, and no place of their own to put a property. Getting a listing online meant editing a page, and taking one down meant remembering to.

What we built

A listings system with an admin behind it: full detail editing, drag to reorder, and a flyer upload that takes either a PDF or an image and renders the two differently on the card, because a spec sheet and a photograph are not the same object.

What changed

Status is a real lifecycle rather than a text field, and every change writes a row recording what it was, what it became and who moved it. The public page splits current from closed, and sizes format themselves whether the property is described in square feet, in a range, in acres or in words.

Described without naming the client. Every project here is under NDA.

Software Delivered

RFP response and proposal platform

For a company managing competitive bid and proposal workflows

What this is

  • Teams juggled RFP responses across scattered documents with no central system
  • Keeps proposal content and response drafting in one shared workspace
  • Runs on the client's own production domain with monitored uptime
  • Keeps a staging environment for safe review before publishing changes

Described without naming the client. Every project here is under NDA.

Financial Services Delivered

Marketing Website for Mortgage Firm

For a mortgage lending firm

The problem

His entire web presence was a business listing on a search engine. He works under a national brokerage's licence, so the brand existed, but there was no site of his own to send a borrower to and nothing that explained one loan product against another.

What we built

Sixteen pages on his own domain, including a page each for the six loan types he actually writes. A pre-qualification flow that notifies him and confirms to the applicant. A gated guide that captures the lead and then hands over the file. A blog and a rate table he maintains himself.

What changed

The rate table updates two ways: a structured post, or the raw text of the rate sheet email he already receives every morning, parsed out of the body. There is no database behind any of it, which was the point on this hosting: content lives in flat files that are read on request and never overwritten by a deploy.

Described without naming the client. Every project here is under NDA.

Real Estate Delivered

Real estate site with live MLS sync

For a local real estate team

The problem

A site on a website builder that could not be made faster, could not be optimised properly, and could not show listings without somebody retyping them. A stale legacy domain was still up alongside it, advertising four properties for sale that had all sold or expired.

What we built

A custom site with an admin panel and a listings feed that pulls from the MLS every fifteen minutes: mapped, upserted, photographs downloaded and cached locally because hotlinking is not allowed, and delisted properties pruned. A sync dashboard shows the current state and the last twenty log lines, with a button to run it now.

What changed

The interesting part was a fault that hid for weeks. The sync cursor was stored in a datetime column, which quietly reshaped the timestamp into something the feed does not accept as a filter, so every incremental pull matched nothing and returned zero without erroring. It was caught by running an incremental pull and a full import minutes apart and finding the full one carried changes the incremental swore did not exist. There is now a dead-man's switch: if the sync stops reporting in, somebody hears about it.

Described without naming the client. Every project here is under NDA.

Real Estate Services Delivered

Sign Installation Management Platform

For a sign installation and logistics company serving real estate agents and brokerages

The problem

Installers were texting the operations manager for facts that should have been on the job: whether a sign was for sale or for lease, which house it was going in front of. Signs were going up at the neighbour's address often enough that she required two before-photos including the house number and checked them herself. Rider swaps and material pickups were chargeable work that was quietly not being charged.

What we built

Three surfaces, because three different people needed three different things. Agents get a portal to order installs and removals and see their history. The office gets a dispatch board that drags across five stages, plus route planning that orders the day's stops. Technicians get a phone app with big status buttons, before-and-after photo capture, and directions.

What changed

Signs are tracked as components, not as units. The post, the panel, the rider and the stake each carry their own code, condition, location and scan history, so custody is a fact rather than an assumption. Billing runs on credits where one credit is one complete service action, and an install credit already includes the removal that eventually follows it.

Described without naming the client. Every project here is under NDA.

Nonprofit Delivered

Public website on the nonprofit's domain

For a mission-driven nonprofit organization

The problem

A volunteer-run charity supporting patients and their families, with no reliable place for anyone to find them. A family needing help had nowhere to ask, and a donor had nowhere to give.

What we built

Twelve pages on their own domain, built around the two things that actually matter: a support request form detailed enough that the team can triage before calling back, and a volunteer sign-up. Alongside them, a directory of vetted external resources with crisis support at the top, and several ways to donate.

What changed

The part worth pointing at is the admin. Every save copies the live data first and keeps the last thirty copies, so deleting a board member tells you a backup was taken and offers to undo it, and restoring one backs up the current state before it does anything. The backup routine refuses to overwrite a good file with an empty one. This is run by volunteers, and it should not be possible to lose the team page on a Tuesday.

Described without naming the client. Every project here is under NDA.