Skip to main content
Doyel Labs

Case study

A federal service contractor's whole software stack, shipped in six weeks.

SteadFast Transportation Inc. administers federally awarded USPS contract-delivery routes across rural Montana and North Dakota. Doyel Labs built their marketing site, their payroll workspace, and the plumbing that ties them together.

Live at steadfasttransportationinc.comIn operator use
Visit the live site

At a glance

Two products, one domain, one operator.

Client

SteadFast Transportation Inc.
Plentywood, Montana
Rural USPS route administration

Scope

A 10-page marketing site on the operator's own domain and a password-gated SCA-first payroll workspace on the same domain.

Timeline

About six weeks total: marketing site in three days, payroll workspace in about a week, then iteration + polish as the operator ran real pay periods.

Stack

Static HTML on Netlify · Tailwind CSS · schema.org markup · Formspree forms · Resend for stub email · Netlify Blobs for per-operator storage.

What ships weekly

Every business day a pay run happens somewhere on this workspace. Every stub carries the SCA floor line. Every draft passes the floor before it leaves the app.

Result

An operator running federal service contract routes with a paper trail a DOL inspector can read on the first request.

Marketing site

A ten-page site on steadfasttransportationinc.com.

Custom domain, mobile-first navigation, hero video, schema.org Organization markup, and forms wired to the operator's inbox. Deployed as static HTML on Netlify with LCP under two seconds on mid-tier mobile.

https://www.steadfasttransportationinc.com/
Screenshot of the SteadFast Transportation Inc. home page.
Home page · steadfasttransportationinc.com/
https://www.steadfasttransportationinc.com/contractors.html
Screenshot of the SteadFast Transportation Inc. contractors page.
Contractors page · owner-operator inquiry funnel

What shipped on the marketing side

10 pages

Home, About, Services, Routes, Contractors, FAQ, Contact, Thank you, Privacy, Terms.

schema.org markup

Organization, PostalAddress, and telephone JSON-LD so search engines get the business on the first crawl.

Mobile-first nav

Sticky top nav with focus states, skip-link for keyboard users, WCAG AA contrast throughout.

Hero video

Muted looping video on the home hero with a poster fallback for slow connections and print-media font preload.

Contact + inquiry forms

Formspree-backed with honeypot bot filter. Submissions go straight to the operator's inbox, not ours.

Privacy-friendly analytics

Plausible for page views. Microsoft Clarity for session review — both configured by the operator.

Payroll workspace

SteadFast Payroll — SCA-first pay runs.

A password-gated workspace that lives at steadfasttransportationinc.com/steadfast-payroll-app.html. Built specifically for federal service contractors paying day-rate independent contractors under the Service Contract Act. Every draft passes the day-rate floor before it leaves the app.

The floor check

For every stub, the app pulls the operator's SAM.gov wage determination for the contractor's county, computes the floor (base wage + H&W) × 8, and blocks any draft whose day rate doesn't clear it.

Base wage

$20.73

per hour

H&W fringe

$5.55

per hour

Day-rate floor

$210.24

8-hr day

Day rate on paystub

$277.23

Compliant

$277.23 ≥ $210.24 · SCA §41 U.S.C. 6707

WD 1977-0194 · Sheridan County, MT · verified via SAM.gov

Demo · Synthetic data
SCA / Wage Determination
SCA compliance panel — day-rate floor check

The stub

Every stub carries the compliance line — WD number, base wage, H&W fringe, resulting floor, met or not. YTD gross and YTD net are on the stub, tabular-numbered. Stubs email from the operator's own domain via Resend.

SteadFast Transportation Inc.

301 E 1st Ave, Plentywood, MT 59254

EIN ••-••••••• · Contract #691A3

Pay period

Sep 1 — Sep 15, 2026

Pay date 2026-09-18

Contractor

OPERATOR 04

Driver / Caser · MT

SSN •••-••-•••• · WD 1977-0194

SCA line

Base $20.73 + H&W $5.55/hr

Floor $210.24 per 8-hr day

SCA compliant

Regular days worked (13 × $277.23)$3603.99
Holiday worked (0 × $277.23)$0.00
Vacation cash-in-lieu$0.00
Gross$3603.99
Deductions$0.00
Net pay$3603.99

YTD gross $46875.87 · YTD net $46875.87

Demo · Synthetic data
Paystub / Live Preview
Paystub preview — every stub carries the SCA floor line

What shipped on the payroll side

Contractor register

Names, SSN encrypted at rest, state, WD number, day rate, minimum wage, H&W fringe, vacation handling.

Wage-determination auto-lookup

City + state → geocode to county → active SAM.gov WD → parsed base wage and H&W fringe. Two-year revision reminder on the dashboard.

SCA floor enforcement

Every draft checks (base wage + H&W) × 8. Under-floor drafts are blocked.

Batch pay runs

Pick a period and contractors. The app produces every stub as PDF in one action.

Stub email from the operator's domain

Sent via Resend from [email protected]. Doyel Labs is not on the email header.

Audit log with CSV export

Every stub generated, emailed, or blocked. Every rate change. Every sign-in. 180-day retention; operator keeps the CSV for the SCA's 3-year rule.

Passkey sign-in

WebAuthn enrolment on the operator workspace. Falls back to password (PBKDF2) with rate-limited lockout.

Server storage per operator

Contractor records, drafts, and audit rows in Netlify Blobs scoped to the operator. Local browser cache is a fallback only.

Backups you can walk away with

Export a full JSON backup or a formatted DOCX report. Import merges without overwriting. Your workspace, your bytes.

Approach

How Doyel Labs shipped this quickly.

01

Read the compliance regime first

Before writing code, we mapped 41 U.S.C. §§ 6701–6707 to the fields on a stub. AI helped skim the FAR clauses; humans confirmed with the operator's actual USPS solicitation.

02

Wireframe → schema → UI in one loop

AI drafted the Firestore-shaped data model, migration SQL, and the UI form in parallel. We shipped the register within two days.

03

Run a real pay period before locking scope

Instead of a spec-first approach, we ran a live pay period with real (redacted, then live) contractors on day 5. Every crash, every stub error, every "wait, what does this button do?" was fixed the same day.

04

Then harden the audit trail

Once the pay path worked, we hardened the audit log to a DOL inspector's read: every state change becomes a row, every row exports to CSV, every export is timestamped.

Scope discipline

What SteadFast Payroll doesn't do.

The current build is scoped tightly. These features would be fair game for a future release, but shipping without them let us hit the operator's first pay period in a week.

No tax filing

The app doesn't file federal, state, or local returns. It doesn't compute income-tax withholding. Deduction lines are freeform, entered by the operator or their bookkeeper.

No money movement

The app doesn't run direct deposit, ACH, wire, or any form of wage transfer. SteadFast pays through its own bank. Doyel Labs never touches funds.

Your project next

Tell us what you're trying to run.

We build for federal service contractors, small operators, and mid-market companies who need software that doesn't lock them in. If you can describe the operation in a paragraph, we can quote it in a business day.

Call (813) 686-4559
More case studies land here as new engagements complete. If you'd like a reference call with the SteadFast owner about what shipping with Doyel Labs was like, ask.

Case study published with SteadFast Transportation Inc.'s permission. All contractor-level data is synthetic.