{"id":31654693,"url":"https://github.com/auction-s/assist","last_synced_at":"2026-05-06T10:39:45.029Z","repository":{"id":315943323,"uuid":"1061284068","full_name":"Auction-s/Assist","owner":"Auction-s","description":"AI-powered task assistant that parses, prioritizes, and schedules tasks with Streamlit.","archived":false,"fork":false,"pushed_at":"2025-09-21T18:06:12.000Z","size":134,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-21T20:23:57.160Z","etag":null,"topics":["dataparser","nlp","productivity","python","spacy","streamlit","task-manager"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Auction-s.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-21T16:01:04.000Z","updated_at":"2025-09-21T18:26:17.000Z","dependencies_parsed_at":"2025-09-21T20:24:08.674Z","dependency_job_id":"bcc294b2-4511-414d-bb83-ee0e7f4377b5","html_url":"https://github.com/Auction-s/Assist","commit_stats":null,"previous_names":["auction-s/assist"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Auction-s/Assist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Auction-s%2FAssist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Auction-s%2FAssist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Auction-s%2FAssist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Auction-s%2FAssist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Auction-s","download_url":"https://codeload.github.com/Auction-s/Assist/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Auction-s%2FAssist/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278772622,"owners_count":26043205,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dataparser","nlp","productivity","python","spacy","streamlit","task-manager"],"created_at":"2025-10-07T12:14:44.716Z","updated_at":"2025-10-07T12:14:45.828Z","avatar_url":"https://github.com/Auction-s.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Smart Task Assistant 🤖📋\n\nAn AI-powered task management system that uses natural language processing (NLP) to automatically organize, prioritize, and schedule your tasks. This project demonstrates the practical application of AI to enhance productivity, transforming unstructured text into actionable, prioritized plans.\n\n## 🚀 Features\n\n- **Natural Language Understanding:** Input tasks in plain English (e.g., \"Finish slides for meeting next Tue, ~2h, high importance\").\n- **Automated Parsing \u0026 Enrichment:**\n  - **Deadline Extraction:** Leverages `dateparser` to identify and parse due dates from natural language.\n  - **Duration Estimation:** Uses regex patterns to find and extract time estimates (e.g., \"~2h\").\n  - **Importance Detection:** Identifies priority keywords like \"urgent,\" \"ASAP,\" and \"high importance.\"\n- **Intelligent Priority Scoring:** Implements a custom heuristic algorithm that synthesizes deadline urgency, task duration, and explicit importance cues into a single priority score for automated ranking.\n- **Interactive Web Dashboard:** Provides a clean, responsive Streamlit interface for adding tasks, reviewing parsed details, and visualizing your automatically sorted priority queue.\n\n## 🛠️ Tech Stack\n\n- **Frontend \u0026 Application Framework:** Streamlit\n- **Natural Language Processing (NLP):** spaCy\n- **Date Parsing:** dateparser\n- **Core Language:** Python 3.10+\n- **Supporting Libraries:** Regex, Pandas\n\n## 📸 Demonstration\n\n**Input:**\n`\"Finish quarterly report by next Friday, should take about 4 hours, this is urgent\"`\n\n**Parsed Output:**\n- **Task:** Finish quarterly report\n- **Deadline:** [Date of next Friday]\n- **Estimated Duration:** 4 hours\n- **Priority Level:** High\n- **Calculated Priority Score:** 92/100\n\n![Smart Task Assistant Interface](assets/smart-task-assistant-screenshot.png)\n\n## 📁 Project Structure\n\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Python 3.10 or higher\n- pip\n\n### Installation \u0026 Run\n\n1.  **Clone the repository:**\n    ```bash\n    git clone https://github.com/Auction-s/Assist.git\n    cd Assist\n    ```\n\n2.  **Create and activate a virtual environment:**\n    ```bash\n    # On macOS/Linux\n    python -m venv venv\n    source venv/bin/activate\n\n    # On Windows\n    python -m venv venv\n    .\\venv\\Scripts\\activate\n    ```\n\n3.  **Install dependencies and the spaCy language model:**\n    ```bash\n    pip install -r requirements.txt\n    python -m spacy download en_core_web_sm\n    ```\n\n4.  **Launch the application:**\n    ```bash\n    streamlit run app.py\n    ```\n\n## 🔬 Lessons Learned\n\nBuilding this project provided deep practical experience in several key areas:\n\n- **Bridging NLP with Application Logic:** Moving from theoretical NLP concepts to a functional parser required careful prompt engineering and logic design to handle the variability of human language.\n- **Heuristic Model Design:** Developed a custom scoring algorithm, which taught valuable lessons in balancing multiple input factors (time, date, keywords) to create a fair and useful priority system.\n- **End-to-End Product Development:** This project encompassed everything from backend algorithm design to frontend UI/UX with Streamlit, providing a complete full-stack development experience.\n- **The Value of User-Centric Design:** The biggest challenge and lesson was designing the system to be intuitive for the user, ensuring the NLP model interpreted commands in a way that felt natural and predictable.\n\n## ➡️ Future Improvements\n\n- **ML-Powered Prioritization:** Replace the heuristic model with a machine learning model trained on user feedback to learn personalized prioritization habits.\n- **Calendar Integration:** Sync deadlines and estimated tasks directly to Google Calendar or Outlook.\n- **Project Breakdown:** Extend the NLP to break down complex tasks (e.g., \"plan a vacation\") into subtasks with individual deadlines.\n- **Deployment:** Containerize with Docker and deploy the application on a cloud platform for always-accessible use.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauction-s%2Fassist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fauction-s%2Fassist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauction-s%2Fassist/lists"}