axialFeedback

Cover Image for axialFeedback
Pierre-Yves Léglise
Pierre-Yves Léglise
Posted underProjects

Idea Box & Roadmap SaaS for Developers

Modern Multi-Tenant Architecture — Per-App Feedback Platform

axialFeedback is a multi-tenant SaaS platform that lets developers embed an idea box, a public roadmap, and release announcements into any website or application. It is designed for product teams who want to collect user feedback, prioritize what to build next, and communicate shipped features — without building these tools from scratch.

Each application gets its own independent subscription, its own idea board, and its own audience. Multiple apps can be managed under a single organization account. The same stack powers axialdata products (KaraoNow, PlayItNow, etc.) and is available for other developers via SDK.

Technical Stack

Frontend:

  • React 18 + TypeScript
  • Vite for build and development
  • Tailwind CSS 4
  • Redux Toolkit for state management
  • React Router for navigation
  • Client dashboard (organization & app admin) and Superadmin dashboard as separate React SPAs

Backend:

  • Fastify (high-performance HTTP framework)
  • MongoDB Atlas with Mongoose (ODM) — dual database (AUTH + APP)
  • Zod for schema validation
  • JWT with refresh tokens and httpOnly cookies
  • API token system for SDK access (sk_embed_, sk_client_, sk_server_, sk_admin_)
  • Stripe integration planned for per-app subscriptions

Shared / Infrastructure:

  • Monorepo architecture (pnpm workspaces)
  • packages/shared — types, enums, constants, Zod schemas (single source of truth)
  • packages/ui-kit — shared React components
  • Docker multi-stage builds + Coolify for self-hosted deployment

Security and Authentication

The authentication model separates dashboard users from end-user SDK traffic:

  • JWT access + refresh tokens for client admins, app admins, and superadmins
  • httpOnly cookies (SameSite=lax for client dashboard, strict for superadmin)
  • Refresh token rotation on each refresh
  • SDK requests authenticated via hashed API tokens (HMAC-SHA256 lookup), never JWT from the host app
  • Role-based access: superadmin, client_admin, app_admin
  • Strict multi-tenant isolation: every query is scoped by organizationId and appId
  • Dual MongoDB databases: AUTH (users) and APP (organizations, apps, ideas, roadmap, announcements)

Main Features

For End Users (via SDK):

  • Idea submission (title, description, category)
  • Voting (likes) and comments
  • Public roadmap (Planned | In Progress | Deployed)
  • Announcements feed for releases and updates
  • Multilingual UI (7 languages: FR, EN, ES, IT, PT, JA, ZH)
  • Light / dark theme support

For App Admins:

  • Idea moderation (approve, reject, prioritize, assign to versions)
  • Duplicate / spam detection
  • Roadmap management (kanban-style workflow)
  • Announcements (create, schedule, publish, link to roadmap versions)
  • Per-app analytics (ideas by status, engagement)

For Client Admins (Organization):

  • Multi-app management under one organization
  • Team members and roles
  • Per-app billing (Free / Startup / Pro)
  • API key generation and rotation (shown once at creation)

SDK Options:

  • @axial/feedback — npm package for React / modern frameworks
  • @axial/feedback-embed — lightweight script tag for HTML, CMS, WordPress
  • @axial/feedback-wordpress — native WordPress plugin (planned)

Multi-Tenant Architecture

The platform is built around a per-app model. An organization owns multiple apps; each app has its own subscription, idea board, roadmap, and announcements. Backend middleware resolves tenant context from the API token (SDK) or JWT (dashboards), then filters all data access by organizationId + appId. No cross-tenant data leakage by design.

Organization (Client)
├── App 1 ── Subscription (Free / Startup / Pro)
│       └── Ideas, Comments, Likes, Roadmap, Announcements
└── App 2 ── Subscription
        └── Ideas, Comments, Likes, Roadmap, Announcements

Subscription & Pricing

Pricing is per app, not per organization — a deliberate product choice so teams only pay for the apps that need feedback tools.

  • FREE — 0 €/month, 15 ideas max/app, roadmap + likes/comments, no announcements
  • STARTUP — 19 €/month per app, higher active-user limits, announcements, support
  • PRO — 59 €/month per app, unlimited usage, priority support
  • Trial — 14 days full access, no credit card required

Stripe Checkout and webhooks handle subscription lifecycle (planned / in progress).

Internationalization

Full product i18n for 7 languages: French, English, Spanish, Italian, Portuguese, Japanese, Chinese. SDK and dashboards share the same language strategy.

Performance & Deployment

  • Monorepo builds with pnpm filters
  • Multi-stage Docker images for API and dashboards
  • Coolify on VPS (self-hosted PaaS)
  • Separate preprod / prod domains and databases
  • Structured logging (Pino)

Currently in active development (backend core, auth, ideas/comments/likes APIs, dashboards scaffolding).

Resources:

<< Back

More projects :

Cover Image for Game event landing page demo

Game event landing page demo

Form validation. Simple landing page example to play with form validation in Javascript. Ressources : Live demo Github repository

Cover Image for izyElec

izyElec

NF C 15-100 Jobsite Pocket Reference Offline-first Progressive Web App for electricians izyElec is a free Progressive Web App designed as a chantier aide-mémoire for French residential electrical work under NF C 15-100. It helps electricians and installers quickly look up room requirements, cable sizing hints, earthing / equipotential bonding notes, bathroom volumes 0 / 1 / 2, glossary […]

PortFolio Development - axialfeedback - Pierre-Yves Léglise