AskIt is a premium, high-performance AI web application featuring an advanced multi-modal agentic architecture. It seamlessly integrates Retrieval-Augmented Generation (RAG), Model Context Protocol (MCP), and vision-based reasoning within a sleek, neuromorphic user interface.
Built entirely on the modern Next.js 15 App Router and powered by Bun, AskIt utilizes Supabase as a robust vector store and authentication provider, creating a secure and highly scalable conversational AI platform.
- Multi-Modal Agentic AI: Supports complex, multi-step reasoning using tools (like
search_documents) and natively processes both text and image inputs (vision API). - High-Performance RAG: Automatically chunks, embeds (via OpenAI), and stores uploaded documents in a Supabase
pgvectordatabase for low-latency semantic retrieval during chat. - Neuromorphic Design System: A meticulously crafted visual identity featuring a black, pink, and white palette, smooth Framer Motion animations, and beautiful typography (Playfair Display and Inter).
- Secure Authentication: Integrated Supabase Auth offering both traditional email/password and seamless Google OAuth sign-in.
- Production-Ready Dockerization: Highly optimized
standaloneoutput configuration for easy containerization and deployment to modern cloud platforms like AWS App Runner or ECS Fargate.
The application stack is chosen for maximum developer velocity and production performance:
- Runtime & Package Manager: Bun
- Framework: Next.js 15 (React 19, Turbopack)
- Database & Auth: Supabase (PostgreSQL, Auth, Row Level Security,
pgvector) - AI & Orchestration: Vercel AI SDK, OpenAI (
gpt-4o,text-embedding-3-small), Groq, Google Generative AI - Styling & UI: Tailwind CSS, Framer Motion, Neuromorphic design principles
The repository is organized to separate the public landing experience from the secure application core.
src/app/— Next.js App Router routes including the landing page (/), authentication pages (/login,/signup), and the core application interface (/app).src/app/api/— API routes handling the streaming chat interface, multimodal processing, and document ingestion (chunking, embedding, storing).src/lib/— Core utilities including the Supabase client logic and the RAG engine handling pgvector matching.supabase/migrations/— Essential SQL schemas defining profiles, documents, chunks, chats, messages, Row Level Security (RLS) policies, and thematch_chunksRPC function.
Ensure you have Bun installed, then clone the repository and install dependencies:
cd askit
bun install- Create a new project at supabase.com.
- Navigate to the SQL Editor and run the initial migrations sequentially:
supabase/migrations/00001_initial.sqlsupabase/migrations/00002_match_chunks.sql
- Enable Google under Authentication → Providers and add your Google OAuth credentials.
- Set the redirect URI to
https://<your-project-ref>.supabase.co/auth/v1/callback. - Retrieve your Project URL and anon (public) key from Settings → API.
Create a .env.local file in the root directory:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
OPENAI_API_KEY=sk-...
# Add other required API keys (Groq, Google, etc.) as needed.Start the development server using Turbopack for ultra-fast compilation:
bun run devThe application will be accessible at http://localhost:3000.
AskIt is fully configured for Dockerized deployment, making it trivial to host on AWS.
docker build -t askit-app .
docker-compose upAWS App Runner provides a zero-management container deployment experience.
- Create a repository in the AWS ECR Console named
askit. - Authenticate your local Docker daemon to your AWS ECR registry.
- Tag and push the
askit-app:latestimage to your newly created ECR repository. - Navigate to AWS App Runner, select Container Registry -> ECR, and point it to the
askit:latestimage. - Set the port to
3000and map your runtime environment variables (from.env.local). - Click Create Service.
Important: Once deployed, update your Supabase Site URL and Google Cloud Authorized JavaScript origins with the generated App Runner public URL.
MIT License