Live demo · Latitude 10 Starter Kit

A real Rails + Postgres + Next.js stack, running right now.

When this page loaded, your browser made a real request to a Rails API on Fly.io, which in turn queried a Postgres database on Supabase. Below you can watch that request happen, see exactly what came back, and understand what each piece does.

1. The live request

  1. Your browserNext.js on VercelServed this page and sends the request
  2. Rails APIDocker on Fly.ioHandles the request, checks the DB
  3. PostgreSQLSupabaseConfirms the connection is live
API…
Database…
Round trip…
Server clock…

What happened, step by step

    The raw response

    GET https://latitude10-starter-kit-hello-world.fly.dev/up

    // waiting…

    2. What each piece does

    Next.js frontend

    web/ · deployed to Vercel

    • App Router project with TypeScript, ready for your pages and components.
    • Reads the API address from one environment variable: NEXT_PUBLIC_API_URL.
    • Connect the repo and Vercel deploys on every push, with CDN and HTTPS built in.

    Rails API

    api/ · deployed to Fly.io

    • Rails 7 in API-only mode: JSON in, JSON out, no view layer to carry.
    • Ships with a production Dockerfile and fly.toml, so deploying is one command.
    • CORS is pre-configured and locked down via CORS_ALLOWED_ORIGINS.

    PostgreSQL database

    Hosted on Supabase

    • Standard Postgres — Rails connects with a single DATABASE_URL.
    • Comes with a web dashboard to browse and edit your data.
    • No vendor lock-in: point DATABASE_URL at any Postgres host.

    3. Set it up yourself — one command

    The kit ships with a setup wizard. Unzip it, run one command, and it walks you from zero to your own copy of this page, live on the internet:

    $ node setup.mjs
    
    ✔ Node.js, Git, Ruby and flyctl found
    ✔ Connected to your Supabase database
    ✔ Running locally on localhost:3001
    ✔ API deployed to Fly.io
    ✔ Website deployed to Vercel
    ✔ API, database and website all talking
    
    🎉 You're all set!
    1. Checks your computer and tells you exactly how to install anything that's missing.
    2. Creates your database with you, step by step in Supabase, and checks the connection string before using it.
    3. Runs it on your computer and tests the database connection, explaining any problem in plain English.
    4. Puts it online: the API on Fly.io and the website on Vercel, with every environment variable and secret set for you.
    5. Checks it all works end to end, the same way this page does.

    What you need

    • Node.js 18+ and Git
    • Ruby 3.3, only to run it on your own computer
    • Free accounts on Supabase, Fly.io and Vercel. Fly.io asks for a card, but a small app that sleeps when idle costs little or nothing.

    Environment variables it sets

    DATABASE_URLAPI → Supabase
    CORS_ALLOWED_ORIGINSWhich sites may call the API
    SECRET_KEY_BASERails production secret
    NEXT_PUBLIC_API_URLWebsite → API

    No secrets live in the code — each one is stored on the host that needs it. Prefer doing it by hand? The README has the manual steps too.

    Start from a stack that already works

    Skip the week of wiring up a backend, a database, a frontend, CORS and deployment configs. The Latitude 10 Starter Kit gives you all of it, proven in production — this page is the proof.

    Get the Starter Kit