Autoweave Notes is a modern, AI-enhanced note-taking application built with React, TypeScript, and Supabase. It combines the power of traditional note-taking with advanced AI features to help you organize and analyze your thoughts more effectively.
- 📝 Rich Markdown editing with live preview
- 📁 Folder organization for notes
- 🏷️ Tag support for better organization
- 🔗 Wiki-style linking between notes
- 📊 Visual graph view of note connections
- 🌓 Multiple theme options (Light, Dark, Dim, Nord, Sunset)
- 📱 Responsive design for all devices
- 🤖 AI Assistant Sage (RAG) for summarizing and
- 🔍 Semantic search using OpenAI embeddings
- ✨ AI-powered note cleanup and formatting
- 🔗 Intelligent note linking suggestions
- 🌐 Public note sharing via unique links
- 🔒 Secure authentication system
- 👥 Multi-user support
- 🔐 Row-level security for data protection
- Node.js 16+
- npm or yarn
- Supabase account
- OpenAI API key
- Clone the repository:
git clone https://github.com/amalrajiv/autoweavenotes.git
cd autoweavenotes
- Install dependencies:
npm install
-
Create a Supabase project:
- Go to Supabase Dashboard
- Create a new project
- Note down the project URL and anon key
-
Set up environment variables:
cp .env.example .env
Update the following in your .env
:
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Set up the database schema:
- Navigate to the SQL editor in your Supabase dashboard
- Execute all migration files from the
supabase/migrations
folder in order - The migrations will create all necessary tables, functions, and policies
-
Start the development server:
npm run dev
-
Authentication Setup:
- Go to Authentication > Providers
- Enable Email auth
- (Optional) Configure additional providers (GitHub, Google, etc.)
-
Storage Setup:
- Storage bucket for attachments is created automatically via migrations
- Verify the
note-attachments
bucket exists - Check storage policies are correctly applied
-
Real-time Setup:
- Go to Database > Replication
- Enable real-time for:
- notes
- folders
- backlinks
- tags
-
Database Indexes:
- Vector similarity search index is created via migrations
- Verify indexes are created for optimal performance
- Build the application:
npm run build
-
Deploy to Netlify:
- Connect your GitHub repository to Netlify
- Set build command:
npm run build
- Set publish directory:
dist
- Add environment variables:
VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Custom Domain Setup:
- Add your custom domain in Netlify settings
- Update DNS records as per Netlify instructions
- Enable HTTPS
-
API Keys:
- Never expose service role key
- Users provide their own OpenAI API keys via settings
- Use environment variables for sensitive data
-
Security:
- RLS policies are automatically set up via migrations
- Review and test all security policies
- Enable MFA for admin accounts
-
Monitoring:
- Set up error tracking (e.g., Sentry)
- Monitor database performance
- Set up alerts for critical errors
-
Backup:
- Enable point-in-time recovery in Supabase
- Set up regular backups
- Document recovery procedures
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.