Back to work

Salesforce platform

OK | Flows

OK | Flows started as a polished Typeform alternative and evolved into a serious Salesforce journey platform. It combines visual authoring, a one-question-at-a-time experience, routing logic, secure prefill, server-to-server CloudPage delivery, audience URL generation, abandonment recovery, gamification, and operational documentation.

OK | Flows interface showing an advanced platform for forms, journeys, and Salesforce Marketing Cloud.

Year

2026

Duration

435+ estimated hours

Budget range

€€.€€€

Service

Product platform

Case notes

What had to be solved and how it was shaped.

Open live project

Challenge

The real challenge was designing a platform that served several roles at once: campaign authors, journey designers, Salesforce operators, and analysts. It had to feel simple in the UI while supporting complex logic, secure data, Marketing Cloud integration, and operational control.

Solution

I built the architecture on Next.js 16, Supabase/PostgreSQL, and Salesforce Marketing Cloud. Builder, player, logic, delivery, prefill, media, responses, and gamification are separated into clear layers. The result is a product-level tool, not just a collection of screens.

Outcome

A state-of-the-art product that goes beyond classic forms: a governed interaction, personalization, capture, and activation layer for complex campaigns.

Results

  • Complete forms, surveys, and journey platform, not just a basic builder
  • SFMC integration with CloudPages, Data Extensions, secure prefill, and cron jobs
  • Operational model with runbooks, tests, audit, logs, and deployment documentation

Scope

Product architectureVisual builderRuntime playerSFMC deliverySecure prefillGamificationAnalytics

Technology

A stack chosen for the job, not for decoration.

Next.js 16 App RouterReact 19TypeScriptSupabase AuthSupabase PostgreSQLSalesforce Marketing CloudCloudPagesAMPscript / SSJSCloudflare R2Framer MotionGSAPZodReact Hook FormJWT PrefillOpaque Prefill TokensCron JobsServer-to-server Webhooks

Capability map

Every layer that makes this project substantial.

Product positioning

OK | Flows works as a governed interaction layer for Salesforce campaigns, not as a generic form tool.

  • Visual authoring for multi-step forms and surveys
  • Journey orchestration with conditional logic
  • Personalization from CRM context and audience data
  • Capture, enrichment, and writeback into Marketing Cloud
  • Product foundation for campaigns, promotions, and acquisition experiences

User surfaces

The product covers marketing, authentication, dashboard, builder, public runtime, and internal operations.

  • Public site with homepage, templates, docs, blog, security, pricing, contact, and legal pages
  • Login, magic link, Google OAuth, reset password, and auth callback
  • Protected dashboard with form list, folders, creation, editing, and settings
  • Public runtime at /f/[slug] with one-question-at-a-time interaction
  • Internal pitch surface for management or business teams

Visual builder

The editor is not a flat settings panel; it includes canvas, inspector, preview, block library, and publishing flow.

  • Create, select, duplicate, delete, insert, and reorder questions
  • Inline editing for titles, descriptions, options, and CTAs
  • Contextual inspector for advanced block-specific configuration
  • Step preview and full-flow preview
  • Undo/redo, keyboard shortcuts, publish warnings, and preflight checks

Block catalog

The system supports simple, structured, hidden, calculated, and campaign-oriented blocks.

  • Short text, long text, dropdown, multiple choice, checkboxes, email, phone, number, and date
  • Rating, opinion scale, NPS, statement, legal consent, matrix, ranking, and image choice
  • Hidden field, hidden JSON, calculated field, website URL, file upload, yes/no, and date time
  • Slider, numeric range, address, contact, date range, availability, allocation, and semantic differential
  • Best/worst, qualification gate, open numeric grid, location intent, preference center, and constant sum

Theming and visual experience

