An intelligent, full-stack task management system that allows users to seamlessly manage their daily workflow using natural language. Built with a modern tech stack, this application features a sleek, mobile-responsive glassmorphism UI and a powerful AI chat assistant that can create, update, and manage your tasks for you.
| Landing Page | Dashboard |
|---|---|
![]() |
![]() |
- 🤖 AI Task Assistant: Talk to your AI assistant to add tasks, set due dates, and organize your workflow using natural language.
- 🔑 Bring Your Own Key (BYOK): Allow users to override default AI models with their own API keys, securely encrypted at rest (AES-256 Fernet).
- 📊 Modern Dashboard: A beautiful, intuitive dashboard with Kanban-style task grouping, intelligent filtering, and search capabilities.
- 📱 Fully Responsive: Carefully crafted mobile-first design with a sliding navigation drawer and glassmorphism chat overlays.
- 🔐 Secure Authentication: Robust JWT-based authentication system powered by Better Auth.
- 🌗 Theming: Built-in support for Light and Dark modes.
- Framework: Next.js (App Router)
- Styling: Tailwind CSS + Shadcn/UI
- Icons: Lucide React
- Framework: FastAPI (Python)
- ORM: SQLModel
- Database: PostgreSQL (Neon)
- AI Integration: Mistral (or any OpenAI-compatible endpoint)
- Authentication: Better Auth
Follow these instructions to get a copy of the project up and running on your local machine for development and testing.
Make sure you have the following installed:
- Node.js (v18 or higher)
- Python (v3.10 or higher)
- A PostgreSQL database (or a cloud provider like Neon)
git clone https://github.com/0xabdullah27/TaskCortex.git
cd TaskCortexNavigate to the backend directory and set up your Python environment:
cd backend
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install -r requirements.txtEnvironment Variables:
Create a .env file in the backend directory. You can copy the provided example:
cp .env.example .envMake sure to fill in your DATABASE_URL and LLM_API_KEY (with your chosen LLM provider key) in the .env file.
Run the Server:
uvicorn src.main:app --reloadThe backend API will be running at http://localhost:8000.
Open a new terminal window, navigate to the frontend directory, and install dependencies:
cd frontend
npm installEnvironment Variables:
Create a .env.local file in the frontend directory based on the example:
cp .env.example .env.localRun the Client:
npm run devThe frontend will be running at http://localhost:3000.
TaskCortex/
├── backend/ # FastAPI Backend
│ ├── src/
│ │ ├── api/ # Route definitions and controllers
│ │ ├── models/ # SQLModel database schemas
│ │ └── services/ # Core business logic & AI Agent orchestration
│ └── .env.example # Backend configuration template
│
├── frontend/ # Next.js Frontend
│ ├── src/
│ │ ├── app/ # Next.js App Router (Pages & Layouts)
│ │ ├── components/ # Reusable UI components (Shadcn, Chat, Sidebar)
│ │ ├── lib/ # Utility functions and API clients
│ │ └── providers/ # React Context providers (Auth, Theme, Tasks)
│ └── .env.example # Frontend configuration template
Contributions, issues, and feature requests are welcome! If you have suggestions for improving this project, feel free to fork the repo and create a pull request.
This project is open-source and available under the MIT License.

