Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
a857a6a
feat: Add core collaboration features and ML engine (excluding model …
AndrewJerryV Feb 26, 2026
9663114
Merge pull request #1 from AndrewJerryV/feature/task-scheduling
jisnu-glitch Feb 26, 2026
cb19f6c
feat: Add machine learning capabilities for task priority, urgency, a…
AndrewJerryV Feb 27, 2026
7dbb910
feat: refine ML recommendations and UI
AndrewJerryV Feb 27, 2026
a3ed0d4
feat: Implement core project and task management features, including …
AndrewJerryV Feb 27, 2026
b797f50
feat: Add ML-powered task recommendations API with heuristic fallback…
AndrewJerryV Feb 27, 2026
2c7c30e
feat: Implement UserHistoryModal to display user tasks, activity logs…
AndrewJerryV Feb 28, 2026
d42d57b
feat: Introduce initial task management system with API routes, proje…
AndrewJerryV Feb 28, 2026
07c4cb3
feat: Add Supabase database service and initial tasks API route.
AndrewJerryV Feb 28, 2026
5210c55
feat: Add initial User Acceptance Testing (UAT) cases for user, proje…
AndrewJerryV Feb 28, 2026
6818487
feat: Introduce core application features including notifications, me…
AndrewJerryV Mar 2, 2026
147ce90
feat: Add NotificationBell component for displaying and managing user…
AndrewJerryV Mar 2, 2026
46cc483
Fix auth flow, loading issue and Supabase client setup
FelvinJoseph Mar 2, 2026
08c9463
feat: Implement a comprehensive form builder with dedicated API endpo…
AndrewJerryV Mar 2, 2026
9720242
Merge branch 'main' into fix-auth-and-loading
AndrewJerryV Mar 2, 2026
93d3ebc
Merge pull request #2 from AndrewJerryV/fix-auth-and-loading
AndrewJerryV Mar 2, 2026
53f923b
feat: Implement Supabase authentication setup, context provider, and …
AndrewJerryV Mar 2, 2026
2d5a711
feat: Introduce user management features with a dedicated team page a…
AndrewJerryV Mar 2, 2026
d8f5a1b
feat: Implement project detail page and authentication context, remov…
AndrewJerryV Mar 2, 2026
7df22c4
feat: add user management dialog and database schema for detailed use…
AndrewJerryV Mar 3, 2026
f80d7c0
feat: Implement authentication context, authenticated layout with sea…
AndrewJerryV Mar 3, 2026
105073b
fix: Add new user
AndrewJerryV Mar 3, 2026
c4e400e
feat: Implement task creation, user skill editing, and user addition …
AndrewJerryV Mar 3, 2026
5bca3db
docs: add test credentials to README
AndrewJerryV Mar 3, 2026
42e7936
feat: Introduce team dashboard, implement OTP-based user deletion, an…
AndrewJerryV Mar 3, 2026
0bdd21f
feat: Implement project details page with task management, multiple v…
AndrewJerryV Mar 3, 2026
c175da1
feat: Add core database and Supabase utilities, task detail modal, an…
AndrewJerryV Mar 3, 2026
2149867
feat: Implement AI-powered task recommendations, assignment, and well…
AndrewJerryV Mar 3, 2026
c46fa2c
Refactor Supabase migrations and update user model
AndrewJerryV Mar 3, 2026
cb263d6
feat: Enhance authentication context with error handling and loading …
AndrewJerryV Mar 4, 2026
d243dc1
refactor: Simplify error handling and response structure in API route…
AndrewJerryV Mar 4, 2026
5b08724
feat: Update UI components and scripts for improved functionality and…
AndrewJerryV Mar 4, 2026
51636b0
feat: Implement ML-powered bottleneck analysis with enhanced data str…
AndrewJerryV Mar 4, 2026
5d5ccd3
feat: Implement presence tracking and project member retrieval APIs
AndrewJerryV Mar 4, 2026
30e4c14
feat: Implement core project management, activity logging, AI/ML feat…
AndrewJerryV Mar 4, 2026
d9956d2
feat: Implement calendar and chat views, user management, settings pa…
AndrewJerryV Mar 4, 2026
0eeb76d
feat: Implement reports and time tracking features, including new vie…
AndrewJerryV Mar 4, 2026
cc363bd
feat: Introduce time tracking analytics and deployment management fea…
AndrewJerryV Mar 4, 2026
c2f35db
feat: Introduce AI-powered task management with smart assignment, pri…
AndrewJerryV Mar 4, 2026
39d6e95
feat: Implement draggable task board with interactive task cards and …
AndrewJerryV Mar 4, 2026
45a67e6
feat: Establish initial project dashboard with project management fea…
AndrewJerryV Mar 5, 2026
ce41576
feat: implement time tracking analytics view with summary, user, task…
AndrewJerryV Mar 5, 2026
c15ab0d
feat: Add TimeTrackingView component for displaying comprehensive tim…
AndrewJerryV Mar 5, 2026
15945e4
feat: add TimerContext to provide global state for task timers, handl…
AndrewJerryV Mar 5, 2026
55ae6cf
feat: Implement a new login page with email/password and OAuth authen…
AndrewJerryV Mar 6, 2026
a8e1187
feat: Implement AI-powered smart task assignment, including a new API…
AndrewJerryV Mar 6, 2026
afc5a2b
feat: Implement user settings page with API endpoint for managing use…
AndrewJerryV Mar 6, 2026
57c4aae
feat: Fixed the padding in deployments
AndrewJerryV Mar 7, 2026
62b109c
feat: Implement core application pages for team, projects, and settin…
AndrewJerryV Mar 7, 2026
43742b9
style:redesign timeline component UI
jisnu-glitch Mar 10, 2026
827e019
feat: Introduce core task management UI components, ML recommendation…
AndrewJerryV Mar 11, 2026
d3d75ac
Merge branch 'main' of https://github.com/AndrewJerryV/TaskFlow-Mini_…
AndrewJerryV Mar 11, 2026
c4901f0
feat: Implement a new database service, time tracking functionality, …
AndrewJerryV Mar 12, 2026
a40b6f4
fix: improve dark mode contrast in Create Project dialog
jisnu-glitch Mar 12, 2026
711d6d7
feat- Added sleek hover effects, scaling, and pulse animations to the…
jisnu-glitch Mar 12, 2026
d350eb1
feat: Add GitHub integration with user stats card, code view, and use…
AndrewJerryV Mar 16, 2026
b108e84
Merge pull request #13 from AndrewJerryV/fix/create-project-dark-mode
AndrewJerryV Mar 17, 2026
c071f5d
Merge pull request #14 from AndrewJerryV/feature/ui-enhancements
AndrewJerryV Mar 17, 2026
53d5d5e
Add seed data for TaskFlow Web App, including users, tasks, time entr…
AndrewJerryV Mar 17, 2026
8ef5d3a
Refactor AI assignment logic and ML recommendations
AndrewJerryV Mar 17, 2026
c37d232
feat: Enhance local ML recommendations to suggest rescheduling for ov…
AndrewJerryV Mar 17, 2026
394ec3c
feat: Introduce machine learning models for task priority, assignment…
AndrewJerryV Mar 18, 2026
067ccca
feat: Implement core database utilities, AI models, task creation dia…
AndrewJerryV Mar 18, 2026
0b53180
feat: add core project management views, forms, and UI components for…
AndrewJerryV Mar 18, 2026
83af22a
feat: Introduce ML-powered task recommendations, AI assignment, and a…
AndrewJerryV Mar 25, 2026
6517515
feat: Establish initial Task Flow application with database schema, A…
AndrewJerryV Mar 26, 2026
03d0e0a
feat: Implement core Supabase integration, define comprehensive datab…
AndrewJerryV Mar 26, 2026
a9000ec
Refactor code structure for improved readability and maintainability
AndrewJerryV Apr 17, 2026
3ed33d1
feat(ui): implement advanced landing page and dashboard components
jisnu-glitch Apr 18, 2026
3bfa186
feat:redesign the ui of landing page
jisnu-glitch Apr 18, 2026
32542b2
Merge pull request #15 from jisnu-glitch/feature/landingpageui
AndrewJerryV Apr 18, 2026
ff71655
fix:navbar issue and removed free trail button
jisnu-glitch Apr 18, 2026
96c8e0d
feat: add open-source Supabase setup page
jisnu-glitch Apr 18, 2026
5ae37d8
Merge pull request #17 from jisnu-glitch/feature/open-source-setup
AndrewJerryV Apr 18, 2026
9343a89
fix: make all setup credential fields empty by default
jisnu-glitch Apr 18, 2026
b3ebac5
Merge pull request #18 from jisnu-glitch/feature/open-source-setup
AndrewJerryV Apr 19, 2026
6adad59
feat: add pnpm workspace configuration and Altcha widget type definit…
AndrewJerryV Apr 23, 2026
68972c9
fix: sync pnpm lockfile dependencies
AndrewJerryV Apr 23, 2026
710a494
fix: update navigation links to point to the dashboard
AndrewJerryV Apr 23, 2026
35d8ba5
feat: implement local environment vault for secure credential storage
AndrewJerryV Apr 23, 2026
55d451c
feat: add authentication redirect to dashboard on user login
AndrewJerryV Apr 23, 2026
6917522
feat: redirect authenticated users to dashboard from landing page
AndrewJerryV Apr 23, 2026
75a5cee
feat: Enhance task management with browser-based AI insights and mess…
AndrewJerryV Apr 23, 2026
1aa5d22
feat: implement project chat system with shared types, messaging UI, …
AndrewJerryV Apr 24, 2026
fcb736d
feat: implement interactive backlog view with task management, filter…
AndrewJerryV Apr 24, 2026
5d057c1
chore: remove sensitive environment configuration file
AndrewJerryV Apr 24, 2026
44b573c
Refactor: Remove legacy ML training script and wellness model
AndrewJerryV Apr 24, 2026
75e32ef
feat: add landing page with animations and sections for features, AI …
AndrewJerryV May 6, 2026
5499978
fix: adjust challenge parameters for improved security and performance
AndrewJerryV May 20, 2026
35576fa
fix: add logging for ALTCHA verification failures to aid debugging
AndrewJerryV May 20, 2026
fa1bfe7
fix: add debug logging for Google and GitHub sign-in processes
AndrewJerryV May 20, 2026
c2f7ad0
fix: add debug logging for Supabase client configuration in login page
AndrewJerryV May 20, 2026
79a3ae2
fix: enhance error handling and logging for Google and GitHub OAuth s…
AndrewJerryV May 20, 2026
80d301f
fix: improve debug logging for Google and GitHub OAuth sign-in processes
AndrewJerryV May 20, 2026
b068c80
fix: replace fetch API with database call for fetching notifications
AndrewJerryV May 20, 2026
0f9d407
fix: add Supabase configuration notice and update routing logic in lo…
AndrewJerryV May 20, 2026
6165c00
feat: add LoginClient component for user authentication with Supabase…
AndrewJerryV May 20, 2026
82a47bb
feat: implement local storage for Supabase configuration and enhance …
AndrewJerryV May 20, 2026
5796320
fix: refactor activity log fetching to use database calls and improve…
AndrewJerryV May 20, 2026
af2a46c
fix: refactor project fetching in Sidebar and AuthenticatedLayout to …
AndrewJerryV May 20, 2026
43d118d
fix: add safety check to prevent destructive schema changes and refac…
AndrewJerryV May 20, 2026
bf2d957
refactor: update Supabase client usage to use admin client and introd…
AndrewJerryV May 20, 2026
e265fa5
refactor: replace direct database calls with Supabase client in API r…
AndrewJerryV May 20, 2026
63a45b6
refactor: migrate database interactions to Supabase client across API…
AndrewJerryV May 20, 2026
dbaad3a
refactor: replace direct database calls with Supabase client in analy…
AndrewJerryV May 20, 2026
02232eb
refactor: enhance bottleneck detection logic for improved accuracy an…
AndrewJerryV May 20, 2026
05ac81d
refactor: improve schema creation safety check to prevent accidental …
AndrewJerryV May 21, 2026
d247d41
refactor: integrate SupabaseGuard component for enhanced Supabase con…
AndrewJerryV May 21, 2026
c4c7e5b
refactor: replace fetch calls with apiFetch for improved Supabase int…
AndrewJerryV May 21, 2026
875c1da
refactor: update message retrieval and creation to use 'timestamp' fo…
AndrewJerryV May 21, 2026
e09c63b
refactor: replace fetch calls with apiFetch for consistent API integr…
AndrewJerryV May 21, 2026
8bc54d7
refactor: implement sanitizeResponse and sanitizeForm functions for c…
AndrewJerryV May 21, 2026
c0da08f
Refactor code structure for improved readability and maintainability
AndrewJerryV May 21, 2026
83e228f
Implement code changes to enhance functionality and improve performance
AndrewJerryV May 21, 2026
e596a53
refactor: enhance error handling in AI assignment and remove Hugging …
AndrewJerryV May 21, 2026
a33e63d
Refactor code structure for improved readability and maintainability
AndrewJerryV May 21, 2026
a4073a0
chore: clean up empty code change sections in the changes log
AndrewJerryV May 21, 2026
9d87afd
refactor: streamline Hugging Face integration and enhance skill match…
AndrewJerryV May 21, 2026
10ce67d
refactor: remove browser analysis feature from CreateTaskDialog
AndrewJerryV May 21, 2026
fc059d9
refactor: improve state management in SupabaseGuard for landing page …
AndrewJerryV May 21, 2026
9ffbc5d
feat: implement machine learning models and add landing page for task…
AndrewJerryV Jul 11, 2026
f352f7a
feat: implement authentication system with Supabase integration, user…
AndrewJerryV Jul 11, 2026
a2cdaa8
feat: implement local Ollama chat integration with streaming response…
AndrewJerryV Jul 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .env.local

This file was deleted.

20 changes: 20 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# env file
.env.local

# dependencies
/node_modules
/.pnp
Expand Down Expand Up @@ -32,7 +35,24 @@ yarn-error.log*

# vercel
.vercel
.vscode

# typescript
*.tsbuildinfo
next-env.d.ts

# python
__pycache__/
*.py[cod]
ML/env/
.env
venv/
env/
ML/my_setfit_model/
ML/skill_matcher_model/
*.safetensors

# Retrained ML Models
ML/my_setfit_model_critical/

/supabase
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"liveServer.settings.port": 5501
}
124 changes: 124 additions & 0 deletions ML/README_ML.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
ML Folder — TaskFlow
=====================

