A modern journaling application that gets you reflecting deeper by generating personal, context-aware follow-up questions. Next to that, the styling of the journal is made to make the practice of journaling more joyous.
You start by typing how your day went. The goal is to just let you type, remove the hurdle of phrasing it a certain way, don't think too much about it (when you're done, use command + Enter to submit). The AI journal will pick up on it and have a small chat conversation with you. The goal is to let you reflect a bit deeper on your day. Throughout this chat, the journal will ask 3 questions:
- the first question lets you go deeper into one aspect of your day. This will be done by asking one of 4 types of questions: reframer, challenger, meta-reflector, or deepener question.
- the second and third question are designed to make you zoom out, think out of the box and get you out of your initial train of thought. They will be 2 (randomly chosen) out of these categories: environments & places, gratitude & highlights, imagination & metaphors, learning & growing, micromoments & joys, people & relationships, senses & embodiment.
After reflecting and answering these questions, a prompt for an accompanying image will be proposed. You can change the prompt, and when you're ready, click "generate image". The journal entry will be saved with this image.
Your brain feels different throughout the day, and so should your journal. The colors of the journal will move together with the colors of the sky. In the morning, the colors are blue, during sunset it's pink, and at night it's dark purple.
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher) - Download here
- Git - Download here
- Vercel CLI - Install with
npm install -g vercel - Vercel Account - Sign up here
- Openrouter API key - Sign up here
- Recraft API key - Sign up here
- Langfuse Account (Required for LLM tracing) - Sign up here
-
Clone the repository
git clone https://github.com/yourusername/ai-journal.git cd ai-journal -
Install dependencies
# Install backend dependencies npm install # Install frontend dependencies cd frontend npm install cd ..
-
Set up environment variables
# Copy the example environment file cp .env.example .envEdit the
.envfile with your actual API keys and secrets. See.env.examplefor the required variables. -
Initialize Langfuse prompts (First-time setup only)
# Option 1: Run directly node api/scripts/init-langfuse-prompts.js # Option 2: Use npm script cd api && npm run init-prompts
This script uploads all journaling prompts to your Langfuse account. You only need to run this once during initial setup. After this, you can edit and manage all prompts directly in your Langfuse dashboard.
-
Run the development server
# Start the full-stack application with Vercel vercel dev -
Access the application
- Application: http://localhost:3000
- The Vercel dev server will handle both frontend and backend routing
-
Install Vercel CLI
npm install -g vercel
-
Deploy to Vercel
vercel
-
Set environment variables in Vercel
- Go to your Vercel dashboard
- Select your project
- Go to Settings → Environment Variables
- Add the same variables from your
.envfile
-
Initialize Langfuse prompts (First-time setup only)
# Option 1: Run directly node api/scripts/init-langfuse-prompts.js # Option 2: Use npm script cd api && npm run init-prompts
Run this before your first deployment to upload all prompts to Langfuse.
-
Configure Vercel Blob Storage
- In your Vercel dashboard, go to Storage
- Create a new Blob store
- Copy the
VERCEL_BLOB_READ_WRITE_TOKENto your environment variables
-
Deploy
vercel --prod
Your AI Journal will be live at your Vercel URL!




