A premium full-stack AI-powered database assistant that lets users create and manage custom databases using natural language. Built with modern technologies and featuring a beautiful, responsive UI.
- Zero SQL Required: Create databases and query data using plain English
- AI-Powered: GPT-4o-mini generates schemas, SQL queries, and intelligent suggestions
- Per-User Isolation: Each user gets their own secure, isolated database tables
- Banking Integration: Sync transactions from your bank accounts via Plaid
- Beautiful UI: Premium design inspired by Alex Bender's aesthetic
- Production-Ready: Built with Supabase PostgreSQL, FastAPI, and Next.js 14
Want to get started immediately? Check out QUICKSTART.md for a streamlined setup guide!
For detailed Supabase setup instructions, see SUPABASE_SETUP.md.
- Frontend: Next.js 14 (App Router) + TailwindCSS + shadcn/ui
- Backend: FastAPI + Python
- Database: Supabase PostgreSQL (per-user isolated tables)
- AI: OpenAI GPT-4o-mini
- Banking: Plaid API
- β User authentication with JWT and bcrypt password hashing
- β Per-user isolated database storage with Supabase PostgreSQL
- β Natural language database creation using GPT-4o-mini
- β Dynamic UI form generation based on schema
- β AI-powered natural language to SQL query conversion
- β Database management (create, delete, view)
- β Smart schema generation from natural language descriptions
- β Intelligent field suggestions and auto-population
- β Auto-categorization of items
- β Expiration date predictions for food items
- β AI-generated descriptions for database entries
- β Natural language query interface
- β Add, remove, and edit database fields
- β Enable/disable fields before creation
- β User-friendly field type labels (Number, Text, Date, etc.)
- β Optional vs required field configuration
- β Real-time schema preview
- β Plaid banking integration for transaction sync
- β Automatic transaction mapping to database schema
- β Secure token management
- β Premium Alex Bender-inspired design
- β Custom hero image on landing page
- β Smooth animations with Framer Motion
- β Responsive design for mobile and desktop
- β Glass morphism and 3D effects
- β Modern typography with Inter Tight font
/
βββ backend/ # FastAPI backend
β βββ app/
β β βββ main.py
β β βββ database.py # PostgreSQL/Supabase integration
β β βββ models.py
β β βββ auth.py
β β βββ ai_agent.py
β β βββ sql_validator.py
β β βββ plaid_integration.py
β βββ requirements.txt
β βββ .env # Contains DATABASE_URL for Supabase
β
βββ frontend/ # Next.js frontend
βββ app/
βββ components/
βββ lib/
βββ public/
-
Set up Supabase (see SUPABASE_SETUP.md for detailed guide):
- Create account at https://supabase.com
- Create new project
- Get your DATABASE_URL from Project Settings β Database
-
Navigate to backend:
cd backend- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Create
.envfile:
DATABASE_URL=postgresql://postgres:[PASSWORD]@db.xxxxx.supabase.co:5432/postgres
OPENAI_API_KEY=your_openai_key
PLAID_CLIENT_ID=your_plaid_client_id
PLAID_SECRET=your_plaid_secret
PLAID_ENV=sandbox
JWT_SECRET=your_super_secret_jwt_key- Run backend:
uvicorn app.main:app --reload --port 8000The database tables will be created automatically on first startup!
- Navigate to frontend:
cd frontend- Install dependencies:
npm install- Create
.env.local:
NEXT_PUBLIC_API_URL=http://localhost:8000- Run frontend:
npm run dev- Open browser:
http://localhost:3000
POST /api/auth/signup- Create accountPOST /api/auth/login- LoginGET /api/auth/me- Get current user
GET /api/databases- List user databasesPOST /api/databases/create- Create database via natural languageDELETE /api/databases/{db_id}- Delete database
POST /api/execute/sql- Execute SQL queryPOST /api/execute/natural- Natural language commandGET /api/data/{db_id}- Get all data from databasePOST /api/data/{db_id}/insert- Insert data via form
POST /api/ai/suggest-expiration- Get expiration date suggestionPOST /api/ai/categorize- Auto-categorize item
POST /api/plaid/create-link-token- Get Plaid Link tokenPOST /api/plaid/exchange-token- Exchange public tokenPOST /api/plaid/sync-transactions- Import transactions
- Supabase project and DATABASE_URL
- API keys in
.envfiles - Secure hosting environment for deployment (Vercel, Render, Fly.io, etc.)
- Email + password for account
- Natural language database descriptions
- Optional: Plaid banking credentials
- β Password hashing with bcrypt
- β JWT token authentication
- β SQL injection prevention
- β User isolation (users can only access their own data)
- β Destructive operation confirmation
- β Input validation and sanitization
The UI follows the premium Alex Bender aesthetic:
- Soft white backgrounds with lilac/purple tints
- Floating 3D glass elements
- Smooth gradients and shadows
- Modern typography (Inter Tight)
- Generous whitespace
- Fluid animations
Initial codebase architecture and implementation assisted by Claude (Anthropic).
MIT