v2.0 Beta Preview

Spanline

The engineering workspace for modern software teams.

From build and test to running in production — every engineering tool in one unified workspace.

Live
Workspace home — every capability
One glance across the product development lifecycle
Capture · Projects · API Studio · Performance · Issues · Observability — and more
Capture128events · 1h
Testing96%pass · 24h
Performance184msp95
Issues3open
Needs attention
IssuesP1 · checkout p95
Releasesv2.1.0 blocked
ConnectionsGitHub · synced
Testing1 fail · checkout
Live now
Capturestripe.charge…
Automationflow · notify
API StudioPOST /checkout
Across the workspace
14:02Capture · inbox stripe-prod200
13:58Testing · checkout-smoke #18421 fail
13:41Performance · checkout_flowpass
13:20Releases · checkout-api v2.1.0blocked
13:18Connections · GitHub #4821 syncedok
12:55Observability · SLO burn 2.1× · checkoutalert
Different from RequestBin / ngrok
Live WebSocket inbox — inspect, verify, replay
Events stream in as they hit. Signature check, Replay, and Forward stay on the same request.
https://in.spanline.dev/s_8f3k2a…
Streaming Replay Forward
POST / 200 OK 18ms 1.2 KB Signature verified
Body Headers Query Raw
Copy Format
{
  "id": "evt_3Mxxxxxx",
  "object": "event",
  "type": "charge.succeeded",
  "created": 1721654400,
  "livemode": false,
  "data": {
    "object": {
      "id": "ch_3Mxxxxxx",
      "amount": 2000,
      "currency": "usd",
      "customer": "cus_9x8y",
      "status": "succeeded"
    }
  }
}
Different from Postman-only HTTP
One collections surface — six protocols
HTTP, GraphQL, gRPC, SOAP, WebSocket, and SSE share variables, auth, and history.
Collections/Acme API/Create workspace {{staging}}
POST
{{baseUrl}}/v1/workspaces
Send
Body Auth Headers Vars
{
  "name": "Production Env",
  "region": "{{region}}",
  "plan": "team",
  "features": ["beta_analytics", "sso"]
}
Response Tests
200 OK124 ms · 842 B
{
  "id": "wksp_9x8y7z",
  "name": "Production Env",
  "region": "us-east-1",
  "created_at": "2026-07-16T10:00:00Z"
}
✓ status is 200
✓ $.id matches /^wksp_/
✓ saved {{workspaceId}}
Different from Zapier / generic IFTTT
Capture-native triggers — no polling
Flows fire on inbox events you already catch. Condition → HTTP → Notify stays in-workspace.
High-value payment alert
Source: Capture inbox stripe-prod · every matching event
98.4% success 161ms p50 1,284 runs
Trigger
stripe.charge.failed
Matched12ms
Condition
amount > 100000
Passed4ms
HTTP
POST /ops/incidents
20189ms
Notify
Slack #payments
Sent56ms
Case library + runner — not just a CI script
Manage cases end-to-end · sync failures to your tracker
Catalog with tags, owners, versions. Link or open issues in Jira, GitHub, Redmine when asserts fail.
48 cases · 3 suites · tags: smoke, checkout, uat owner @qa · Import YAML
checkout-smoke
source: ci · env staging · pin suiteVersion v12 · 1.8s
11/12
CI gate
autoCreate cart session
case · extract → {{cartToken}}
48ms
autoAdd line item ×3 rows
data-driven · linked GH #398
186ms
autoConfirm payment
Jira ACME-1842 · schema miss
94ms
manualUAT: receipt email
Redmine #2201 · awaiting @qa
Confirm payment
case · evidence · tracker sync
status == 200
latency < 300ms
$.order.status == "paid"
expected "paid"
actual "pending"
Sync failure → tracker open · comment · assign
Edit case Create issue Export JUnit ↗ Send to Performance
spanline suite run checkout-smoke --ci --env staging ✗ gate
Different from local-only k6
CLI runs + cloud evidence — compare forever
spanline executes k6; results upload for thresholds, trends, and side-by-side compare.
checkout_flow · smoke
k6 · 500 VUs · 1m30s · ap-southeast-1 · vs run #91
Passed
Compare · p95 −12ms
p95
180ms
< 250ms
avg
112ms
http_req_duration
reqs
24.5k
272 / s
checks
100%
2 / 2
http_req_failed 0.12% / < 1% pass
checks{status is 200} 100% / rate==1 pass
spanline test run checkout_flow.js --name smoke ✓ uploaded
Evidence-backed work items — not a thin tracker mirror
Every open item keeps the failing run attached
Opened from Performance, Testing, or Capture with deep links to the run, suite, and inbox event — sync out through Connections when you map GitHub or Jira.
Open
3
1 blocks release
Evidence
7
runs · suites · events
Synced out
2
GitHub · Jira
Age P1
2h
SLA 4h
Selected · iss_4821
P1
checkout p95 breached on staging
owner @linh · blocks checkout-api v2.1.0
Open
Perf · run_8f3k p95 412ms gate 250ms
Testing · #1842 Capture · s_8f3k ⇄ GitHub #4821
Blocks Releases · checkout-api v2.1.0
Gate “no P1” failed · Observability burn 2.1× on same service
Activity
13:44 linked Perf run · 13:50 synced to GitHub · 14:01 @kai commented threshold
Queue
P1
checkout p95 breached on staging
Performance · run_8f3k · ⇄ GH #4821
Open
P2
POST /checkout assert failed
Testing · case_paid · evidence 2
Open
P3
Webhook signature mismatch spike
Capture · s_8f3k · +18% vs baseline
Triage
Customer API trains — evidence gates, not a changelog
Ship only when suites, k6, and blockers clear
Each version shows gate status with links into Testing, Performance, and blocking Issues — so v2.1 does not ship while P1 or p95 breach is open.
Active
2
trains
Blocked
1
P1 · p95
Shipped
4
last 30d
Gates
2/3
v2.1.0
checkout-api · v2.1.0
checkout-api · v2.1.0
target staging → prod · owner @mina
Blocked
Testingcheckout-smoke 96% · 1 fail linkedwarn
Performancep95 412ms · gate 250ms · run_8f3kfail
IssuesP1 iss_4821 open · blocks shipfail
Why blocked
Perf breach opened Issue P1 · Observability SLO burn 2.1× on checkout-api · auto-hold until gates green
Trains
checkout-api · v2.1.0
Testing warn · Perf fail · 1 Issue
Blocked
checkout-api · v2.0.4
shipped · 12d ago · all gates green
Shipped
payments · v1.8.0-rc.1
gates incomplete · no Perf link
Draft
Evidence trail
13:41Perf fail → gate red → hold v2.1.0hold
13:50Issue P1 linked as blockerblock
12:10Testing suite attached · #1842ok
Cross-product signals — not another APM silo
Correlate Capture · Tests · Perf · Issues on one clock
SLO burn, delivery health, and the failing run share the same timeline — jump from a spike to the inbox event, suite, or release gate.
checkout-api · error budget
68%burn 2.1×
1h 24h 7d
Capture
12.4k
events · 0.4% 5xx
Test runs
318
96% pass · 1 fail
Perf p95
412ms
gate 250ms · breached
Open Issues
3
1 linked to burn
Delivery · correlated load
Active signals
SLO burn · checkout
Perf p95 412ms · Issue P1 · blocks Releases v2.1.0
Signature mismatch spike
Capture · s_8f3k · +18% vs baseline
Suite regression
Testing · checkout-smoke #1842 · assert POST /checkout
Correlated timeline
13:41 Perf breach → Issue P1 → Release blocked chain
13:58 Testing · checkout-smoke #1842 · 1 fail fail
14:02 Capture · stripe.charge.succeeded · verified 200
12:55 Error budget · 68% remaining · burn 2.1× alert
Provider bridge — mappings into each capability
One connection · sync Issues, Releases, and more
See mappings, lag, conflicts, and last sync per provider — two-way with GitHub or Jira without treating Connections as an Issues sub-feature.
Providers
4
2 live · 2 soon
Mappings
6
Issues · Releases
Sync lag
12s
GitHub p50
Conflicts
1
needs review
GitHub · acme/checkout
GitHub
org acme · repo checkout · two-way
Synced
IssuesGitHub Issueslive
ReleasesGitHub Releaseslive
LabelsP1/P2/P3mapped
Conflict · iss_4821
Title diverged after GH edit · Spanline keeps evidence links · review before next push
Last sync
14:01 push iss_4821 → #4821 · 13:50 pull comments · webhook delivery 200
Providers
GitHub
Issues · Releases · lag 12s · 1 conflict
Synced
Jira Cloud
Issues · project CHK · lag 40s
Synced
Linear
Issues · mapping draft
Soon
Redmine
Issues · self-hosted
Soon
Sync activity
14:01Conflict flagged · iss_4821 ↔ #4821review
13:50GitHub ← comments · Issue P1ok
13:44Jira → CHK-221 opened from suite failok

