Empowering Teams with Intelligent AI Agent Orchestration
A modern, full-stack platform that seamlessly integrates AI agents with Next.js and Supabase for enhanced productivity and automation.
A modern, full-stack application template with Next.js 13, Supabase, and TypeScript. Visit siden.ai for more information.
This project integrates Next.js with Supabase for authentication, user profiles, settings, and project management.
- Features
- Agents
- Recent Fixes
- Getting Started
- Environment Setup
- Project Structure
- Troubleshooting
- Contributing
- License
- User signup and signin
- Password reset flow
- Email verification
- Persistent sessions across tabs
- Protected routes
- Custom usernames
- Profile pictures (with upload)
- Personal websites and metadata
- Theme preferences
- Email notification preferences
- Create, read, update, delete operations
- Project filtering and searching
- Project permissions based on ownership
| Agent | Description | Key Features |
|---|---|---|
| π Research Agent | Web search and information gathering | β’ Serper API Integration β’ OpenAI Enhancement β’ Citation Support β’ Result Analysis |
| π» Code Agent | Development and coding assistance | β’ Code Generation β’ Documentation β’ Debug Support β’ Multi-language Support |
| βοΈ Writing Agent | Content creation and editing | β’ Technical Writing β’ Email Assistance β’ Style Guidance β’ Content Generation |
| π Analysis Agent | Data processing and insights | β’ Data Analysis β’ Report Generation β’ Decision Support β’ Visualization Tips |
π Research Agent
-
Search Integration
- Web search via Serper API
- Result filtering and ranking
- Source verification
-
Analysis Features
- Content summarization
- Key point extraction
- Citation generation
-
AI Enhancement
- OpenAI integration
- Context understanding
- Relevance scoring
π» Code Agent
-
Development Support
- Code generation
- Bug fixing
- Refactoring suggestions
-
Documentation
- Code documentation
- API documentation
- Usage examples
-
Language Support
- JavaScript/TypeScript
- Python
- SQL
- And more...
βοΈ Writing Agent
-
Content Creation
- Technical documentation
- Blog posts
- Email composition
-
Editing Support
- Grammar checking
- Style suggestions
- Format optimization
-
Specialized Writing
- API documentation
- User guides
- Technical specifications
π Analysis Agent
-
Data Processing
- Data cleaning
- Pattern recognition
- Trend analysis
-
Reporting
- Insight generation
- Report creation
- Visualization suggestions
-
Decision Support
- Data-driven recommendations
- Risk assessment
- Option analysis
- Authentication Persistence: Sessions now persist across tabs and refreshes
- Project Fetching Errors: Fixed error handling in project service
- Improved Auth Callback Handling: Better error handling and user onboarding
- Route Protection: Middleware now properly protects dashboard routes
- Enhanced User Experience: Added loading states and better error messages
Run the SQL commands in src/db/schema.sql in your Supabase SQL Editor to create:
- Profiles table
- Projects table
- User settings table
- Required RLS policies
- Auto-creation triggers for new users
Follow the instructions in src/storage-setup.md to:
- Create an 'avatars' bucket
- Set up RLS policies for the bucket
- Configure access controls
Ensure your Supabase URL and Anon Key are properly configured in src/utils/supabase/config.ts.
For local development, you can also use a .env.local file:
E2B_API_KEY=
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
DATABASE_URL=
SERPER_API_KEY=
SLACK_BOT_TOKEN=
# Supabase Auth configuration
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
# Remove Clerk Auth keys to avoid conflicts with Supabase Auth
# NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
# CLERK_SECRET_KEY=
# NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
# CLERK_SECRET_KEY=- User signup and signin
- Password reset flow
- Email verification
- Persistent sessions across tabs
- Protected routes
- Custom usernames
- Profile pictures (with upload)
- Personal websites and metadata
- Theme preferences
- Email notification preferences
- Create, read, update, delete operations
- Project filtering and searching
- Project permissions based on ownership
The authentication flow is now seamless:
- Sign Up: Creates a new user and automatically creates profile/settings
- Sign In: Persists session across tabs and page refreshes
- Account Management: Update profile, avatar, and settings
- Project Management: Create and manage projects with proper permissions
src/utils/supabase/client.ts- Client-side Supabase clientsrc/utils/supabase/server.ts- Server-side Supabase clientsrc/utils/supabase/middleware.ts- Session refresh middlewaresrc/middleware.ts- Route protection and auth redirectssrc/services/userService.ts- User profile and settings operationssrc/services/projectService.ts- Project CRUD operationssrc/app/auth/callback/route.ts- Auth callback handler for OAuth/email verificationsrc/app/dashboard/account/page.tsx- Account settings pagesrc/app/dashboard/settings/page.tsx- User settings pagesrc/app/signin/page.tsxandsrc/app/signup/page.tsx- Auth pages
- Check browser console for errors
- Verify your Supabase project URL and anon key are correct
- Ensure SQL migrations have been applied correctly
- Clear cookies and local storage if testing auth flows
- Check Supabase authentication logs in the dashboard
- Verify RLS policies are correctly set up
- Check that the user has appropriate permissions
- Confirm the database tables exist with correct schema
- Review Supabase database logs for query errors
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.