The 3 leaks costing them the most
1 CTA chaos β eleven competing next steps
Why it hurts: The page lists CTAs including 'Start your project', 'Request a demo', 'View all stories', 'View events', 'View all examples', 'Official GitHub library', 'Join us on Discord', 'Subscribe', 'Sign in' β visitors are paralyzed. One primary action should dominate.
Fix: Pick 'Start your project' as the sole hero CTA. Demote 'Request a demo' to a text link. Remove or relocate all other CTAs to their own sections with clear hierarchy.
2 Feature list masquerading as a value proposition
Why it hurts: The subhead literally lists eight product features: 'Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, Storage, and Vector embeddings.' That's a changelog, not a desire. Nobody wakes up wanting 'vector embeddings.'
Fix: Rewrite the subhead to sell the outcome: e.g. 'Ship your backend in a weekend β auth, database, and APIs included. No DevOps.' Lead with the pain saved, not the feature count.
3 Zero numbers in headlines or hero copy
Why it hurts: numeralsInHeadings = 0. 'Scale to millions' is vague. Customer tweets mention '20 minutes to working auth' and '1 million users in 7 months' β those numbers exist on the page but are buried in testimonials, not the hero where they'd convert.
Fix: Pull the best number from testimonials into the hero subhead or a stat bar: 'Auth + database working in 20 minutes. Scaling to 1M users proven.' Concrete beats adjectives every time.
All 31 principles, scored
The meta description ends with 'Start for free' and the CTA says 'Start your project' β a free tier is clearly implied. No dollar amounts or plan names are visible on the homepage itself, but 'free' is front and center in the meta.
Fix: Remove 'Start for free' from the meta description and hero. Lead with 'Start building' or emphasize the paid value. If a free tier must exist, don't make it the headline offer.
distinctColorCount = 3. Supabase uses black/dark background, white text, and their signature green accent. Clean, on-brand, no rainbow chaos.
numeralsInHeadings = 0. Hero says 'Scale to millions' (vague), copy says 'instant APIs' (adjective), 'world's most trusted' (superlative with no proof). Meanwhile '103.9K' GitHub stars and '1 million users in 7 months' are buried in testimonials.
Fix: Move concrete numbers β '103.9K GitHub stars', '20 minutes to working auth', '1M users scaled' β into headlines and the hero subhead. Kill 'instant' and 'most trusted' unless backed by a stat.
The footer H2 is literally labeled 'Footer' in the extracted H2s. That's the opposite of personality. No sign of a memorable tagline, founder sign-off, or hook.
Fix: Replace the footer header with something memorable β even recycling the H1: 'Still reading? You should be building.' Add a single bold CTA and a one-liner manifesto.
hasOgImage = true, which is good. However, ogTitle and ogDescription are identical to the page title/meta β 'The Postgres Development Platform' is descriptive but not click-bait worthy when shared on Twitter/Slack.
Fix: Write a separate ogTitle optimized for shares: 'Build in a weekend. Scale to millions. β Supabase' and an ogDescription that teases the outcome, not the feature list.
The hero screen alone contains: headline, subhead listing 7 features, two CTAs, a trust badge line, and nav with 6 items. The page then immediately fires 6 product feature sections simultaneously.
Fix: Strip the hero subhead to one sentence. Each product feature (Postgres, Auth, Edge Functions, etc.) should live on its own scroll section with one message each.
'Build in a weekend Scale to millions' β mostly simple words, strong rhythm. Loses a point because 'Scale to millions' is developer jargon to a non-technical buyer and the subhead immediately breaks into technical product names.
Fix: Keep the H1. Rewrite the subhead in plain English: 'Supabase gives you a database, login system, and API β so you can focus on your product, not your infrastructure.'
CTA is 'Start your project' which leads to signup before payment. 'Request a demo' is a data-collection gate. Neither presents pricing or payment first.
Fix: Link the primary CTA to the pricing page first, or at minimum show a pricing summary inline before the signup flow begins.
The customer tweets are genuinely specific ('URL structure that makes you think oh, that's obvious', 'Cursor+Supabase+MCP+Docker desktop is all I need') and couldn't be pasted onto AWS. But the homepage copy itself ('Best of breed products. Integrated as a platform.') is pure vendor-speak found on any enterprise SaaS site.
Fix: Replace 'Best of breed products. Integrated as a platform.' with a line only Supabase could write β something referencing their open-source DNA, the Firebase comparison, or Paul Copplestone's story.
hasDemoEmbed = true and imageCount = 185 suggests product screenshots are present. The H2s 'Table Editor', 'SQL Editor', 'RLS Policies' suggest a UI demo section exists. However, no demo appears to be in the hero itself β explanation (feature list) comes first.
Fix: Move a product screenshot or interactive demo embed above the feature description list in the hero section.
Supabase does at least seven things on this page: Database, Auth, Edge Functions, Storage, Realtime, Vector, Data APIs. The tagline even says 'The Postgres Development Platform' β 'platform' is code for 'many things'.
Fix: For the landing page, lead with one core job-to-be-done ('ship your backend fast') and introduce additional features as bonuses, not co-equal headline products.
Pricing is in the nav (hasPricingNav = true) so tiers likely exist, but no dollar amounts or tier names are visible on the homepage. Can't confirm tier count from evidence, so scoring conservatively.
Fix: Surface the three pricing tiers with key prices directly on the homepage β at minimum a 'from $X/month' anchor near the CTA.
Multiple tweets reference MCP, Claude Code, vibe-coding, and AI-native workflows. Supabase explicitly calls out Vector embeddings, OpenAI, Hugging Face. They're riding the AI/LLM infrastructure wave hard and visibly.
The testimonials are full of authentic customer voice ('Almost too easy!', 'why did I wait so long?'). But the product copy itself says 'production-grade applications' and 'Best of breed products. Integrated as a platform' β nobody talks like that.
Fix: Mine the testimonial language. 'Almost too easy', 'fewer hoops than the competition', 'just works' β these phrases should appear in the product copy, not just the social proof section.
No founder photo, signed note, or founder video is detectable in the extracted signals. imageCount = 185 but none are described as founder imagery. testimonialMarkup = true but all are customer tweets, not founder voice.
Fix: Add a 2-sentence founder note with a headshot near the hero or above the testimonials: 'We built Supabase because we were tired of rebuilding the same backend. β Paul & Ant'
'Pricing' appears in navLabels β it's in the header nav. That's good. However, no pricing preview, anchor price, or 'see pricing' CTA is visible in the hero or body copy.
Fix: Add 'Free plan available β Pro from $25/mo' as a micro-line under the hero CTA so price is set before users commit to clicking.
'Build in a weekend Scale to millions' is punchy, rhythmic, and memorable. The contrast between 'weekend' (tiny) and 'millions' (huge) creates a mental image. This is one of the page's genuine strengths.
'Build in a weekend Scale to millions' triggers ambition and a little excitement β the 'weekend' hook implies ease, 'millions' implies success. It doesn't quite reach laugh or wow, but it earns a solid emotional response.
Fix: Consider adding a second-line subhead that adds urgency or contrast: 'Without touching a server.' would amplify the emotional payoff.
Supabase is the 'open source Firebase alternative' β a well-known positioning. The Twitter wall of testimonials is a nice social proof format. The MCP/AI angle is fresher. But the overall page structure (features grid, customer logos, tweet wall) is very standard dev-tool playbook.
Fix: Add one genuinely surprising element β an interactive 'build in 60 seconds' live demo, a real-time counter of databases spawned today, or a bold manifesto section that takes a stand.
'Build in a weekend Scale to millions / Supabase is the Postgres development platform / Start your project / Request a demo' β you get the what and a hint of who (developers), but not the why-buy-over-competitors. The hero is functional but not compelling enough to convert without the rest of the page.
Fix: Add a single differentiator line to the hero: 'Open source. No vendor lock-in. Deploys in seconds.' β so the hero can close solo.
The page jumps straight to product features with no acknowledgment of the pain being solved. There's no 'we know building backend infrastructure is a nightmare' moment before the pitch starts.
Fix: Add 2-3 sentences above or beside the feature list that name the pain: 'Spinning up auth, databases, and APIs from scratch costs weeks. We built Supabase so you don't have to.'
At least 11 distinct CTA labels are present: 'Start your project', 'Request a demo', 'View all stories', 'View events', 'View all examples', 'Official GitHub library', 'Join us on Discord', 'Subscribe', 'Sign in', 'Table Editor', 'SQL Editor'. This is a CTA graveyard.
Fix: Designate 'Start your project' as the one primary CTA with green button treatment throughout. Every other action becomes a text link or secondary button, never competing with the primary.
'Supabase' is made of known words ('super' + 'base/database') β clever, pronounceable, and category-clear. It's not instantly obvious to non-developers but has strong recall in the dev community.
Fix: No major action needed. The name works for the target audience.
The page leads with features: 'Postgres database, Authentication, instant APIs, Edge Functions, Realtime subscriptions, Storage, Vector embeddings.' The desire (ship fast, avoid DevOps, look like a 10-person team as a solo founder) is implied but never stated.
Fix: Reframe feature bullets as desire statements: 'Authentication' β 'User login in 10 minutes, not 2 days.' 'Storage' β 'Serve files globally without configuring a CDN.'
hasDemoEmbed = true suggests interactive product preview exists on the page. The Table Editor / SQL Editor section appears to show the product UI. This is decent but a true 'play with it right now, no signup' experience is not confirmed.
Fix: If the demo embed requires signup, add a no-auth interactive sandbox or at minimum an animated walkthrough that shows real outputs visitors can copy.
weakWordCount = 6. Examples visible: 'world's most trusted relational database' (most), 'Easily write custom code' (easily), 'Best of breed products' (best). These are unverifiable superlatives.
Fix: Replace 'world's most trusted' with 'used by X million developers' (if true). Replace 'Easily write custom code' with 'Deploy a function in 30 seconds.' Specific beats superlative.
mentionsPerMonth = false and mentionsOneTime = false β pricing model is not visible on homepage. Supabase is known to be subscription-based (monthly billing), which scores lower by this principle.
Fix: If any lifetime or one-time options exist, surface them. Otherwise, emphasize the free tier's durability and the monthly cost's ROI vs. hiring a backend developer.
'Start your project' is slightly better than 'Get Started' but still vague β start what? With what? 'Request a demo' is generic. No CTA specifies the actual next step (e.g., 'Create Your Free Database').
Fix: Change primary CTA to 'Create Your Postgres Database Free' and demo CTA to 'See a Live 5-Minute Demo'. Both tell users exactly what happens when they click.
testimonialMarkup = true and the page contains ~20+ real named Twitter testimonials with specific technical praise ('auth + database + real-time updates working in like 20 minutes', 'fewer hoops to jump through than the competition'). Strong social proof.
'Supabase is the Postgres development platform' is 6 words and appears in the hero β clear but technical. The meta description bloats to a feature list immediately after.
Fix: Standardize one 10-word description used consistently across hero, meta, and OG: 'The open source backend that ships in a weekend.'
No pricing is visible on the homepage so premium positioning can't be confirmed. Supabase is widely perceived as a cost-efficient Firebase alternative β the testimonial '@xthemadgeniusx' literally praises it for saving costs vs AWS/GCP, which signals budget positioning rather than premium.
Fix: Reframe cost savings as 'ROI' not 'cheapness': 'Replace a $5,000/month AWS stack with Supabase' positions value, not discount. Avoid letting 'save money' be the headline benefit.
How would your page score?
Same 31 principles. Same brutal honesty. Free.
Grade My Page