Blog

Notes from building SideQuest Automation. New posts when there's something worth saying.

May 25, 2026 · Demo

From scanned PO to QB Estimate in 45 seconds

Today's PO landed in Gmail at 1:39 AM. A scanned image from a customer not yet in QuickBooks, with two SKUs the catalog had never seen. Forty-five seconds later, Estimate 1001 was live. Here's the minute-by-minute.

May 23, 2026 · Security

Live: rotating a leaked OAuth secret in 20 minutes

A Google OAuth client secret for our Gmail integration leaked to a public repo this morning. Live for 36 hours. The minute-by-minute timeline of the rotation, and what we changed to keep it from happening again.

May 20, 2026 · Design

Why we put a human-review layer between Claude and QuickBooks

Claude can do all the work to draft an Estimate. We let it. We don't let it press Send. The cost of a bad QB record is shipping cost and accounting cleanup. The cost of an unsent draft is twenty seconds of friction. The two are not comparable.

May 15, 2026 · Technical

Reading handwritten POs without losing your mind

The handwritten PO is the test case nobody wants to talk about. Phone photos, faxes, pen-corrected scans. Here's how the vision pipeline handles them, where it still trips, and the cost question we had to answer.

May 9, 2026 · ROI

The hidden cost of typing line items: 4 min × 12k POs a year

A 12,500-POs-a-year distributor burns 970 hours typing line items into QuickBooks. That's $63k at $65/hr fully loaded. The dollar figure is the small part of the story. The real cost is who has to do it.

May 3, 2026 · Technical

What a good PO match looks like

Get the SKU mapping wrong and nothing else matters. Four match paths in order of confidence: exact SKU, cross-reference, description-only, unmatched. How each one works and what to do with the output.

April 28, 2026 · Founder notes

Why we built SideQuest: PO entry is the silent tax on distributors

Three weeks shadowing inside-sales reps at four industrial distributors taught us where the typing tax actually lives. It is not the typing. It is who has to do it.