{
  "name": "gain·stage — Invoicing for Touring Professionals",
  "short_name": "gain·stage",
  "description": "Invoicing built for live sound freelancers. Crew splits, OT by jurisdiction, quarterly tax estimates, encrypted cloud sync. Not another generic freelancer tool — built for the people who load in at 6am.",
  "start_url": "/gainstage/",
  "display": "standalone",
  "orientation": "any",
  "background_color": "#0d0f11",
  "theme_color": "#0d0f11",
  "categories": ["finance", "productivity", "business"],
  "icons": [
    {
      "src": "/gainstage/icon-192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/gainstage/icon-maskable-192.png",
      "sizes": "192x192",
      "type": "image/png",
      "purpose": "maskable"
    },
    {
      "src": "/gainstage/icon-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "any"
    },
    {
      "src": "/gainstage/icon-maskable-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    },
    {
      "src": "/gainstage/icon-1024.png",
      "sizes": "1024x1024",
      "type": "image/png",
      "purpose": "any"
    }
  ],
  "id": "/gainstage/",
  "shortcuts": [
    {
      "name": "New Invoice",
      "short_name": "New",
      "url": "/gainstage/?action=new-invoice",
      "icons": [{"src": "/gainstage/icon-192.png", "sizes": "192x192"}]
    },
    {
      "name": "Dashboard",
      "short_name": "Dashboard",
      "url": "/gainstage/?tab=dashboard",
      "icons": [{"src": "/gainstage/icon-192.png", "sizes": "192x192"}]
    },
    {
      "name": "Expenses",
      "short_name": "Expenses",
      "url": "/gainstage/?tab=expenses",
      "icons": [{"src": "/gainstage/icon-192.png", "sizes": "192x192"}]
    },
    {
      "name": "Clients",
      "short_name": "Clients",
      "url": "/gainstage/?tab=clients",
      "icons": [{"src": "/gainstage/icon-192.png", "sizes": "192x192"}]
    },
    {
      "name": "Insights",
      "short_name": "Insights",
      "url": "/gainstage/?tab=insights",
      "icons": [{"src": "/gainstage/icon-192.png", "sizes": "192x192"}]
    }
  ],
  "screenshots": [
    {
      "src": "/gainstage/screenshots/phone-dashboard.png",
      "sizes": "390x844",
      "type": "image/png",
      "form_factor": "narrow",
      "label": "Dashboard with income stats and recent invoices"
    },
    {
      "src": "/gainstage/screenshots/phone-invoice.png",
      "sizes": "390x844",
      "type": "image/png",
      "form_factor": "narrow",
      "label": "Invoice creation with line items and totals"
    },
    {
      "src": "/gainstage/screenshots/tablet-insights.png",
      "sizes": "1024x768",
      "type": "image/png",
      "form_factor": "wide",
      "label": "Insights Hub with revenue analytics"
    }
  ],
  "file_handlers": [
    {
      "action": "/gainstage/",
      "accept": {
        "application/vnd.gfs.show": [".show"],
        "application/json": [".json"]
      }
    }
  ],
  "share_target": {
    "action": "/gainstage/",
    "method": "POST",
    "enctype": "multipart/form-data",
    "params": {
      "files": [{ "name": "file", "accept": [".show", ".json", "application/json"] }]
    }
  },
  "handle_links": "preferred",
  "launch_handler": {
    "client_mode": "navigate-existing"
  },
  "related_applications": [],
  "prefer_related_applications": false,
  "scope": "/gainstage/",
  "lang": "en",
  "dir": "ltr"
}