The visual layer allows branded experiences without touching code.

  • 6 base themes: Midnight, Ocean, Sunset, Forest, Lavender, and Minimal
  • Controls for width, fonts, buttons, radius, spacing, backgrounds, and surface emphasis
  • Header image, logo, logo-only, logo-plus-title, minimal, and plain layouts
  • Legal footer, links, shell presentation, and alignment controls
  • Success pages with image, multiple CTAs, links, reward image fit, and different style treatments

Runtime and respondent UX

The public player is optimized for speed, accessibility, and personalized paths.

  • One-question-at-a-time navigation with progress and per-step CTAs
  • Keyboard navigation with Enter, arrows, hotkeys, and optional scroll wheel
  • Mobile-first, responsive shell, dynamic header/footer, and path-aware back navigation
  • Type validation, required fields, consent capture, qualification gates, and file upload
  • Hardened accessibility: semantics, labels, alt text, shift-tab behavior, and interactive states

Logic, visibility, and simulation

The system includes a real journey logic, audit, and simulation layer before publishing.

  • Conditional branching by answers or SFMC/prefill context
  • Operators equals, not_equals, contains, not_contains, exists, and not_exists
  • All/any match modes, first-match-wins evaluation, and default fallback
  • Conditional show/hide visibility per block and structured subfield targeting
  • Path simulator with sample answers, context, loop detection, hidden-target skips, and unreachable blocks

Secure prefill and personalization

One of the strongest differentiators: personalization without exposing unnecessary PII in URLs.

  • Signed JWT prefill with expiration and formId
  • Opaque prefill tokens to reduce visible URL data
  • Server-side resolution before rendering the journey
  • Prefill available for hidden fields, logic, visibility, and personalized content
  • Endpoints for individual generation, bulk tokens, and audience sync

Salesforce Marketing Cloud

The SFMC integration is built for real operations: CloudPages, Data Extensions, mapping, logs, and security.

  • Global CloudPage settings: endpoint, signing secret, key id, and enable/disable
  • Per-form delivery enable, target Data Extension, insert/upsert, and upsert key
  • Mapping for response fields, structured subfields, metadata, raw answers, and system fields
  • Signed server-to-server webhook with replay protection, timestamp skew, and idempotency
  • Integration delivery logs with delivered/failed status, payload snapshots, and target response

Partial responses and recovery

The product captures abandoned progress without blocking the respondent experience.

  • Per-form partial capture toggle
  • Draft endpoint, response_drafts table, and debounced autosave
  • localStorage backup and sendBeacon flush on page exit
  • Cron sync to SFMC for incomplete drafts
  • Delete-on-success cleanup and retries on delivery failure

Audience prefill runs

OK | Flows can prepare large campaigns by writing personalized URLs into Data Extensions.

  • Persisted runs with draft, running, paused, completed, and failed states
  • Create, launch, pause, resume, update, delete, and cron-driven continuation
  • Batch progression, counters, run history, active-run banner, and campaign id propagation
  • Row-level locking with leases to avoid double processing
  • Copyable AMPscript/JWT fallback when managed runs are disabled

Gamification and rewards

Gamification is designed as a controlled campaign system, not decorative animation.

  • Prize pools with weighted instant-win allocation
  • Finite inventory, no-reward state, reward cards, and celebration effects
  • Direct reveal, wheel, slots, and symbol/segment configuration
  • Discount code lists, claimed-code awareness, and reward image handling
  • Events, prize metrics, reveal rate, win rate, and participation volume

Media, analytics, and operations

The platform includes media library, response dashboard, exports, and operational evidence.

  • Media upload, deletion, browsing, R2 storage, and builder picker
  • Responses dashboard with search, filters, CSV export, and individual inspection
  • Metrics for responses, prizes, inventory, win rate, reveal rate, and top mechanic
  • CloudPage, SFMC, prefill, partial sync, opaque prefill, and live verification runbooks
  • SFMC tests, technical documentation, and feature logs for team onboarding

Next project

If your website no longer represents what you do, it is time to rebuild it with intention.

Start a conversation