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.
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:
| Layer | What it answers |
|---|---|
| Feature state | Is this part of the project set up yet? |
| Progress state | Is the system waiting, checking, or active? |
| Job state | Is 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 SiteDatabaseDomainJobs
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:
| Status | What it means |
|---|---|
not_deployed | Nothing has been published yet |
deploying | Files are being uploaded and activated |
live | A deployment is active and publicly reachable |
error | Something 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:
| Status | What it means |
|---|---|
not_started | No database has been created for this project yet |
provisioning | Flash Launch is creating the DB resources |
active | The database is provisioned and usable |
error | Setup failed or the DB state needs attention |
This is why the database tab pairs status with actions:
Set Up Databasewhen nothing exists yetCheck Healthafter 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.
| Status | What it means |
|---|---|
unbound | No hostname has been attached yet |
pending_ownership | Flash Launch is waiting for the TXT record that proves you control the hostname |
pending_dns | The hostname is stored, but DNS is not pointing correctly yet |
verifying | DNS is correct and Flash Launch is waiting for HTTPS readiness |
issued_cert | Treated as part of the verifying stage in the current UI |
active | The custom domain is connected and HTTPS is live |
error | Something 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:
Ownership verification— user actionDNS setup— user actionVerify / issue cert— system actionHTTPS 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 state | What it means |
|---|---|
queued | The job exists and is waiting to run |
running | Work is actively executing |
retrying | A previous attempt failed and the system will try again |
succeeded | The job finished successfully |
failed | The 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 state | Job state | Interpretation |
|---|---|---|
Domain = pending_ownership | Job = retrying | Flash Launch is still checking, but the TXT ownership record is not visible yet |
Domain = pending_dns | Job = retrying | Flash Launch is still checking, but your DNS is not ready yet |
Domain = verifying | Job = queued or running | DNS is probably correct, and the system is still checking HTTPS readiness |
Database = provisioning | No user-visible job list entry required | The system is still creating DB resources |
Static Site = live | No active jobs | Publishing 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 Siteshould not benot_deployedDatabaseshould beactiveif your app needs stateDomainshould beactiveif you want the project on a real custom hostnameJobsshould 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":
deployingprovisioningpending_ownershippending_dnsverifyingqueuedrunningretrying
These usually mean "intervene" rather than "wait":
errorfailed- 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:
- the badge
- the last checked or updated time
- the attached error message, if any
- the action hint, if any
- 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:
- Which feature surface is affected: static site, database, or domain?
- Is the current state incomplete, or actually failed?
- Is there a job still running or retrying?
- 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_ownershipmeans "I still need to add or wait for the TXT ownership record"pending_dnsmeans "I still need to fix or wait for the A record"verifyingmeans "the system is still working on HTTPS readiness"provisioningmeans "the resource request has been accepted and is still in progress"retryingmeans "the platform has not given up yet"activeorlivemeans "this capability is currently usable"errororfailedmeans "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.