Conviro: Connecting Subscription State to Product Access
How I think about Conviro’s billing architecture: subscription truth, feature access, recoverable updates and explainable decisions.
Backend Architecture 3 min read
Webhooks, outbox patterns, tenant isolation, concurrency and the other design decisions that decide whether a system is safe to retry.
7 posts
How I think about Conviro’s billing architecture: subscription truth, feature access, recoverable updates and explainable decisions.
Backend Architecture 3 min read
How I approach Moventoro’s shared order lifecycle across planning, warehouse operations, drivers, tracking and administration.
Backend Architecture 3 min read
A reliable streaming response needs explicit lifecycle events, bounded buffering, upstream cancellation, and a clear policy for partial answers.
Backend Architecture 3 min read
Use an outbox to connect database changes with event publication, then address duplicate delivery, ordering, and external side effects separately.
Backend Architecture 3 min read
Build webhook receivers that verify input, accept work durably, handle duplicate deliveries, and reconcile state when events arrive late.
Backend Architecture 3 min read
Why tenant isolation must extend through database queries, caches, background jobs, retrieval, and support tooling in a SaaS application.
Backend Architecture 3 min read
A workflow can fail after its external action succeeds. Design retries around business operations, checkpoints, and explicit failure states.
Backend Architecture 3 min read