Switchyard

Portfolio demo · Production-shaped, not production-grade

Lead intake that lands in
ClickUp, not a CRM-shaped silo.

Switchyard captures inquiries from your contact form, Upwork notifications, Fiverr DMs, and forwarded email — normalizes them, enriches them, scores them, and lands them as structured ClickUp tasks in your sales pipeline. ClickUp status changes mirror back so the local mirror never drifts.

Multi-source ingest

One signed endpoint per source — contact forms, Upwork email, Fiverr DMs, generic webhooks, manual paste-in. Each source has its own HMAC secret and parser.

Enrichment built-in

Service-tag keyword match, portfolio-example suggestions, a 0-100 lead score over budget, timeline, contact completeness, and tag confidence.

Bidirectional mirror

ClickUp task created from a lead carries IDs back in custom_fields. When a deal moves in ClickUp, the local lead mirror reflects it via signed webhook.

Replay-safe

Inbound idempotency keys, signed bodies with replay-tolerance, queue-job idempotency on clickup_task_id. Audit-logged events for every state transition.

Tenant-scoped

Every resource is workspace-bound by global scope. Bearer keys, OAuth tokens, and webhook secrets are per-tenant; cross-tenant leaks are structural impossibilities.

OpenAPI-first

Hand-curated openapi/spec.yaml; Scalar-rendered try-it console at /docs; Spectral-linted in CI. SDKs can be generated from the spec when needed.

Architecture

Laravel 13 API + queue workers, MySQL 8 store, Redis queue, Filament v5 admin, Next.js 16 docs + demo. ClickUp v2 OAuth (no PKCE; raw Authorization header). Atomic-release deploys on EC2 fronted by Apache + php-fpm. SSE not required in Phase 1 — Phase 2 status board layers in over the same primitives.

In
  • POST /v1/leads (bearer)
  • POST /webhooks/inbound/{workspace}/{slug} (HMAC)
  • Filament: paste-in form
Out
  • POST /list/{id}/task → ClickUp
  • POST /webhooks/clickup/{workspace} (mirror back)
  • lead_events audit log

Phase 1 today. Phases 2-4 on the roadmap.

Lead intake ships now. The roadmap previews client status board (Phase 2), proposal → project scaffolder (Phase 3), and time → invoice automation (Phase 4) — all built on the existing tenant + event seams.