Component Showcase

Review components and flag for removal. Reference by number/letter.

Legacy Components (Review)

#ComponentDescription
1HowItWorksSectionStep-by-step workflow section with 5-layer architecture
2ImpactSectionDORA metrics impact visualization
3KeyAdvantagesSectionKey advantages comparison grid
4CompetitiveSectionCompetitor comparison table
5PainPointCardPain point quote card
6StatCardStatistic display card with source
7FeatureCardFeature highlight card
8TerminalHeaderTerminal-style section header

New Components (Keep)

#ComponentDescription
APersonaSelectorHorizontal persona tabs with localStorage
BStickyPersonaSelectorFloating persona switcher
CArchitectureDiagram5-layer SVG with persona highlighting
DTeamDashboardTeam collaboration visualization
EPluginHoverBlockCode block with plugin tooltips
FMacroDocumentationPort macro before/after demo
GVideoPlaceholderVideo placeholder with play button

New Components

A PersonaSelector

One config file. All your dev environments.

asd.yaml configPort macrosHot reloadLocal tunnels

B StickyPersonaSelector

Scroll down to see the floating persona switcher in the bottom-right corner.

C ArchitectureDiagram

D TeamDashboard

5
Team Members
3
Active Now
8
Active Tunnels
Team Hub
Alice - Ship features faster

Alice

Lead Dev

Working
3
Bob - Debug production safely

Bob

Backend

Working
2
Carol - Share UI instantly

Carol

Frontend

Away
1
Frank - Schema changes made easy

Frank

Data Eng

Working
2
Eve - Find bugs first

Eve

QA

Offline

Real-time Visibility

See who's working on what

Access Control

Role-based permissions

Environment Isolation

Separate dev environments

E PluginHoverBlock

asd.yaml

F MacroDocumentation

Dynamic Port & Secret Allocation

Used in tpl.env template files

1 Template (tpl.env)

ASD_CADDY_PORT_HTTP=getRandomPort()
MY_PORT=getRandomPort(min=X,max=Y)
ASD_BASIC_AUTH_PASSWORD=getRandomString(length=N)

2 Generated (.env)

ASD_CADDY_PORT_HTTP=???
MY_PORT=???
ASD_BASIC_AUTH_PASSWORD=???

Template Macros (tpl.env)

Macro FunctionDescription
getRandomPort()Allocates a random available port from OS ephemeral range (30000-65000)
getRandomPort(min=X,max=Y)Allocates a random port within a specific range
getRandomString(length=N)Generates a cryptographically secure random string
getRandomString(length=N,charset=X)Random string with specific charset: alphanumeric, safe, hex

Manifest Template Variables (*.yaml)

SyntaxDescription
${{ env.VAR_NAME }}Reference an environment variable in manifest YAML
${{ macro.bcryptEnv(VAR) }}Bcrypt hash an environment variable (for basic auth)

How It Works

  1. 1 Define ports/secrets in tpl.env using macro functions
  2. 2 Run asd init to expand macros into .env
  3. 3 Reference generated values in manifests with ${{ env.VAR }}
  4. 4 Port registry prevents conflicts across all your services

G VideoPlaceholder

Demo Video

This is a placeholder for video content

3:45
Coming Soon

Saved Components (For Later Use)

S1 CTO Quote Block

Saved from How It Works page - use in testimonials or trust section

"

Every broken environment is a tax on your best engineers.

K
Kelvin

CTO, ASD B.V.


Legacy Components (For Review)

1 HowItWorksSection

ARCHITECTURE

The ASD Stack

Orchestration-as-a-Service: Five layers from user to infrastructure.