This document explains the purpose, components, and runtime behavior of the legacy `ML/` folder. It describes the Python FastAPI service and the supporting models used for priority prediction, assignment, urgency scoring, wellness, and bottleneck detection.

Files
-----
- `main.py` — FastAPI server that exposes endpoints used by the UI or experiments:
- `POST /analyze_task` — returns priority, urgency, detected skills, and suggested assignees for a given task payload.
- `POST /analyze_wellness` — returns a wellness score and status for a user's workload inputs.
- `POST /analyze_bottlenecks` — analyzes a list of tasks to detect process bottlenecks (WIP breaches, overdue, aging WIP) and computes an overall health score.
- `GET /` — health check.

- `models.py` — core model classes and request schemas:
- `get_device()` — checks GPU availability, falls back to CPU on failure.
- `TaskPriorityModel` — SetFit-based classifier for predicting task priority (Low/Medium/High). Loads model from `my_setfit_model`.
- `TaskAssigner` — semantic skill-matching and candidate ranking using sentence-transformers embeddings, combined with wellness scores and simple role-based multipliers.
- `UrgencyModel` — deterministic urgency scoring by priority, due-date proximity, staleness, and status multipliers. Also provides a `label()` helper to map numeric score to descriptive label.
- Pydantic request models: `FullTaskRequest`, `WellnessRequest`, `BottleneckRequest` + `BottleneckTask`.

