Skip to content
Product Docs

Flash Launch Documentation

Understand Project Status

How to read project status in the current Flash Launch MVP, including what the main status badges mean, how jobs relate to feature states, and how to tell whether a project is actually launch-ready.

9 min readAudience: Builders operating a project and trying to understand whether the current state means done, waiting, retrying, or brokenUpdated 2026-04-10

One of the main product jobs of Flash Launch is to make progress visible.

That sounds simple, but it matters a lot. Shipping problems are often not code problems. They are state problems:

  • the site has not been deployed yet
  • the database is still provisioning
  • DNS is correct but HTTPS is still verifying
  • a background job failed and is retrying

If the product only gave you a generic spinner, you would still have to guess. The current MVP is trying to do something better: turn infrastructure progress into a small, understandable set of states.

If you have not read the product overview yet, start with What Flash Launch Is.

The three layers of status in Flash Launch

In the current MVP, project status is easiest to understand if you separate it into three layers:

LayerWhat it answers
Feature stateIs this part of the project set up yet?
Progress stateIs the system waiting, checking, or active?
Job stateIs there background work still running or retrying?

You can think of the project page as a status dashboard for these layers.

The main project capabilities that expose status

In the current product, the clearest user-facing status surfaces are:

  • Static Site
  • Database
  • Domain
  • Jobs

These show up in the project summary area because they are the parts of the MVP where real work is happening.

How to read Static Site status

Static site deployment currently uses a small lifecycle:

StatusWhat it means
not_deployedNothing has been published yet
deployingFiles are being uploaded and activated
liveA deployment is active and publicly reachable
errorSomething failed and needs attention

The important distinction is that live is not just "upload succeeded." It means the project currently has an active static deployment.

That is why static site status should be read together with deployment history:

  • if the status is live, there should be an active version
  • if something broke after a later deploy, rollback is part of the recovery path

How to read Database status

The project database lifecycle is similarly compact:

StatusWhat it means
not_startedNo database has been created for this project yet
provisioningFlash Launch is creating the DB resources
activeThe database is provisioned and usable
errorSetup failed or the DB state needs attention

This is why the database tab pairs status with actions:

  • Set Up Database when nothing exists yet
  • Check Health after activation
  • connection info and reveal flows only after the DB is ready

The correct mental model is: database status tells you whether the resource exists and is ready, not whether your application schema or queries are correct.

How to read Domain status

Domain status is slightly more detailed because domains have a real-world verification path.

StatusWhat it means
unboundNo hostname has been attached yet
pending_ownershipFlash Launch is waiting for the TXT record that proves you control the hostname
pending_dnsThe hostname is stored, but DNS is not pointing correctly yet
verifyingDNS is correct and Flash Launch is waiting for HTTPS readiness
issued_certTreated as part of the verifying stage in the current UI
activeThe custom domain is connected and HTTPS is live
errorSomething is wrong and the next step should be user-actionable

This is one of the places where Flash Launch is already doing a useful product translation. DNS success and HTTPS success are not the same thing, so the product exposes them as separate stages instead of collapsing them into a vague "working / not working" label.

Why some statuses are user actions and others are system actions

The current domain UI already hints at an important product principle: some steps belong to the user, others belong to the system.

The current timeline model is roughly:

  1. Ownership verification — user action
  2. DNS setup — user action
  3. Verify / issue cert — system action
  4. HTTPS live — system-completed state

This distinction is important because it tells the user when they should do something and when they should wait.

That same pattern applies elsewhere in the product:

  • uploading a site is a user action
  • processing the deployment is a system action
  • provisioning a database is a system action after a user request

What Jobs status means

Feature states tell you what the project currently looks like. Jobs tell you what the platform is still doing in the background.

In the current MVP, jobs are especially relevant for domain workflows, but the concept is broader.

The job states are:

Job stateWhat it means
queuedThe job exists and is waiting to run
runningWork is actively executing
retryingA previous attempt failed and the system will try again
succeededThe job finished successfully
failedThe job exhausted retries or stopped in a terminal failure state

This matters because a project can be "not done yet" even when no button is currently spinning in the UI. Jobs are how Flash Launch makes asynchronous work visible instead of hiding it.

How feature state and job state relate

A good way to read the page is:

  • the feature status tells you the current state
  • the jobs list tells you whether that state is still moving

Examples:

Feature stateJob stateInterpretation
Domain = pending_ownershipJob = retryingFlash Launch is still checking, but the TXT ownership record is not visible yet
Domain = pending_dnsJob = retryingFlash Launch is still checking, but your DNS is not ready yet
Domain = verifyingJob = queued or runningDNS is probably correct, and the system is still checking HTTPS readiness
Database = provisioningNo user-visible job list entry requiredThe system is still creating DB resources
Static Site = liveNo active jobsPublishing is done for now

This is the difference between "current state" and "remaining work."

How to tell whether a project is launch-ready

The overview page gives you a simple shorthand:

  • Static Site should not be not_deployed
  • Database should be active if your app needs state
  • Domain should be active if you want the project on a real custom hostname
  • Jobs should not be stuck in a failing retry loop

That is why the current overview also includes a Getting Started sequence. It treats launch readiness as a checklist of capabilities, not a single magic boolean.

The difference between waiting and broken

One of the easiest mistakes a beginner can make is interpreting every non-final state as failure.

In Flash Launch, these usually mean "wait" rather than "broken":

  • deploying
  • provisioning
  • pending_ownership
  • pending_dns
  • verifying
  • queued
  • running
  • retrying

These usually mean "intervene" rather than "wait":

  • error
  • failed
  • repeated retries with the same actionable error

This distinction is one of the most important parts of understanding project status. Not every incomplete state is a problem. Some states are simply the honest shape of an asynchronous system.

How to use the error text and action hints

The current MVP does not only expose status labels. It also tries to attach plain-language error messages and next-step hints where possible.

That means status should be read in this order:

  1. the badge
  2. the last checked or updated time
  3. the attached error message, if any
  4. the action hint, if any
  5. the jobs list for background activity

That order helps avoid wasted time. A badge tells you the broad category. The hint tells you the next move.

A useful status-reading habit

When something looks wrong on the project page, diagnose in this order:

  1. Which feature surface is affected: static site, database, or domain?
  2. Is the current state incomplete, or actually failed?
  3. Is there a job still running or retrying?
  4. Is there an explicit action hint telling you what to change?

This is a much better debugging habit than jumping straight into code changes.

Common interpretations that are correct

These are the readings the product is trying to support:

  • pending_ownership means "I still need to add or wait for the TXT ownership record"
  • pending_dns means "I still need to fix or wait for the A record"
  • verifying means "the system is still working on HTTPS readiness"
  • provisioning means "the resource request has been accepted and is still in progress"
  • retrying means "the platform has not given up yet"
  • active or live means "this capability is currently usable"
  • error or failed means "I should look for the attached message and next action"

If the product keeps those meanings consistent, the dashboard becomes easier to trust.

Current limits of the status model

This is still an MVP, so the status model is useful but not universal.

  • Not every platform subsystem is fully live yet
  • Some future capabilities still exist more in architecture than in full runtime behavior
  • Logs and error aggregation are not yet as complete as the product direction suggests
  • Some advanced operational states still collapse into a simpler badge in the current UI

That is normal. The important thing is that the current status system already supports the parts of the product that are real today.

The right mental model

Flash Launch status is not just decoration. It is part of the product.

The platform is trying to do two things at once:

  • automate shipping work
  • explain enough of that work that the user can still operate it safely

That is why the status system matters. It is how the platform turns hidden infrastructure progress into something a builder can reason about.