Skip to content

Roadmap

Platform engineering initiatives — staging, logging, AI review, testing, booking, referrals, and location-based marketing.

This is the platform engineering roadmap: infrastructure and product capabilities we are building to operate SoulTales at scale. It is separate from the consumer product roadmap (experience launch phases shown on the contact page).

All items below are planned — none are fully implemented yet.

Add a staging + production flow for the main platform so features can be tested before going live. Today every package deploys straight to production from main; see Environments for current URLs.

PackageStaging target
frontend/staging.soultales.com or *.workers.dev preview
dashboard/staging.ie.soultales.app
backend/ (Directus)Second Fly.io app with min_machines_running = 0
Neon, Turso, R2, KVIsolated staging data (Neon branch, separate Turso DB and R2 bucket)
Clerk / StripeTest-mode keys and staging webhook endpoints
  • Helpdesk — keep production Chatwoot; staging dashboard embeds the same widget.
  • Platform docs — use Cloudflare Pages preview deploys or stay production-only.
  • Neon branching — copy-on-write; one persistent staging branch is typically within the included branch quota; compute scales to zero when idle.
  • Workers — pay per request; staging traffic is negligible at beta scale.
  • Fly.io Directus — the only new always-on-capable VM; with scale-to-zero, you pay compute only during active testing (€1–5/mo) instead of duplicating production’s always-on Directus (€10–11/mo).

Estimated incremental cost: ~€5–15/month with scale-to-zero; ~€15–25/month if staging Directus stays always-on. See Cost projection — staging.

  • GitHub staging environment and secrets manifest
  • Staging deploy workflows (branch-triggered or manual promote)
  • Second Fly app, Workers, KV namespaces, Neon branch, Turso DB, R2 bucket
  • Staging OAuth redirect URIs and Clerk/Stripe test webhooks
  • Run partner scripts and DB migrations against staging before production

Deploy a self-hosted Temps server on Fly.io (with its own Postgres database) to capture errors and warnings from every platform surface: Cloudflare Workers (frontend + dashboard), Fly.io (Directus + Chatwoot), and CI pipelines.

Temps provides Sentry-compatible error reports with request-level logging (method, path, status, response time). Structured stack traces feed directly into AI fixing workflows — agents receive reproducible error context instead of hunting through scattered logs.

Automated AI review on every pull request to catch regressions before merge — especially Cloudflare Workers deploy issues, wrangler config mistakes, and cross-package breaking changes.

This complements existing Cursor rules (e.g. GitHub Actions must use pnpm exec wrangler, not deprecated cloudflare/wrangler-action). Goal: consistent review coverage without blocking human reviewers on routine checks.

Expand test coverage across all monorepo packages:

PackageTarget coverage
frontend/Unit tests for utilities; e2e for listing browse, auth, booking request
dashboard/Unit tests for API routes; e2e for partner login, listing edit, Stripe webhooks
backend/Directus extension tests
helpdesk/Smoke tests post-deploy

Smoke tests run in CI after deploy. Critical user flows get Playwright or similar e2e coverage. See Monorepo commands for existing pnpm check and pnpm build via Turbo.

Replace the current external ticket_link + email request flow with native in-platform checkout:

  • Travelers book and pay directly through SoulTales
  • Partners receive payouts via Stripe Connect to their own accounts
  • SoulTales collects a 5% platform commission automatically on each transaction
  • Partners scan or validate tickets from the dashboard

Builds on the existing Stripe integration (Billing) and partner subscription flows. Replaces the coming-soon Bookings dashboard placeholder and aligns with public roadmap Phase 3 (Integrated Direct-Pay Ticketing).

Upgrade today’s outbound ?ref=soultales parameter on partner ticket links to a full referral and attribution system:

  • Track which partner or platform partner drove each sale
  • Commission reporting tied to Stripe Connect payouts
  • Integration with the booking system (item 5) for end-to-end attribution

Current state: addRefParam() appends ref=soultales to external booking URLs. The referral system adds persistent tracking, partner dashboards, and payout reconciliation.

Add an AI chat assistant to the public site (soultales.com) to help travelers discover experiences, plan trips, and get answers in natural language — integrated with listing and destination data from Directus.

Unlike partner listing translations (dashboard-only), this is traveler-facing and scales with DAU on the public site.

Build a dedicated email marketing platform — vendor and architecture to be decided — for traveler engagement while they are in Ireland:

  • Send news, coupons, and stories matched to each user’s account (interests, favorites, past browsing)
  • Trigger campaigns when a user opens the app from a location in Ireland — surface nearby offers and timely content, not generic blasts
  • Segment by traveler profile so partners can reach the right audience at the right moment

Integrates with the booking system (item 5) for coupon redemption and with PostHog/account data for personalization. Hosting costs for this platform are not included in the current cost projection — see excluded items there.


Staging before prod

App staging on Neon branches and scale-to-zero Fly Directus — test features end-to-end without duplicating helpdesk or paying for idle VMs.

Temps → AI fix loop

Errors captured in production flow back to AI agents with full context, reducing mean time to resolution.

Review + tests gate

AI review and automated tests catch issues before deploy, lowering the cost of each release.

Revenue infrastructure

Stripe Connect booking and referral tracking turn SoulTales from discovery platform into transaction platform.

Traveler AI chat

In-app AI assistant on soultales.com helps travelers discover and plan — integrated with live listing and destination data.

Location-based email

Marketing platform (TBD) sends news, coupons, and stories to travelers in Ireland — matched to their account and triggered when they open the app on the island.