Skip to content

Frontend Applications

Jubiloop has two production frontends and a UI prototype. Each application owns its routing, application state, route compositions, and runtime configuration while sharing selected workspace packages.

Applications

ApplicationPurposeMain stackDocumentation
apps/webappAuthenticated event-planning applicationReact 19, Vite, TanStack Router, TanStack QueryWeb Application
apps/marketingPublic pages, blog, and early-access signupNext.js 15 App Router, Sanity, TanStack QueryMarketing Site
apps/ui-prototypeMock-data UI exploration before production implementationReact 18, Vite, React RouterUI Prototype

The webapp uses Better Auth and organization hooks from @jubiloop/auth-client, with Tuyau for other server routes. The marketing site is public and uses Tuyau for health and newsletter requests. Its blog reads published content from Sanity. The prototype does not define production API or product behavior.

Shared Packages

The production frontends import reusable controls, styles, icons, and class utilities from @jubiloop/ui. Each app keeps a small CSS wrapper and app-specific source scan. The complete shared component and styling contract lives in UI Components Package.

Other shared contracts are described in Shared Packages:

  • @jubiloop/auth-client for configurable auth and organization client behavior;
  • @jubiloop/shared-types for API envelopes and shared error codes;
  • @jubiloop/logger for structured, environment-aware logging;
  • workspace ESLint, TypeScript, and Vitest configurations.

Development

The full-stack Docker workflow runs the production frontends with the API and local services:

bash
pnpm run dev:stack:up
pnpm run dev:stack

Use the application pages above for app-specific build, test, and architecture details.

Built with ❤️ by the Jubiloop team