Manage is an open-source project management platform designed for teams seeking full control over their data and workflows. Built with TypeScript and Node.js/Bun, it provides a collaborative environment for tracking tasks, managing projects, and communicating without relying on third-party SaaS tools. Its emphasis on self-hosting ensures data security and compliance while offering flexibility for custom deployments.
The platform supports PostgreSQL for data storage, S3-compatible storage for file uploads, and SMTP servers for email notifications. It can be deployed with a single click via Railway or manually on any Node.js/Bun-compatible infrastructure, making it ideal for organizations prioritizing privacy, customization, and open-source governance.
What You Get
- Self-hosting capability - Deploy Manage on your own infrastructure using Node.js/Bun, with full control over data and infrastructure without vendor lock-in.
- PostgreSQL database support - Uses PostgreSQL as the primary data store for reliable, scalable project data management.
- S3-compatible file storage - Optional integration with S3-compatible services (like MinIO or AWS S3) for secure, scalable file uploads and asset management.
- SMTP email notifications - Configurable SMTP server integration to send project updates, task alerts, and team notifications via email.
- Intuitive interface - User-friendly UI designed to streamline project tracking, task assignment, and team collaboration without a steep learning curve.
- Open-source flexibility - Full access to source code under AGPL license, enabling customization, auditing, and community-driven improvements.
Common Use Cases
- Running a private tech team’s project tracker - A startup uses Manage to host its own project board internally, ensuring sensitive roadmap data stays behind their firewall.
- Managing academic research projects - A university lab deploys Manage to coordinate multi-member research teams with deadlines, file sharing, and task assignments without cloud dependencies.
- Compliance-sensitive industry workflows - A healthcare or finance team uses Manage to maintain data sovereignty and audit trails while managing project timelines and deliverables.
- Open-source teams managing contributions - A distributed open-source team uses Manage to track issues, assign tasks, and share documentation without relying on proprietary tools like Jira.
Under The Hood
Architecture
- React/Next.js application leveraging React Server Components to enable server-side rendering and component-level data fetching, minimizing client-side hydration overhead
- Clear separation of concerns through dedicated directories: routes and server components in
app/, business logic and utilities in lib/, and UI primitives in components/ with explicit aliases
- TRPC-based type-safe API layer eliminates REST boilerplate by providing end-to-end type safety between frontend queries and backend procedures
- Dependency injection via centralized service modules like
useDatabase() and getUploadUrl() decouples infrastructure concerns from route handlers and components
- S3 file upload flow follows a clean service pattern with validation in routes, AWS SDK encapsulation in
blobStore, and Drizzle ORM for metadata persistence
- UI components built with shadcn/ui and Radix UI primitives, using Tailwind CSS modules and CSS variables for theming, with reusable hooks for state and side effects
Tech Stack
- Modern SSR/SSG stack with Next.js, React, and TypeScript, fully embracing React Server Components
- Drizzle ORM with PostgreSQL for type-safe database operations and Drizzle Kit for schema management and migrations
- Tailwind CSS with CSS Modules and Radix UI primitives, implementing a consistent themable design system
- tRPC integrated with TanStack Query for type-safe APIs and client-side state management
- Biome as the unified linter/formatter with strict TypeScript and CSS module support, paired with Bun as the package runner
- Vercel for deployment, AWS S3 for file storage, and React Email for templated email delivery
Code Quality
- Consistent component-based architecture with reusable UI primitives and clear separation between layout, data fetching, and presentation
- Strong type safety across frontend and API layers via TypeScript, with properly typed TRPC procedures and React hooks
- Clear and consistent naming conventions enhance readability and maintainability
- Centralized logging improves error traceability but lacks custom error classes, leading to unstructured error propagation and limited recoverability
- Absence of test files or assertions leaves critical functionality unverified, increasing risk of regressions
What Makes It Unique
- Native tRPC integration with server-side query caching and client-side mutation handling enables seamless, type-safe API calls without REST overhead
- Keyboard-driven project navigation with intuitive shortcuts enables lightning-fast context switching unmatched in typical tools
- Automatic timezone detection and persistence via React Query eliminates manual configuration while preserving data consistency
- Unified asset pipeline through direct S3 blob storage and database metadata synchronization, removing external dependencies
- HTML-based mention extraction with real-time user ID parsing enables rich collaboration without proprietary editors
- Dynamic, tenant-aware routing creates a native SaaS-like multi-tenant experience without complex infrastructure layers