ReviveDB backs up Supabase projects outside Supabase: the database and Auth, Storage files and Edge Functions. Every database backup is restored into an isolated PostgreSQL instance and compared before it counts as verified.
The public site is a Next.js app. Blog posts and how-to guides live in Sanity as two document types, post and docPage, and are rendered with PortableText. The renderer maps authored h1 headings down a level so the post title stays the only h1, scrolls wide tables inside their own container and renders code blocks with the site’s own component.
Posts are scheduled weeks ahead and link to each other. A link to a post that is not published yet renders as plain text until its date arrives, so readers never land on a 404. Pages revalidate every 60 seconds and query the API without the CDN, so publication state comes from one cache layer. The sitemap and structured data read publish and update dates straight from Sanity.