- `wellness_model.py` — deterministic wellness calculator:
- `WellnessModel.calculate(active_tasks, high_priority_count, critical_urgency_count)` returns 0–100 wellness score.
- `get_status(score)` returns human label ("Healthy Balance", "Nearing Capacity", "Overworked", "Burnout Risk").
- Tunable constants in the class define comfortable load and penalty weights.

- `requirements.txt` — Python dependencies used to run this service (SetFit, sentence-transformers, FastAPI, torch, etc.).

- `data.txt` — sample or archived data (inspect for training notes).

How the pieces fit
------------------
1. `main.py` initializes models on startup:
- Loads `TaskPriorityModel` from `MODEL_PATH` (SetFit model directory).
- Loads a `SentenceTransformer` model from `SKILL_MODEL_PATH` for semantic skill embeddings.
- Instantiates `TaskAssigner`, `UrgencyModel`, and `WellnessModel`.
- `get_device()` decides whether to use `cuda` or `cpu`.

2. `POST /analyze_task` flow:
- Reads a `FullTaskRequest` including `description`, `status`, `days_until_due`, `days_since_update`, and `candidates` (list of users and skills + wellness data).
- Calls `priority_ai.predict(task.description)` to get predicted priority and confidence (SetFit).
- Uses `assigner_ai.find_best_match(...)` which:
- Encodes candidate skill lists and the task description into embeddings.
- Computes cosine similarity to rank skills and extract required skills.
- Scores each candidate by skill overlap and their wellness score (if provided), applies role multipliers, produces `combined_ranking_score`.
- Uses `urgency_ai.predict(...)` to compute a numeric urgency score and label.
- Returns analysis + top suggested assignees (up to 5).

