Three Bulldogs · Internal Tools, Data & AI · Coastal Delaware

Most consultants hand
you a deck.
I hand you the software.

A deal-closing portal for a yacht dealership. A sales hub that retired a restaurant group's wall of dashboards. A payroll run nobody has to retype. I work inside small and mid-sized businesses, finding where the hours and the margin are hiding, then building the thing that gets them back. Analysis that ends in working software, and AI applied where it holds up.

A few examples of what I build.

All named with permission. Some of these run every day inside the businesses they were built for. Others were single pieces of analysis that changed a decision. It's a cross-section of the kind of work I take on, not a catalog.

Marine retail Hospitality groups Finance & back office
ToolBuilt forWhat it doesStatus
Deal-closing portalYachts DirectAccepted offer through to signed handoff: documents, approvals and signatures in one tracked flowIn use
Custom sales CRMYachts DirectA pipeline shaped to sea trials, surveys and trade-ins, that surfaces the buyer who went quietIn use
yachtsdirect.comYachts DirectThe public brokerage site — Next.js, Tailwind, VercelLive
delmarvaservicecenter.comDelmarva Service CenterFull-service boat care, from the booking form to the inbox it lands inLive
Executive sales hubSoDel ConceptsGroup-wide sales and forecasting in one hub. The legacy dashboards are retired.In use
Sales data pipelineSoDel ConceptsToast POS into SharePoint on a schedule, with nobody retyping anythingIn use
Payroll file builderSoDel ConceptsToast exports become ADP import files, with no spreadsheet surgery in betweenIn use
Invoice approvalsSoDel ConceptsThe weekly invoice review and sign-off, in one place instead of an email chainIn use
Monthly close boardSoDel ConceptsWho owns what, what's done, and what's holding up the closeIn use
Menu engineering studySoDel ConceptsA month of POS data, ranked into menu moves, shipped as a proposal you can clickDelivered
Brewery depletion toolSoDel ConceptsKeg-level depletion tracking for the beverage programIn use
Org chart appSoDel ConceptsA living org chart for the whole group, instead of a slide someone redrawsIn use
Project schedulerSoDel ConceptsGantt timelines the operations team can keep currentIn use
Portfolio web auditSoDel ConceptsEvery brand site in the group audited for search, UX, accessibility and conversion, with fixes sequenced into a roadmapDelivered

Stack, where it matters: R and Shiny, Python, TypeScript, Next.js, PostgreSQL, Toast, ADP, SharePoint.

Four of them, up close.

The ledger is the breadth. These are the four where the thinking mattered more than the typing.

SoDel Concepts · Payroll Automation
24 payroll entities, three rule sets About 25 hours a week, down to one It checks its own work

Payroll took twenty-five hours a week. Now it takes about one.

Pay runs biweekly across twenty-four payroll entities, but on staggered calendars, so some come due one week and the rest the next. Payroll never stops. Every cycle the Toast exports were assembled by hand in Excel: tips reconciled, columns rebuilt, files retyped into ADP, then reports emailed out location by location. Three full days of somebody's week, on a deadline, where a typo is somebody's paycheck.

The rules were never the same twice. Sixteen locations carry credit-card gratuity into its own earnings column; the seven Surf Bagel stores run cash tips only and no gratuity columns at all; one exports a bare CSV with neither.1 Employee names arrived formatted three different ways depending on who typed them in.

Now it's a web app. Upload the Toast export and the tip sheet, get back ADP-ready import files and a searchable report each director can filter to their own locations. Before it writes a single file it checks tipped employees against minimum wage and hands back a validation report — so a tip-credit shortfall surfaces on payroll day, not three weeks later.2

R and Shiny · Toast exports · ADP import files · Tip-credit validation

1Which column a tip belongs in is not cosmetic. Put gratuity where a location doesn't carry it and you have filed a payroll correction, not a rounding error. The app knows which rule set each entity uses and won't offer you the wrong upload.

2Tipped wages plus tips have to clear minimum wage, and when they don't the employer owes the difference. That arithmetic used to live in somebody's head across twenty-four entities. Now it's a report that runs before the file does.

Yachts Direct · CRM + Closing Portal
Built from scratch Inventory and leads in one system Inquiry through to handoff

A dealership's whole deal path, from first inquiry to handoff to service.

Off-the-shelf CRMs assume a product you restock. Yachts Direct sells one specific hull, once, to one buyer, with trade-ins and sea trials and survey contingencies and a courtship that can run for months. So I shaped the CRM to that instead of fighting a generic pipeline: inventory and leads in one system, stages that match how the deal really moves, and follow-up that surfaces the serious buyer who went quiet three weeks ago before they buy somewhere else.

The closing portal picks the deal up where the CRM leaves off. Documents, approvals, signatures and the handoff to the service side all live in one tracked flow rather than scattered across inboxes and a shared drive. Everyone sees the same status, so the deal keeps moving without anyone chasing a file.

