Product Decisions This Supports
- New channel on the roadmap: physical mail as a feature. Statements, invoices, legal/regulated notices, collection letters, AP checks, gift cards, and lifecycle postcards — all reachable via API without hiring a print vendor or mailroom ops. The decision becomes "does this channel convert?" rather than "can we operate a print pipeline?"
- Build vs. buy for the delivery layer. Lob bundles address verification, print inventory, USPS induction, postage, and tracking into a per-piece price. The alternative is capex plus an ops function. This package is the cheap way to price-test the buy side.
- Address verification as a standalone win. Highest-ROI, lowest-commitment entry point: verify/autocomplete at signup, checkout, and KYC to cut undeliverable mail, return-mail fees, and "where's my letter?" support load. Ship it before you ever print a piece.
- Unit economics per feature. Per-piece costs are explicit and variable, so you can model margin per tier (e.g., "premium plan includes 2 mailed statements/month") instead of absorbing an opaque ops cost center.
- Personalization scope. Templates plus merge variables force a useful product question: what is product-configured (layout, copy, variables) vs. customer-configured? That boundary determines how self-serve the feature can be.
- Tracking UX. Webhooks emit a delivery event stream (
in_transit, delivered, returned). Decide whether to surface that in-product or keep it internal for support and reconciliation.
- Geographic claims. Lob is US-centric with limited international coverage — directly informs whether "we mail internationally" is a marketing promise you can keep.
When to Consider This Package
Consider it when:
- Your stack is PHP/Laravel and you don't want a second language/runtime for one channel.
- Mail is US-primary, volume is low-to-mid, and you need no minimums — ideal for pilots and MVPs.
- You want verification, print, and tracking from one vendor so the event model stays consistent.
- You need speed: API keys plus
composer require gets you a first test mailpiece in a day using test keys.
- You accept ~1–2 days of wrapper work. This is a thin SDK, not a Laravel package — no service provider, no facade. Plan to wrap it in a service class, queue the sends, verify webhook signatures, keep the key in
.env, and put an interface in front of it.
Look elsewhere when:
- Non-US delivery is the primary use case — evaluate PostGrid, Stannp, Click2Mail, or a regional hybrid-mail provider.
- Volume is high enough that list per-piece pricing hurts; go direct to a printer or negotiate enterprise terms.
- You only need address validation — SmartyStreets/CASS, Loqate, Melissa, or Google Places autocomplete are cheaper and simpler for that single job.
- You need unusual formats, finishing, or die-cut print work that template-driven APIs don't cover.
- Compliance obligations (HIPAA/GLBA) require a BAA and a vendor security review that the vendor can't satisfy.
- The team is Node/Python and a native SDK is the better fit.
Signal to weigh honestly: 65 stars means a thin community around the wrapper, but it sits on a stable REST API and shows recent releases. The real risk is API drift or abandonment, not correctness — pin the version and keep the abstraction layer so a vendor swap is a config change, not a rewrite.
How to Pitch It (Stakeholders)
To executives: "We can add physical mail — verification, print, postage, tracking — as an API line item with zero capex and no ops hires. We can pilot for hundreds of dollars, measure cost per delivered piece, and kill it cheaply if the channel doesn't perform. Address verification ships first and pays for itself by cutting returned mail and failed deliveries, before we print anything."
To engineering: "A Composer dependency over a REST API — no infrastructure to run. We isolate it behind an interface, push sends to the queue, consume webhooks idempotently with signature verification, and use Lob's test keys in CI. About a sprint for the wrapper plus the webhook consumer."
Risk framing to include: single-vendor dependency on the print path — mitigate with an internal interface and by treating mailpiece templates as data, not code, so switching providers or changing creative doesn't touch application logic. Addresses and mailpiece contents are PII; confirm retention and transmission handling before launch.