3. `POST /analyze_wellness` and `wellness_model.py`:
- `WellnessModel.calculate` is deterministic and uses configurable penalties and a comfortable load constant.
- Provides a reliable, explainable wellness score for a user given active/high/critical counts.

4. `POST /analyze_bottlenecks`:
- This endpoint is rule-based and does not rely on heavy ML models.
- Computes overdue tasks per project, WIP limit breaches for key statuses, and aging WIP (stale tasks). It returns a list of detected bottlenecks, a health score and summary. It is useful as a companion to the main assignment/priority flows.

Design notes & runtime behavior
-------------------------------
- Hybrid design: the folder runs an optional ML API server (Python) that uses SetFit and sentence-transformers when available. However the main Next.js app implements TypeScript fallbacks (`lib/ml-engine.ts` and `lib/ml-transformers.ts`) that reproduce similar heuristics so the web app does not strictly depend on this Python service.

- Device detection: `get_device()` attempts a GPU test and falls back to CPU to avoid startup errors on machines with misconfigured CUDA.

- Role weighting in assignment: the assigner intentionally boosts Members (1.1x) and reduces Manager/Admin combined scores to avoid assigning cross-role responsibilities by default.

- Explainability: Most scoring logic in `models.py` and `wellness_model.py` is explicit and deterministic, making it easy to tweak penalties and thresholds for team preferences.

