Focused task management without the noise.
A secure full-stack task application rebuilt from an earlier MERN project.
Live: clearlist-chameleon.vercel.app
Stack: React · Vite · Redux Toolkit · Node.js · Express · MongoDB · JWT · GitHub Actions
Status: v2 · Complete / Live
The original application was first recovered and preserved in its last known-working form, then secured, modernised and rebuilt while preserving the truthful progression of the project.
Original MERN learning project → recovered and verified → working legacy baseline preserved → dependencies modernised → authentication and data security hardened → frontend rebuilt as Clearlist → responsive and accessibility QA → production-ready release.
- User registration
- Secure login and logout
- Private authenticated task workspace
- Create and delete tasks
- Persistent MongoDB storage
- Account-owned task data
- User-isolated task retrieval and deletion
- Responsive desktop and mobile interface
- Custom Clearlist identity and navigation
- Accessible forms, labels and interaction states
- React 19
- Vite 8
- Redux Toolkit
- React Redux
- Axios
- Vitest
- Testing Library
- Bricolage Grotesque
- Manrope
- Node.js
- Express
- MongoDB
- Mongoose
- JSON Web Tokens
- bcryptjs
The original application authenticated users but did not associate individual tasks with their owners.
Clearlist corrects this by:
- assigning each task to the authenticated user
- restricting task retrieval to that user
- restricting deletion to that user
- protecting task routes with authentication
- clearing account-specific task state after logout or authentication failure
- using environment variables for production MongoDB and JWT configuration
- refusing production startup when required secrets are missing
The modernised application has passed:
- Backend automated tests
- Client automated tests
- GitHub Actions CI — backend tests, client tests and production build
- Functional QA
- Registration and authentication QA
- Task create/delete QA
- Persistence QA
- User-isolation QA
- Responsive desktop/mobile QA
- Mobile navigation QA
- Production build verification
- Lighthouse accessibility audit — 100/100
WCAG 2.2 AA was used as the accessibility baseline for the public interface.
- Install backend dependencies with
npm install. - Install client dependencies with
npm install --prefix client. - Copy
.env.exampleto.env. - Configure
MONGO_URI,JWT_SECRETandPORT=5050. - Start Clearlist with
npm run dev.
Development services:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:5050
Run npm run build.
Vite generates the production client in client/dist.
Live application: https://clearlist-chameleon.vercel.app
Production requires:
MONGO_URIJWT_SECRETNODE_ENV=production
The original project history has not been overwritten.
A known-working legacy baseline is preserved in the legacy/working-baseline-2026-08-14 branch so the progression from the earlier MERN implementation to Clearlist remains visible and verifiable.
Chameleon Unicode Studios
Cape Town, South Africa · 2026
Legacy recovery · Security hardening · Full-stack modernisation
MIT
