Overview
Novus Task is a multi-tenant SaaS task and project management platform I designed and built end to end. It helps teams organize work across Kanban, calendar, Gantt, list, and sprint views, with roles, plan-based limits, and optional billing. The goal was a focused alternative to bloated project tools: one product that covers planning, collaboration, and reporting without a heavy frontend framework.
What was included
- Multi-tenant companies with roles (admin, editor, user, guest) and project-level access
- Task management: board drag-and-drop, filters, subtasks, dependencies, recurrence, archive, bulk actions, drafts, comments with @mentions, custom fields
- Project organization: workspaces, groups, custom statuses, reusable status templates
- Sprint planning with story points, burndown/velocity reporting, and CSV/PDF export
- Collaboration: invites, in-app notifications with email preferences, support tickets, in-app guides
- Integrations: Slack task creation, Google Calendar / Outlook / Apple CalDAV sync
- Monetization: subscription plans, usage limits, Stripe billing (optional)
- Platform admin: tenant/plan management, white-label branding (enterprise), REST API with API keys
- Security basics: email activation, password reset, TOTP 2FA, login history, CSRF protection
- Developer experience: migrations, PHPUnit tests, Docker Compose local stack
Challenge
Building a full SaaS product alone meant solving several hard problems at once: isolating tenant data safely, supporting multiple task views on one data model, gating features by plan without fracturing the UX, and shipping billing, invites, and integrations without a large framework. The hardest product constraint was keeping the interface fast and simple while still supporting agile workflows (sprints, dependencies, custom fields) that teams actually use day to day.
Approach
I built a custom PHP MVC monolith with a clear separation of routes, controllers, models, and views, and a session + API layer for the same business logic. Core workflows stayed server-driven for reliability; interactive pieces (board reordering, search, editors) used progressive JavaScript on top of a REST-style API. Multi-tenancy and roles were enforced in the application layer from the start, with plan checks at feature boundaries. Billing, email, spreadsheet import, and PDF export were handled through focused libraries rather than reinventing them. Local Docker covered app, database, and mail catcher so development mirrored production closely enough to ship confidently.
Next step
Want this level of thinking for your product?
I can help shape the strategy, design the UX, and ship the build.