Building a Full-Stack Workspace Task Manager with Real-Time Notifications
I didn’t want to build another basic to-do app.
Most task apps stop at simple CRUD. Add task. Mark complete. Done.
I wanted something closer to a real product.
So I built Nexus Tasks — a workspace-based project and task management system with authentication, team collaboration, real-time notifications, timeline visualization, and cross-platform desktop support.
🔗 View the Project on GitHub 🚀 Live Demo
Why I Built This
I needed a project that goes beyond tutorials.
Something that includes:
- Authentication
- Multi-user system
- Backend logic
- Real-time behavior
- Deployment to real infrastructure
- Cross-platform application support
A simple task app wouldn’t teach that.
So I designed a system where multiple users can collaborate inside isolated workspaces, deployed it to the cloud, and extended it into a desktop application.
The Core Idea
Each user belongs to a workspace.
Inside that workspace:
- Projects are created
- Tasks are organized under projects
- Members collaborate on shared work
- Projects can be planned using start and end timelines
- Progress is visualized through a Gantt-style schedule and deadline tracking
This structure allows teams to manage multiple streams of work without confusion.
No user should see data outside their workspace.
That was the main constraint.
Tech Stack
Frontend:
React, TypeScript, Vite, Tailwind CSS, Zustand, Framer Motion, ShadCN UI
Backend:
Node.js, Express
Database:
MongoDB with Mongoose
Authentication:
JWT and bcrypt
Notifications:
Novu (email + in-app)
Desktop:
Tauri (cross-platform desktop app using the same React UI)
Deployment:
AWS (EC2 for backend), Vercel (frontend)
Key Features
- Workspace-based multi-user system
- Project-based task organization
- Project-aware filtering and task views
- Multi-project workflow support
- Gantt-style project timeline (plan-based scheduling)
- Deadline tracking dashboard for upcoming tasks
- Secure authentication with JWT
- Password reset with email workflows
- Task creation, updates, and assignments
- Team management
- Real-time notification inbox
- Dashboard with project insights and quick navigation
- Global search, filtering, and sorting
- Cross-platform desktop application (Windows, macOS, Linux)
Project Timeline & Visualization
Get Sandun Madhushan’s stories in your inbox
Join Medium for free to get updates from this writer.
One of the most valuable improvements was adding project-level planning.
Instead of only managing tasks, the system now supports structured timelines.
Users can:
- Set plan start and estimated completion months for each project
- Visualize project timelines using a Gantt-style chart
- Track upcoming deadlines across tasks
This adds a planning layer on top of task management and helps users understand progress at a higher level.
The focus was to keep it simple, readable, and useful without making the system overly complex.
Big Challenges
- Workspace Isolation
Making sure users only access their own data was harder than expected. Every API needed validation. Every query had to be scoped. - Authentication Flow
Login is easy. Secure login is not. Handling token expiry, password hashing, and reset flows required careful design. - Notifications
I didn’t want fake notifications. I wanted real workflows. Using Novu helped me create:
- Task assigned alerts
- Deadline reminders
- Password reset emails
4. State Management
Managing tasks, users, filters, and UI state together can get messy. I used Zustand to keep things simple and predictable.
5. Deployment
Deploying the backend on AWS introduced challenges like environment configuration, process management, and ensuring the server stays stable.
6. Desktop Integration
Running the same application as a desktop app introduced challenges like API communication, environment configuration, and handling platform-specific behavior.
7. Timeline Visualization
Designing a Gantt-style project timeline that is simple, readable, and does not overload the UI required careful structuring.
What I Learned
- Real systems are about structure, not just features
- Security should be built from the start
- Clean state management improves scalability
- Project-based organization improves usability
- Desktop and web integration require careful planning
- Deployment is a critical part of development
- Timeline visualization adds more value than basic task tracking
Project-level thinking improves system usability
What’s Next
I want to improve:
- Improve performance
- Enhance accessibility
- Refine UI consistency
- Improve desktop experience
- Explore scaling the system further
Final Thoughts
This project changed how I approach software development.
It’s not just about building features.
It’s about designing, deploying, and maintaining systems that work across platforms in real-world conditions.
If you’re building projects, go beyond CRUD.
“Build systems. Deploy them. Extend them. Learn from them”