USERS
Developer
CLI, IDE, Dashboard
AI Agent
Claude Code, Cursor
Team
Shared environments
PRODUCTS
ASD Manager
SaaS Platform
Auth ยท Billing ยท RBAC
.ASD CLI
DevOps Framework
Automation ยท Health
ASD Dashboard
Zero-Backend PWA
Fragment Sharing
ASD.host
Static Hosting
EU ยท Hetzner
OAAS
Config
asd.yaml
Manifests ยท Env vars
Discovery
Service Registry
5-level Health
Tunneling
SSH Reverse
Ephemeral Tokens
Auth
Basic ยท JWT
OAuth/OIDC
DTAP
Development
Laptop ยท Codespace
Test
CI Runner ยท PR Env
Acceptance
Self-hosted ยท On-prem
INFRA
Cloud
Supabase ยท Stripe ยท Hetzner
Open Source
Sish ยท code-server ยท Caddy
Runtime
Bun ยท Node ยท Just ยท Deno
Users
Products
OAAS Layer
DTAP Environments
Infrastructure
THE FLOW

What happens when you run asd start

Your Machine
localhost:3000
ASD CLI
Reads asd.yaml
Tunnel Server
SSH reverse tunnel
1. Parse

CLI reads asd.yaml and detects services

2. Connect

Establishes encrypted SSH tunnel to relay server

3. Route

Caddy configures routes and TLS certificates

4. Serve

Public URL maps to your local port

Result: https://your-project.tunnel.asd.host โ†’ localhost:3000
CORE COMPONENTS

What each part does.

.ASD CLI

DevOps automation framework. Portable Git submodule.

โ€ข Core โ€” Automation runner, macros, sandbox
โ€ข Network โ€” Service registry, health checks
โ€ข Caddy โ€” Ingress routing, TLS, auth
โ€ข Tunnel โ€” SSH reverse tunnels, credentials
Runtime: Bun + Just + Golang

Caddy Server

Local reverse proxy with automatic HTTPS.

โ€ข Path-based routing to services
โ€ข Automatic TLS via Let's Encrypt
โ€ข Basic auth per route
โ€ข Live config via Admin API :2019
One domain, many services

Tunnel Server (Sish)

SSH-based reverse tunnel relay. EU hosted.

โ€ข Relay only โ€” no data stored
โ€ข Ephemeral tokens per session
โ€ข Custom CNAME domains
โ€ข HTTP/HTTPS + TCP + SNI tunnels
Hetzner, Amsterdam NL

ASD Dashboard

Zero-backend PWA. Runs entirely in browser.

โ€ข Service status at a glance
โ€ข One-click URL sharing
โ€ข Fragment-based state (no server)
โ€ข Works offline after first load
Static files only
THE MANIFEST

One file defines your entire environment.

asd.yaml Project root
network:
  services:
    app:
      dial: "127.0.0.1:5173"
      tunnelPrefix: "demo"
      path: "/"
    api:
      dial: "127.0.0.1:8080"
      path: "/api"
    code:
      dial: "127.0.0.1:8443"
      path: "/code"

automation:
  dev:
    - npm run dev
  test:
    - npm run test
1

Declares services

Maps local ports to URL paths. ASD routes /api to port 8080, /code to port 8443.

2

Sets tunnel prefix

Your subdomain: demo.tunnel.asd.host. Or use your own domain via CNAME.

3

Defines automation

Named command groups. asd dev runs your dev workflow. asd test runs tests.

4

Portable across machines

Same file works on laptop, CI runner, Codespace, or self-hosted server. Zero per-machine config.

DEPLOYMENT OPTIONS

Choose your infrastructure model.

Most Popular

Shared

Multi-tenant tunnel server. Fastest to start.

No infrastructure to manage
Instant setup
EU data residency
Shared bandwidth pool
Best for
Individual devs, small teams

Dedicated

Your own tunnel server. We manage it.

Isolated resources
Custom domain branding
SLA guarantees
Priority support
Best for
Growing teams, agencies

Self-Hosted

Run everything on your infrastructure.

Full control
Air-gapped deployments
Compliance friendly
No external dependencies
Best for
Enterprise, regulated industries
SECURITY MODEL

Where your data flows and what we never see.

Your Machine

Code, data, secrets stay here

Encrypted

Relay

Pass-through only

Collaborator

Sees only what you expose

What stays local

  • โ€ข Your source code
  • โ€ข Database contents
  • โ€ข Environment variables
  • โ€ข API keys and secrets
  • โ€ข All application data

