Database
Supabase
Because Lemon Squeezy owns the checkout and the tax record, the Supabase schema you need is smaller than a Stripe build. You are storing an order or subscription ID, a variant ID and a status, then deriving access from that. Model entitlements as their own table keyed by user rather than scattering plan flags across profile columns, since Lemon Squeezy variants change more often than your product tiers do, and a lookup table absorbs that without a migration.