- Clarity is an AI journal that helps users clear their minds and help them be more productive.
🛁 Project Link
- Clarity is for journalers who find traditional ones insufficient for clearing their minds. It is powered by a custom AI agent whose directive is to be a friend and therapist, offering helpful feedback while revealing underlying issues, and helping to create actionable healthy habits.
📝 Journal users:
- Looking for a private therapist and friend to talk with.
- Wanting a way to create healthier habits tailored to their goals.
- As a user, I want to have a place to write my journal entries.
- As a user, I want to have a look back at my past journal entries.
- As a user, I want to talk to an empathetic friend who talks objectively, helping me gain clarity.
- As a user, I want a summarized entry that affirms my issues.
- As a user, I want to see inspirational quotes on the dashboard to help with my issues.
Client: React, Next.js, TailwindCSS
Server: Next.js, MongoDB API: OpenAI(3.5 Turbo)
- Dashboard (Home)
- Journal entry - Entry prompt
- Journal entry - Conversation with Clarity
- Journal entry - Entry summarization
- Archive of past journal entries
Dashboard | Start | Conversion | Summary | Archive |
---|---|---|---|---|
- As a user, I want suggestions on how I can face such issue(s).
- User can accept a habit/task/project suggestion as a trackable goal.
- The user can authenticate, making the journal secure.
Install clarity with npm
npm install i
cd clarity
Clone the project
git clone git@github.com:strawberrie68/ai-clarity-journal.git
Go to the project directory
cd clarity
Install dependencies
npm install
Start the server
npm start
To run this project, you must add the following environment variables to your .env file. A .env.sample is provided in the file.
DATABASE_URL
- A MongoDb string to connect to the database
NEXT_PUBLIC_OPENAI_API_KEY
- An OpenAI API key from OpenAI
POST /api/users
GET /api/users/${userId}
GET /api/users/${userId}/journals
POST /api/users/${userId}/journal/entries
Parameter | Type | Description |
---|---|---|
userId |
string |
Required. Id of a user to fetch |
GET /api/users/${userId}/journal/entries/${journalId}
PUT /api/users/${userId}/journal/entries/${journalId}/update
PUT /api/users/${userId}/journal/entries/${journalId}/finalize
Parameter | Type | Description |
---|---|---|
journalId |
string |
Required. Id of a journal to fetch |
userId |
string |
Required. Id of a user to fetch |