First App.
Your learning space A little progress, every day
EXTRA LESSONWhen your app needs online data

Choose browser storage, D1 or Supabase

An online database is a shared store of records. You only need one when the same information must be available beyond one browser.

In your AI helper7 min read & do
By the end of this lesson

Pick one storage route that fits what people actually do in your app.

Choose the simplest place to save
Your needUse thisWhat it does not do
Public page text and photosProject filesVisitors cannot update the source without a separate feature.
A practice list on one deviceBrowser storageNo device sync; clearing browser data can erase it.
Small shared online recordsCloudflare D1 + server codeNo built-in user login service.
People log in to private recordsSupabase database + AuthAccess rules, real email delivery and backups still need setup.

Let’s do this

  1. 1
    In your AI helper

    Ask where the information needs to live

    A page of service details can stay in your source files. A private practice list can stay in one browser. A list used across several devices needs online storage. Separate people with private records also need logins and access rules.

  2. 2
    In this guide

    Use D1 for a small Cloudflare data service

    D1 is Cloudflare’s database. A small piece of server code can read and write it. It does not supply user accounts. The next lesson adds public plant-care tips that only you edit through the Cloudflare dashboard. This is a useful first database without inventing a login system.

    Cloudflare D1: getting started (opens a new tab)
  3. 3
    In this guide

    Use Supabase when accounts are the main need

    Supabase combines a database with a ready-made login service. For a beginner’s private plant lists, this reduces the setup. You can keep the website on Cloudflare Pages. Skip directly to Add accounts with Supabase; you do not need D1 as well.

    Supabase: React and login quickstart (opens a new tab)
  4. 4
    In your AI helper

    Know the difference between records and uploads

    A database stores entries such as plant names and watering dates. Large photos and other uploads normally belong in file storage, such as Supabase Storage or Cloudflare R2. Add uploads only when needed and check their separate limits and billing before enabling them.

  5. 5
    In your AI helper

    Keep tests separate from real data

    Tell the AI which route you chose and use sample information first. Cloudflare previews should use a separate test database. For Supabase, a separate free project can be a test project within your account’s project limit. Never use a test reset button against real records.

A message for your AI helper

For my first website, explain where each piece of information needs to live. The audience is the people I want to help and the job is [describe the problem my app should solve]. Recommend no database, browser storage, Cloudflare D1 with server code, or Supabase with accounts. Choose one main route based on the actual features and current free limits. Explain logins, private access, uploads and backups separately. Do not add services until I choose.

What you should see

You have chosen one route and can explain why the simpler options do or do not meet your needs.

If you get stuck

Go at your own pace. There is no test to pass.

Checked 7 September 2026. Screens can change; the official guides below have the latest steps.

MDN: browser storageCloudflare D1: getting startedCloudflare D1: pricingSupabase: React and login quickstartSupabase: plans and free limits