---
title: "Neon over Supabase for our internal tools"
description: "Our internal tools at FinLit run on Neon rather than Supabase, mostly because of what they cost when nobody is using them after work."
url: "https://rayson.me/writing/neon-over-supabase/"
category: "Engineering"
author: "Janarayson"
published: 2026-10-17
---

Most of the internal tools we've built at FinLit this year run on Neon... the CRM, the management dashboard, the content calendar, YouTube analytics, the scraper panel with the Instagram and Reddit scrapers, the Instagram replyer, and even the dividend list on the new Mr Money TV site. The ones with logins use Neon's auth too. Supabase would have been the obvious choice for all of this. I didn't go with it, and this is why.

<Figure
  src={logos}
  alt="The Neon and Supabase logos side by side"
  caption="Neon and Supabase."
/>

It comes down to money, mostly. Supabase's Pro plan is US$25 a month, and that covers one project. Every project after that is another US$10 or more a month, and each one is a database that runs around the clock whether anyone is using it or not. With internal tools you end up with one project per tool, so the bill grows with every small thing you build, and most of what you're paying for is idle time. It doesn't make sense.

<Figure
  src={supabasePricing}
  alt="The Free and Pro plans on Supabase's pricing page: Free at $0 a month, Pro from $25 a month, first project included and additional projects from $10 a month"
  caption="Supabase's pricing page, October 2026."
/>

Neon charges for what you use and nothing per project. A database goes to sleep after five minutes with nobody on it and wakes up on the next request, which is how an internal tool gets used anyway. Nobody opens the CRM after work, so from the evening until the next morning, and all weekend, our databases are asleep and we're not paying for them. The free plan alone gives you a hundred projects, each with a hundred compute hours a month and a gigabyte of storage. It's a lot cheaper.

<Figure
  src={neonPricing}
  alt="The Free, Launch and Scale plans on Neon's pricing page: Free at $0 with 100 projects, 100 CU-hours a month and 1 GB of storage per project, Launch usage-based with a typical spend of $15 a month, Scale usage-based"
  caption="Neon's pricing page, October 2026."
  wide
/>

Auth was the other thing I needed, and Neon has its own now, built on Better Auth. A lot of it feels like Supabase Auth, and the users sit in a schema inside your own database. Setting it up was simple, and simpler still with a coding agent that has Neon's MCP connected.

Branching has been good too. We used to have one dev database that all the dev work landed in, and it tended to get messy and cause problems. Now a new feature gets a branch of its own, a copy of the database with the data intact, so you test against the data as it is. The users come along too, since they live in the database. Branches are free on Neon and only use compute while they're awake. On Supabase you pay for every branch by the hour, and only on the paid plan.

The one thing Neon didn't have was object storage. They added it recently, S3 compatible, and it branches with the database as well, which made the switch even easier. We'll put the scraped data for our analytics there.

For small projects I think Neon is starting to be the more compelling choice. They started out as a database and now they're building the rest of the backend around it... auth, object storage, an AI gateway, and functions, which are real Node processes running next to your data. A function can stay up and hold a connection open, and it branches with the database like everything else.

If I were starting a new app today, I'd start it on Neon.
