← All Projects
CAMPAIGNDagster Labs

I built the entire Databricks Summit toolkit. Solo, in 3 days.

Dagster needed a campaign system for a 10,000-person conference. Landing pages, a mobile companion app that doubled as the primary lead generation engine, a QR swag system, sales collateral, lead capture, and the infra to run it all.

Next.js 14TypeScriptTailwind v4SQLiteDockerEKSFlux GitOps
11
Pages & routes
2
API endpoints
15+
Team users
0
Downtime (4 days)
Databricks Summit campaign landing page
Campaign landing page — hero, messaging pillars, Calendly booking
Summit Sipper companion app
Companion app — happy hours, restaurants, schedule
QR swag redemption system
QR swag system — email capture + code generation

No frontend engineer. 10,000-person conference. A few days.

Dagster was exhibiting at Databricks Data + AI Summit 2026 at Moscone Center, San Francisco. Marketing had the messaging. Design had the brand system. Nobody had the engineer. I took the brief and turned it into 11 production routes: landing pages, a mobile app, a swag system with QR codes, printable sales collateral, lead capture that syncs to Google Sheets, and the Kubernetes deploy to run it all.

Four systems, one codebase. The companion app is the centerpiece.

01

Campaign Landing Page

The page sales sent to every prospect

Hero with conference details, four messaging pillars, an integration diagram showing how Dagster connects to Databricks, a co-sponsored happy hour promo, and Calendly booking with UTM tracking. Every color, font, and component pulled from the Figma design system.

FrontendBrand
02

Summit Sipper Companion App

The lead gen engine disguised as a conference guide

Mobile-first companion app that became the campaign's primary lead capture tool. Four sections: happy hours near the summit, restaurants and bars near Moscone with star ratings and walking times, the full conference schedule with Dagster events highlighted, and a swag redemption flow. Every interaction funneled attendees through the QR swag system, turning casual app usage into qualified leads. Designed to be the thing people pull up on their phone between sessions — and the reason they gave us their email.

Lead GenFrontendFilteringMobile
03

QR Swag System

Attendee enters email. Booth scans code. Sheets gets the lead.

Three interfaces, one flow. Attendees generate a branded QR code with their email (idempotent: returning visitors get their existing code). Booth staff scan it with a phone camera to confirm redemption. An admin dashboard shows real-time stats. Every interaction syncs to Google Sheets for lead capture. SQLite handles the backend with zero external database dependency.

FrontendAPICamera
04

Sales Collateral

One-pager that prints clean. Hub that kills 'where's the asset?' messages.

Web-native one-pager with separate print CSS tuned for paper output, verified to fit on a single printed page. Plus an internal collateral hub with LinkedIn banners, post images, and HTML email signatures, all downloadable in one place.

Print CSSSalesInternal Tool

Small decisions that compound

  • Swag codes are idempotent. Re-entering your email returns your existing code, not an error.
  • Restaurant filters stack three layers deep (type + vibe + price) with a clear-all escape hatch.
  • Schedule defaults to Dagster-relevant events so attendees see what matters first.
  • Print CSS is tuned separately. Colors, borders, backgrounds all adjusted for paper.
  • Booth admin uses dark theme because expo lighting washes out light UIs.
  • QR scanner auto-redeems on scan. No extra tap when you're processing a line of people.

What's under the hood

AppNext.js 14 (App Router), 11 pages (SSR + client components), 2 API routes
DataSQLite (better-sqlite3, WAL mode), Google Sheets webhook (fire-and-forget)
DesignTailwind v4 + custom design system, brand tokens (Dagster Blurple, Databricks Orange), print-optimized CSS
DeployDocker, ECR, EKS (Kubernetes), Flux GitOps (auto-deploy on merge), Tailscale ingress
CI/CDGitHub Actions, automated image builds, Flux image reconciliation

The whole thing was one person

Full scope, no handoffs

Design compliance, frontend, backend, API design, database schema, Docker, Kubernetes deploy, CI/CD, and content. No design handoff. No backend team. No DevOps ticket. I owned every layer.

Production, not a prototype

This ran at a real conference with 10,000+ attendees. The sales team used it for meeting booking. The booth staff used it for swag. It was the system, not a demo of one.

Brand-faithful

Every color, font, and component pattern pulled from Dagster's Figma design system and validated with the design team. Co-branded with Databricks per partnership guidelines.

AI-assisted development

Built with Claude Code. I designed, directed, reviewed, and iterated. AI accelerated the implementation. This is how I work. Not a novelty, a workflow.

Need a campaign system built fast?

Let's Talk