SkywardOpsDocs

Demo mode

A full workspace with generated data, no sign-in and no external calls.

Demo mode is what pnpm demo runs. It is the fastest way to see every screen.

What you get

  • No sign-in. You open the app as Avery Morgan, owner of Northwind Aerial Services.
  • Generated data. 64 units over 8 sites, 120 days of hourly fleet metrics, about 2,000 missions, 400 work orders, 900 alerts, flight logs and pilots. The data is deterministic: the same seed gives the same story every time.
  • Resets on restart. Your changes live in memory. Restart the server, or use Reset demo in Settings, to get the original data back.
  • Nothing is sent, flown or charged. Launch, command, send and checkout buttons carry a demo notice. No vehicle is contacted, no email leaves the machine and no card is charged. Maps and the camera feed are drawn procedurally; weather and AI are mocked.

See the role gates with "View as"

Settings has a View as persona switcher. Pick any of the seeded people to see the app with their role and module levels: a mission planner can draft but not launch, a technician cannot sign off their own work, and an agent never gets a launch button.

PersonEmailRoleFleetMissionsMaintenanceSafetyCompliance
Avery MorganHead of operationsavery@northwind.testownerpublishpublishpublishpublishpublish
Jamie PatelMaintenance leadjamie@northwind.testadminviewviewpublisheditview
Deniz YılmazSafety & compliance officerdeniz@northwind.testadminviewpublishviewpublishpublish
Sam RiveraRemote pilotsam@northwind.testmemberpublishpublishvieweditview
Taylor KimTechniciantaylor@northwind.testmemberviewvieweditviewnone
Alex MorganTechnicianalex@northwind.testmemberviewnoneeditviewnone
Priya NairMission plannerpriya@northwind.testmembervieweditnoneviewview
Preflight AgentAI agent · drafts and checks missionsagent-preflight@northwind.testagentvieweditviewviewnone
Maintenance PlannerAI agent · proposes work ordersagent-maint@northwind.testagentviewnoneeditnonenone

Compliance is locked in the demo workspace on purpose, so you can see what a locked module looks like.

Production guard

Demo mode must never serve a real deployment by accident. When DEMO_MODE=true and NODE_ENV=production, the app refuses to start unless ALLOW_DEMO_IN_PROD=true is also set. Set that only for a deliberate public demo.

Never set ALLOW_DEMO_IN_PROD=true on a deployment that holds real data.

On this page