Integrates with

  • GitHub
  • Jira
  • Linear
  • Redmine
  • Slack
  • Lark
  • Telegram
  • Google
  • k6
  • Playwright
  • Stripe

Everything you need.

One shared context for how software is built, verified, shipped, and operated — so teams stop stitching tools together.

Built for the terminal.

Use spanline to run Performance from CI or your laptop. It connects to Spanline by default — no self-hosted server.

  • k6 orchestration via spanline
  • Personal API tokens from Account
  • Secrets stay encrypted on Spanline — CLI decrypts locally
  • Send metrics and compare in the web UI
Install spanline
spanline
# Sign in with a personal API token
spanline auth login --token <api-token>
# Run a k6 Performance script
spanline test run checkout.js --name smoke

Product Development Lifecycle

One workspace from inbound traffic to ship and operate — four phases, zero tool-hopping.

  1. 01

    Build

    Define the product, catch traffic, compose requests, wire flows.

  2. 02

    Verify

    Assert correctness and load before ship.

  3. 03

    Ship

    Track blockers and gate customer versions.

  4. 04

    Operate

    Notify channels and watch the workspace.

One workspace, many roles.

Different roles, shared context across the lifecycle.

When debugging

Debug inbound traffic

Inspect payloads from Stripe, GitHub, and other providers. Verify signatures and headers, then replay failed events while you develop.