Run locally (development)
-------------------------
1. Create a Python virtual environment and install deps:

```bash
python -m venv .venv
# PowerShell
.\.venv\Scripts\Activate.ps1
# or Bash
# source .venv/bin/activate
pip install -r ML/requirements.txt
```

2. Prepare models and assets:
- Place a SetFit model export under `ML/my_setfit_model/` (or update `MODEL_PATH` in `main.py`).
- Place a sentence-transformers model under `ML/skill_matcher_model/` (or update `SKILL_MODEL_PATH`).

If you do not have models locally, most endpoints that rely on them will fail; these modules are often used for offline experiments or higher-quality enrichment.

3. Start the FastAPI server (dev):

```bash
cd ML
python main.py
# or
uvicorn main:app --host 127.0.0.1 --port 8000 --reload
```

Endpoint examples
-----------------
- Analyze a task (JSON payload):

POST http://127.0.0.1:8000/analyze_task
Content-Type: application/json

{
"description": "Improve DB query performance for invoice search",
"status": "To Do",
"days_until_due": 2,
"days_since_update": 5,
"candidates": [
{"id":"u1","name":"Alex","role":"Member","skills":["sql","postgres"],"wellness_data":{"active_tasks":3,"high_priority_count":1,"critical_urgency_count":0}},
{"id":"u2","name":"Jamie","role":"Member","skills":["frontend","react"],"wellness_data":{"active_tasks":1,"high_priority_count":0,"critical_urgency_count":0}}
]
}

Response includes `analysis` (priority, confidence, urgency) and `suggested_assignees`.

Maintenance notes
-----------------
- The Python `ML/` service is useful for experiments and can be deployed separately for heavier inference.
- The main Next.js app contains `lib/ml-transformers.ts` and `lib/ml-engine.ts` which implement TypeScript-based heuristics and optional HF calls; prefer updating those for runtime app behavior.
- The SetFit model format should be exported from the SetFit training workflow and placed under `my_setfit_model`.

Questions or follow-ups
----------------------
- Want a sequence diagram showing request -> Python ML server -> models -> response? I can generate it.
- Want me to add a short `health-check` script or a minimal `dockerfile` for this service?

Loading