A beautiful, modern journaling application for self-reflection and personal growth. Memoir helps you capture your thoughts, track your moods, and organize your memories in a secure and intuitive way.
- Rich Text Editor - Express yourself with a powerful editor supporting markdown, formatting, and more
- Mood Tracking - Tag your entries with moods and visualize your emotional journey over time with beautiful analytics
- Collections - Organize your journal entries into collections and keep your thoughts structured
- Daily Prompts - Get inspired with daily prompts and mood-based imagery to spark your creativity
- Secure & Private - Your thoughts are safe with enterprise-grade security and privacy features powered by Clerk
- Beautiful UI - Modern, responsive design that works beautifully on all devices
- Mood Analytics - Visualize your emotional patterns with interactive charts and insights
This project has been actively modified and improved with new features and bug fixes. Recent enhancements include:
- Enhanced UI/UX - Improved user interface with better responsiveness and modern design patterns
- Performance Optimizations - Faster page loads and smoother interactions
- Bug Fixes - Resolved various issues for a more stable experience
- New Features - Added functionality to improve the journaling experience
- Code Quality - Refactored codebase for better maintainability and scalability
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI
- Authentication: Clerk
- Database: PostgreSQL with Prisma
- Form Handling: React Hook Form with Zod validation
- Rich Text Editor: React Quill
- Charts: Recharts
- Deployment: Optimized for Vercel
- Node.js 18+ and npm/yarn/pnpm/bun
- PostgreSQL database
- Clerk account (for authentication)
- Clone the repository:
git clone https://github.com/yourusername/memoir.git
cd memoir- Install dependencies:
npm install
# or
yarn install
# or
pnpm install- Set up your environment variables. Create a
.envfile in the root directory:
DATABASE_URL="your-postgresql-connection-string"
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="your-clerk-publishable-key"
CLERK_SECRET_KEY="your-clerk-secret-key"- Set up the database:
npx prisma migrate dev
npx prisma generate- Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev- Open http://localhost:3000 in your browser to see the application.
memoir/
├── app/ # Next.js app directory
│ ├── (main)/ # Main application routes
│ │ ├── dashboard/ # Dashboard page
│ │ ├── journal/ # Journal entry pages
│ │ └── collection/ # Collection pages
│ └── page.tsx # Landing page
├── components/ # Reusable React components
├── actions/ # Server actions
├── lib/ # Utility functions and types
├── prisma/ # Database schema
└── public/ # Static assets
npm run dev- Start development server with Turbopacknpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run format- Format code with Prettier
Contributions are welcome! Please feel free to submit a Pull Request.
This project is private and proprietary.