When verifying

Test end to end

Chain steps, pass tokens forward, and assert contracts — then reuse the same flows under load.

When organizing

Ready for your organization

Organizations and workspaces with login, SSO, MFA, and plan quotas — security stops at the org boundary.

Simple pricing.

One workspace for the full product lifecycle — including what is still on the roadmap. Start on Hobby, scale when the team grows.

Hobby

$0 during beta

Platform login and one workspace — invite up to five people on Hobby.

  • 1 workspace · 5 members
  • 100 runs / month · 7-day logs
  • Google / GitHub / Apple login · email
  • MFA · Domains · Password policy
  • Projects · Capture · Performance
  • API Studio · Payloads · Automation · Testing Soon
  • Issues · Connections · Releases · Subscriptions · Observability Soon
  • Replays · Forward Rules · Thresholds · Trends · Reports Soon
  • Variables · Environments · Secrets · Tags · Executions Soon
  • AI Assistant Soon
  • Community support
Get started

Business

Soon

Larger orgs — SCIM and longer retention.

  • Everything in Team
  • 10 workspaces · 100 members
  • 10,000 runs / month · 90-day logs
  • SCIM provisioning Soon
  • OIDC enterprise IdP · IdP setup guides Soon
  • Audit retention policies Soon
  • Priority email support
Join waitlist

Enterprise

Custom

Hosted scale and a supported self-host runtime with signed deployment licenses.

  • Everything in Business
  • 50 workspaces · 500 members
  • 100,000 runs / month · 180-day logs
  • Custom retention · Org S3
  • Self-host runtime · deployment licenses
  • Dedicated support · SLA
  • Volume contracts · Marketplace Soon
Contact sales

Trial — full feature unlock for evaluation; expires in 14 days by default. Quotas and features above match Spanline seat packages. Items marked Soon are on the product roadmap.

Spanline

Get started. Ship across the product development lifecycle.

Hobby plan — no credit card required.