🧑💻 Full‑Stack Development — Next.js ⚛️ | .NET Web API 🛠️ | SQL Server 🗄️ | Python NER 🤖
A production‑grade Task Management system featuring real‑time task transitions, instant updates across Todo, In‑Progress, and Completed states, secure authentication, and a clean full‑stack architecture. Now enhanced with intelligent task insights powered by:
- Python‑based Named Entity Recognition (NER) for automatic due‑date detection and priority suggestions based on keywords in the title (e.g., “urgent”, “tomorrow”).
- ML.NET machine learning model that predicts task priority directly from the task’s title and description, automatically assigning a priority when none is selected. Together, these AI features deliver a smarter, more intuitive task creation and editing experience.
• Next.js 14 (App Router)
• TypeScript
• Tailwind CSS
• shadcn/ui
• Client-side routing
• .NET 8 Web API
• Entity Framework Core
• JWT Authentication
• HttpOnly Cookies
• SQL Server
• DTO validation
• Role-based authorization
My application uses two different AI systems, each serving a unique purpose.
Both approaches enhance the task creation and editing experience in different ways.
- Full‑stack implementation using .NET (API) and Next.js (UI)
- Python‑based Named Entity Recognition (NER).
- Extracts dates, keywords, and priority‑related hints from the task description.
- Shows toast notifications with suggestions and auto‑fills the recommended values into the form.
- User can still modify the suggestions before saving.
- Integrated into both Create Task and Edit Task flows.
- Communicates with the .NET backend to provide AI‑generated metadata.
- Runs locally using a Python script.
- Analyzes the task title to detect meaningful entities.
- Helps with automation, tagging, and metadata extraction.
User enters:
“urgent users report by next Monday”
Python NER extracts:
- Date: next Monday
- Priority: High (because of the keyword “urgent”)
The system then:
- Automatically fills the due date as next Monday
- Automatically sets priority = High
- Still allows the user to change these values before saving
- Fully implemented inside .NET using ML.NET.
- Uses the own labeled task data from the database.
TaskTrainertrains the model and saves it.- Predicts task priority (1 = Low, 2 = Medium, 3 = High) based on title + description.
- Automatically assigns a priority when the user leaves it blank during task creation.
- Integrated with Swagger for testing and debugging.
- The model is trained using real tasks from the database.
PredictPriorityAsyncloads the model and predicts priority in real time.- Used during task creation when no priority is selected.
Title:
“Fix production bug”
Description:
“API returning 500 errors”
ML.NET prediction:
→ High Priority
• vitest
• MSW(Mock Service Worker)
• @testing-library/jest-dom
git clone https://github.com/vbudithi/task-management-app.git
cd task-management-app/frontend
npm install
npm run devgit clone https://github.com/vbudithi/task-management-app.git
cd backend/TaskManagement.API
dotnet restore
dotnet runcd ai-ner-server
python ner_server.py