What touches relay

  • โ€ข HTTP request headers (routing)
  • โ€ข TLS handshake (encrypted)
  • โ€ข Connection metadata only
  • โ€ข No logging of payloads
  • โ€ข Session-scoped tokens

Zero-backend dashboard: The ASD Dashboard is a static PWA. No server. State lives in URL fragments โ€” we literally cannot see your service list.

Ready to see it in action?

Start free. No credit card required.

100% EU hosted โ€ข Amsterdam, NL โ€ข Zero vendor lock-in

2 ImpactSection

THE IMPACT

Every broken environment is a tax on your best engineers.

When teams can't quickly reach the environments where things actually break, they lose time, focus, and confidence. Toil goes up, incident response slows down, and your best people debug infrastructure instead of shipping features.

Slower Delivery

Configuration drift and developer friction blow up Cycle Time and Lead Time for changes. Developer productivity metrics suffer.

Higher MTTR

Every incident starts with "who can even reach this environment?" Root cause analysis tools can't help if you can't access the system.

Onboarding Drag

New engineers spend weeks wrestling with environment setup instead of contributing. Fast developer onboarding requires standardized environments.

Security Risk

Ad-hoc SSH keys and long-lived VPNs make audits painful and leave access trails incomplete.

3 KeyAdvantagesSection

WHY ASD WINS

Why ASD beats screen sharing, VPNs, and log dashboards.

Replace fragmented tools with a unified collaboration layer that gives everyone interactive access to real environments.

vs Screen sharing

Problem

One person drives; others watch and dictate. Doesn't work on headless servers.

ASD

One shared dashboard URL with code server, browser terminals and database tools on the same environment โ€” every role works in parallel, not through one driver.

vs VPN + SSH

Problem

Long-lived keys, hard to audit, risky to manage.

ASD

Short-lived, session-scoped tunnels with full audit trails.

vs Log dashboards

Problem

Logs show symptoms, not system behavior. Slow to debug distributed failures.

ASD

Step directly into the failing environment and run live experiments together.

vs DIY scripts

Problem

Scripts rot; config drift breaks onboarding and 'works on my machine.'

ASD

Standardized shared environments guarantee reproducibility and instant productivity.

4 CompetitiveSection

COMPARISON

Everything they charge extra for, we include.

One platform. All the tools. No enterprise tax. Compare ASD to the alternatives and see why teams are switching.

Feature Comparison

FeatureASDngrokCloudflare TunnelGitHub Codespaces
HTTP/HTTPS tunnelsโœ“โœ“โœ“โœ—
TCP tunnelsโœ“โœ“โœ“โœ—
UDP tunnelsโœ“โœ—โœ—โœ—
Self-hosted optionโœ“Ent.โœ—โœ—
EU data residency (100%)โœ“โ—Ent.Ent.
Integrated web IDEโœ“โœ—โœ—โœ“
Database GUI includedโœ“โœ—โœ—โœ—
Web terminal includedโœ“โœ—โœ—โœ“
HTTP debugger/inspectorโœ“โœ“โœ—โœ—
Works offlineโœ“โœ—โœ—โœ—
No session time limitsโœ“โœ“โœ“Paid
Open sourceโœ“โœ—โœ—โœ—
Full support Not available โ— Partial Ent. Enterprise only

Cost Comparison

Monthly cost for a 10-developer team

ngrok

โ‚ฌ70

/month

  • No dev tools
  • US control plane

Codespaces

โ‚ฌ80

/month

  • Cloud only
  • No tunneling
BEST VALUE

ASD

โ‚ฌ88

/month

  • All tools included
  • Self-host option

Prices for a 10-developer team. ASD includes IDE, database GUI, terminal, HTTP debugger, and request replay.

5 PainPointCard

"Example pain point"
This is an example description of a pain point that users experience.

6 StatCard

84%
of dev time on non-coding
IDC Survey 2024

7 FeatureCard

๐Ÿš€
Sample Feature
This is a sample feature card demonstrating the component.

8 TerminalHeader Keep

EXAMPLE HEADER