Custom CRM · Document workflow · E-signature · Pipeline automation · TypeScript
Public sites for the dealership and its service arm: yachtsdirect.com · delmarvaservicecenter.com
SoDel Concepts · Finance & Operations
Replaced the legacy dashboards Actuals against forecast, daily One number the room agrees on

Every dashboard told a different story. Now there's one.

The group had accumulated a stack of legacy dashboards, each answering part of the question and none of them agreeing. I replaced them with a single executive hub: what sold yesterday, how that tracks against plan, and where the period lands if the trend holds. Underneath sits a scenario model, so you can change a price, add a location or move a cost line and watch the forecast respond. The argument in the room is about the decision now, not about whose number is right.

Around it the back office went tool by tool: the payroll file builder, the invoice approvals, the close board, the pipeline that carries POS data in overnight.

R · Shiny · Python · SQL · Forecasting · Scenario modeling
SoDel Concepts · Multi-location · POS Analysis
A month of POS data Every location in the concept Working prototype included

A month of orders. A ranked list of moves. A proposal you can click.

I pulled point-of-sale data from every location in the concept and sorted it into what earns its place on the menu and what quietly costs money. The recommendations went out ranked by sales impact, as an interactive single-page proposal rather than a slide deck: a working prototype of the new ordering flow, a redesigned in-store menu board, and a rollout plan a leadership team could click through together in one sitting.

POS data · Sales-mix analysis · Interactive proposal · Menu engineering

How the work actually goes.

The analysis and the software that acts on it are the same engagement. Nobody writes a specification and throws it over a wall, which is why these tools fit the workflow instead of approximating it. It also means I can tell you when the answer isn't software at all, and often it isn't.

i

Audit the instrument before you read it.

What a number counts, where the coverage stops, which definition is in play. The payroll build began by writing down three different tip rule sets across twenty-four entities — before a single file was generated, not after a correction.

ii

Ship the working version in weeks.

Software earns trust by being used, not presented. The first real version goes into real hands quickly and gets good against real use, which is also the only reliable way to find out what someone actually needed.

iii

The honest number beats the impressive one.

When the data cannot support a precise answer, you get a graded range and the reason for it. A confident wrong number is worse than no number, because someone will build a decision on it.

Where AI fits in your business

  • Paper that reads itself. Invoices, contracts, applications and quote requests, with the fields pulled out and dropped into the right system.
  • Answers without a report queue. Plain-English questions against your own numbers, with the query shown so you can check the work.
  • Drafts for a human to approve. Follow-ups, digests and call notes written for someone to sign off, never sent behind your back.
  • An assistant that knows your business. Your SOPs, pricing and policies made searchable, with the source attached to every answer.

A vendor invoice arrives as a PDF and leaves as a coded line item.

Twelve nightly manager emails become one paragraph the owner reads with coffee.

The part most people skip.

Language models get things wrong while sounding certain. So a human approves anything that touches a customer or a dollar, every output traces back to a source you can check, and anything the model is unsure about gets flagged rather than guessed. When a plain script or a spreadsheet formula is the more reliable tool, that's what I'll tell you to use.

Three ways in.

Some problems need a scoped build. Some need a second set of eyes for two weeks. Some need someone who's just around. All three are fine.

Option one

The Audit

A focused look at one area: your reporting, your sales process, your website, or a platform you already pay for and nobody opens. You get a written picture of what's slow or broken, and a prioritized list of what to fix first with effort and impact against each item.

Fixed fee, two weeks, and the findings are yours to act on with or without me.

Best whenYou know something is wrong but not what to do about it first.
Option two

The Build

A defined project with a defined outcome. The portal, the dashboard, the CRM, the automation. Fixed scope and an agreed price, and I stay reachable after launch so it does not become another tool nobody maintains.

Best whenYou already know what you want built.
Option three

Fractional CIO

The information role you can't yet justify hiring for. I own the questions a data executive owns: what you are paying for, whether it can be trusted, what it should be telling you, and what to build next. A set number of hours a month. Cheaper than a hire, more useful than a subscription.

Best whenYou own systems and data nobody senior is accountable for.

All three start the same way. You email me the task you want off your plate, we talk for half an hour, and you get back a written plan with a price on it. If I'm not the right builder for the job, I'll say so and point you at whoever is.

Three English bulldogs sitting together on a green porch couch in the sunshine.
The three bulldogs. The business is named after them.

Tell me the first hour you want back.

Email me two paragraphs: what your business does, and the task that takes the biggest piece of somebody's week. That's the whole intake process.

Prefer plain email? hello@threebulldogs.com

A reply within a day A rough price by the second conversation If I can't help, I'll say so

Three Bulldogs is a small practice on the Delaware coast. I keep it that way on purpose: a few organizations at a time, deep enough inside each one to be useful rather than a vendor who visits.

If the work up top looks like the thing your business is missing, my inbox is open. And yes, the name is literal.

Three Bulldogs — the three English bulldogs the business is named after, duotone mark