The all-in-one customer support platform. Making good customer support extremely easy.
Website • Discord Community • Documentation
FrontDesk is an open-source customer support platform designed to help you assist your customers wherever they are. Built with design as a first-class citizen, it provides a seamless and lightning-fast experience for both support teams and customers.
- Beautiful, Modern UI - Thoughtfully designed interface built with TailwindCSS and shadcn/ui
- Lightning Fast - Built on TanStack Start for optimal performance
- Real-time Updates - Live state synchronization for instant updates
- Multi-channel Support - Connect with customers via Discord and more
- Multi-tenant - Support multiple organizations with subdomain routing
- Secure Authentication - Built-in auth with Better Auth
- Responsive Design - Works seamlessly across all devices
- Developer Friendly - TypeScript, modern tooling, and excellent DX
- Node.js 18 or higher
- pnpm (package manager)
- Docker (for local development with database)
-
Clone the repository:
git clone https://github.com/frontdeskhq/front-desk.git cd front-desk -
Install dependencies:
pnpm install
-
Set up environment variables:
cp apps/api/.env.local.example apps/api/.env.local
Update the environment variables in
apps/api/.env.localwith your configuration. -
Start the development servers:
pnpm dev
This will start:
- Frontend web app (typically on
http://localhost:3000) - Backend API server (typically on
http://localhost:3333) - Discord bot (if configured)
- Frontend web app (typically on
This project uses a monorepo structure powered by Turborepo and pnpm workspaces.
front-desk/
├── apps/
│ ├── api/ # Backend API (Express + live-state)
│ ├── discord/ # Discord bot integration
│ ├── waitlist/ # Waitlist landing page
│ └── web/ # Frontend application (TanStack Start)
├── packages/
│ ├── emails/ # Email templates
│ ├── schemas/ # Shared Zod schemas
│ └── ui/ # Shared UI components (shadcn/ui)
└── docker-compose.yaml # Local development setup
- Frontend: TanStack Start, React, TypeScript, TailwindCSS
- Backend: Express, live-state, Better Auth
- Database: PostgreSQL
- Styling: TailwindCSS, shadcn/ui
- Build Tool: Vite, Turborepo
- Package Manager: pnpm
We welcome contributions! Whether you're fixing bugs, adding features, or improving documentation, your help makes FrontDesk better for everyone.
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature) - Make your changes and ensure code follows project standards
- Commit your changes (
git commit -m 'feat: Add amazing feature') - Push to your branch (
git push origin feat/amazing-feature) - Open a Pull Request
- Follow the existing code style and conventions
- Write clear commit messages following Conventional Commits
- Add tests for new features when applicable
- Update documentation as needed
Note: We're working on a comprehensive contributing guide. In the meantime, feel free to open an issue or reach out on Discord if you have questions!
This project is licensed under the AGPL License - see the LICENSE file for details.
Made with love by the FrontDesk team