Memoir Notes
A secure full-stack note-taking application with real-time synchronization and JWT-based authentication.

The Stack
Summary
Memoir Notes was engineered as a demonstration of full-stack architectural competency, bridging the gap between frontend state management and backend data persistence. The project addresses the fundamental challenge of building a secure, scalable note-taking system where user authentication, CRUD operations, and real-time data synchronization must work seamlessly across distributed environments. It serves as a technical proof-of-concept for end-to-end application development—from database schema design to production deployment.
What I Built
I architected a complete full-stack application featuring a RESTful API backend built with Node.js and Express, paired with a React frontend utilizing Axios for efficient HTTP communication. The system implements JWT-based authentication with refresh token rotation for enhanced security, modular Express controllers for clean separation of concerns, and MongoDB for flexible document-based data storage. Key features include secure CRUD operations with protected routes, optimized data fetching with client-side state management, and persistent user sessions managed through HTTP-only cookies.
The Approach
My engineering philosophy centered on building a production-grade architecture that balances security, performance, and maintainability. On the backend, I structured the Express API using a modular controller-service pattern with custom middleware for authentication and error handling. For the frontend, I implemented a clean component architecture with React's built-in state management, keeping the application lightweight while maintaining full reactivity. The authentication layer implements industry-standard practices: access tokens for API authorization and refresh tokens for session persistence, with automatic token rotation to mitigate security risks.
The Result
The final product is a fully deployed, production-ready application that demonstrates a comprehensive understanding of modern full-stack development. By successfully integrating a Node.js backend with a React frontend and deploying them independently—backend on Railway, frontend on Vercel—Memoir Notes showcases my ability to architect, build, and ship complete web applications. The project stands as tangible evidence of my capability to handle both client-side and server-side development, manage complex data flows, and implement secure authentication systems from scratch.