Skip to content

Start free accounts from a single initial schema - #23

Merged
stepandel merged 5 commits into
mainfrom
claude/free-accounts
Oct 21, 2026
Merged

stepandel merged 5 commits into
mainfrom
claude/free-accounts

Conversation

@stepandel

@stepandel stepandel commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Juiced accounts start free with workspace compute included. The first deployment creates the complete service and authentication schema from service/migrations/0001-initial.sql, including the free allowance defaults. Alpha grants and their operator command are removed.

Migrations run transactionally under an advisory lock, skip applied migrations, and seed the CLI client idempotently. Vercel runs npm run migrate && next build, using the Neon owner's DATABASE_URL. The obsolete auth-schema generation command and pre-launch backfills are removed. The account page reflects the free plan; Unlimited remains marked coming soon.

Validation:

  • Service typecheck passes and all 30 service tests pass against local PostgreSQL.
  • The consolidated schema preserves all 249 columns, 79 constraints, 70 indexes, and both sequences.
  • Concurrent initialization succeeds, and repeated migrations preserve existing account state.

Before merging, connect juiced-db to production so builds receive DATABASE_URL:

vercel integration resource connect juiced-db juiced -e production --yes --scope stepandels-projects

Preview builds also require service configuration and database variables. The owner URL is available to production functions at runtime as well as builds.

Paid plans still require isolating or retiring the native free budget before enforcing a paid compute cap.

New accounts default to an active `free` epoch with an effectively
unlimited allowance, and the migration moves existing never-funded
accounts onto it. Column defaults apply to the API role's restricted
INSERT, so no privileges change. A paid Stripe invoice still replaces
the free epoch if billing is configured later. Pricing, llms.txt, the
account page and docs now describe a single free plan.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
juiced Error Error Oct 21, 2026 10:43pm UTC

Request Review

stepandel and others added 4 commits October 21, 2026 15:29
The build command migrates before `next build`, using the Neon
integration's owner DATABASE_URL because the app roles cannot run DDL.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	docs/managed-service.md
#	docs/search-discovery.md
#	service/app/pricing/page.tsx
#	service/public/llms.txt
#	service/src/pages.ts
@stepandel stepandel changed the title Make every Juiced account free Start free accounts from a single initial schema Oct 21, 2026
@stepandel
stepandel merged commit a42af1f into main Oct 21, 2026
3 of 4 checks passed
@stepandel
stepandel deleted the claude/free-accounts branch October 21, 2026 22:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant