A note-taking app that uses AI to subtly question and prompt you as you write to make your journals more introspective. Additionally, Clearview is designed with accessibility in mind. This means a UI with legible fonts and bright contrasting colours, the ability to record and read journals using speech-to-text and text-to-speech, and suggestions for beginners. Clearview is built using React, Tailwind, Next.js, Material UI, and Shadcn for the frontend and Supabase, MongoDB, and Gemini for the backend.
Go to super-big.tech to test it out
- Beautiful UI using Shadcn and Material UI
- Rich text editing with TipTap
- Discord open authentication using Supabase
- Responsive design usin GSAP and Three
- Tag system for filtering journals
- Search for journals by contents
git clone https://github.com/sharonbasovich/Clearview.git
cd clearview
npm installl- Create a new project at supabase.com
- Go to your project settings > APIAPI
- Copy your project URL and anon key
- In your Supabase dashboard, go to Authentication > Providersers
- Enable Discord provider
- Go to Discord Developer Portal (https://discord.com/developers/applications)
- Create a new application
- Go to OAuth2 settings
- Add redirect URI:
https://your-project.supabase.co/auth/v1/callback - For local development, also add:
http://localhost:54321/auth/v1/callback - Copy the Client ID and Client Secret to your Supabase Discord provider settings
- Create a MongoDB Atlas cluster at mongodb.com
- Create a database user and get your connection string
- Whitelist your IP address or use 0.0.0.0/0 for development
- Go to Google AI Studio
- Create an API key for Gemini
- Copy the API key for environment variables
Create a .env.local file in the root directory:
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_OR_ANON_KEY=your_supabase_anon_key
# Google Generative AI Configuration
GOOGLE_API_KEY=your_google_ai_api_key
# MongoDB Configuration
MONGODB_URI=your_mongodb_connection_string
# Discord OAuth (for NextAuth fallback - optional)
DISCORD_CLIENT_ID=your_discord_client_id
DISCORD_CLIENT_SECRET=your_discord_client_secret
# NextAuth Configuration (if needed)
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_random_secret_keynpm run devVisit http://localhost:3000 to see the application.
If you want to use Supabase CLI for database management:
# Install Supabase CLI
npm install -g @supabase/cli
# Initialize Supabase in your project
supabase init
# Link to your existing project
supabase link --project-ref your_project_reference
# Pull existing schema
supabase db pulll- User clicks "Sign In" on the landing page or tries to access protected route
- Redirected to
/authwith Discord authentication - After successful authentication, redirected to
/app(main notes interface) - User data and avatar fetched from Discord profile