<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ashiha Mahesh Kumar</title>
    <description>The latest articles on DEV Community by Ashiha Mahesh Kumar (@ashihamaheshkumar).</description>
    <link>https://dev.to/ashihamaheshkumar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3054852%2F0713b000-844f-466f-ab6b-97695bfa2cc6.png</url>
      <title>DEV Community: Ashiha Mahesh Kumar</title>
      <link>https://dev.to/ashihamaheshkumar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ashihamaheshkumar"/>
    <language>en</language>
    <item>
      <title>Your To-Do List Is Dead — Meet the AI That Executes Everything</title>
      <dc:creator>Ashiha Mahesh Kumar</dc:creator>
      <pubDate>Mon, 30 Mar 2026 05:59:51 +0000</pubDate>
      <link>https://dev.to/ashihamaheshkumar/from-to-do-to-done-building-an-ai-that-executes-your-tasks-for-you-1lib</link>
      <guid>https://dev.to/ashihamaheshkumar/from-to-do-to-done-building-an-ai-that-executes-your-tasks-for-you-1lib</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/notion-2026-03-04"&gt;Notion MCP Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;DueIt — The AI That Doesn't Just Plan Your Tasks. It Executes Them.&lt;br&gt;
Table of Contents&lt;/p&gt;

&lt;p&gt;What I Built&lt;br&gt;
The Problem That Kept Me Up at Night&lt;br&gt;
The Breakthrough Moment&lt;br&gt;
How It Works — The Full Pipeline&lt;br&gt;
How I Used Notion MCP&lt;br&gt;
The Architecture&lt;br&gt;
TinyFish — The Web Agent Layer&lt;br&gt;
Show Us the Code&lt;br&gt;
What This Unlocks&lt;br&gt;
Wrapping Up&lt;/p&gt;

&lt;p&gt;DueIt is an AI-powered Flutter productivity app that transforms a single task creation into a fully automated execution pipeline.&lt;br&gt;
Most productivity apps give you a to-do list. DueIt gives you a done list.&lt;br&gt;
One task. Fully executed.&lt;br&gt;
DueIt works in two layers that feed into each other seamlessly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layer 1&lt;/strong&gt; — The Flutter App: A Full Productivity Engine&lt;br&gt;
Before DueIt even touches Notion, it's already a powerful productivity system on its own.&lt;/p&gt;

&lt;p&gt;AI-Powered Time Blocking Calendar&lt;br&gt;
When you create a task, DueIt doesn't just add it to a list. It plans your entire journey to the deadline.&lt;br&gt;
Gemini AI estimates the total time required and distributes microtasks across every day from today until your deadline — automatically populating your calendar with real time-blocked sessions.&lt;br&gt;
Open the calendar and you see:&lt;/p&gt;

&lt;p&gt;Every day has real tasks assigned with specific time slots&lt;br&gt;
Multiple tasks from different projects distributed intelligently across days&lt;br&gt;
Exactly what to work on and for how long — every single day&lt;br&gt;
A real calendar view — not a flat to-do list&lt;/p&gt;

&lt;p&gt;If you miss a day, DueIt recalculates automatically and redistributes the remaining work across your remaining days. Your path to the deadline always stays clear.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Dashboard — The Pressure System&lt;br&gt;
The DueIt dashboard is built around one core insight: deadlines create pressure, and pressure without awareness creates failure.&lt;br&gt;
Three live indicators track every task in real time:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pressure Meter — As your deadline approaches and tasks pile up unfinished, the pressure meter rises. It tells you exactly when you need to act — before it's too late.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Risk Meter — Combines deadline proximity, task completion rate, and estimated remaining work to calculate your real risk of missing the deadline. Red means danger. Green means on track.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI Productivity Heatmap — A full monthly view showing exactly how productive you were each day. Dark means high output. Light means minimal work. One glance shows your real work pattern — not what you think it is.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn't motivational fluff. It's an honest mirror of your execution reality.&lt;/p&gt;

&lt;p&gt;Adaptive Replanning&lt;br&gt;
DueIt doesn't punish you for missing a day. It adapts.&lt;br&gt;
Every morning, the AI checks what you completed and automatically replans your schedule going forward. Missed tasks get redistributed. Time blocks shift. Your calendar updates itself so you always have a clear path to the deadline — even when life gets in the way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layer 2&lt;/strong&gt; — The Autonomous Execution Pipeline&lt;br&gt;
On top of the Flutter productivity engine, DueIt adds a fully automated execution layer.&lt;br&gt;
When you create a task, this pipeline fires automatically:&lt;/p&gt;

&lt;p&gt;Gemini AI breaks it into structured phases and microtasks&lt;br&gt;
TinyFish browses the web and finds real curated resources specific to your task&lt;br&gt;
TinyFish navigates Excalidraw and generates a visual workflow diagram&lt;br&gt;
Notion auto-generates a complete workspace with Progress Tracker, Workflow, and Resources&lt;br&gt;
Cursor AI reads the Notion page via Notion MCP and executes the work phase by phase&lt;br&gt;
Status syncs back to Notion and your Flutter app in real time&lt;/p&gt;

&lt;p&gt;The Flutter app tracks your progress. The execution pipeline builds your workspace and does the work. Together they form a closed loop — from idea to execution to completion.&lt;br&gt;
From the user's perspective, there's no setup, no planning, and no context switching. You create a task — and the system starts working.&lt;/p&gt;
&lt;h2&gt;
  
  
  Video Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/7NDvSj6Elyw"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The Problem That Kept Me Up at Night&lt;br&gt;
I'm a builder. I always have 10 ideas, 5 projects in progress, and 3 deadlines I'm probably missing.&lt;br&gt;
Every time I started something new, the same painful cycle repeated:&lt;/p&gt;

&lt;p&gt;Create a task in some productivity app&lt;br&gt;
Stare at a blank page wondering where to start&lt;br&gt;
Spend 2 hours searching for the right resources&lt;br&gt;
Try to figure out the right order to do things&lt;br&gt;
Get overwhelmed and lose momentum&lt;br&gt;
Switch to a different project and repeat&lt;/p&gt;

&lt;p&gt;The tools weren't the problem. The gap between planning and actually starting was the problem.&lt;br&gt;
I didn't need another to-do app. I needed something that would build my entire execution environment FOR me — the moment I created a task.&lt;br&gt;
That's what DueIt is.&lt;/p&gt;

&lt;p&gt;The Breakthrough Moment&lt;br&gt;
I was building this for the TinyFish hackathon. The idea was simple — use TinyFish to scrape resources for tasks. But somewhere around 2AM, I realized something bigger was possible.&lt;br&gt;
What if the Notion page DueIt creates isn't just documentation — what if it's the command center for an AI coding agent?&lt;br&gt;
That's when Notion MCP clicked. Not as a nice integration. As the backbone of the entire system.&lt;br&gt;
Notion becomes the shared brain between your mobile app, the web agent, and the AI coding agent. Everyone reads from it. Everyone writes to it. The loop closes.&lt;br&gt;
Remove Notion MCP, and the execution loop breaks.&lt;br&gt;
Notion is not just storage in DueIt — it is the coordination layer that makes autonomous execution possible.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    User creates task in Flutter app
            ↓
   Gemini 2.5 Flash generates schedule
   (phases, microtasks, time estimates)
            ↓
  FastAPI on Google Cloud Run orchestrates everything
            ↓
        ┌───────────────────────────────┐
        │     Three parallel actions    │
        └───────────────────────────────┘
         ↓              ↓              ↓
  TinyFish           Notion         TinyFish
scrapes web         page created    generates
for resources       with Progress   Excalidraw
                    Tracker DB      workflow
         ↓              ↓              ↓
        └───────────────────────────────┘
            ↓
  Notion workspace fully populated
   (Resources + Workflow + Tracker)
            ↓
  Cursor Agent reads Notion via MCP
            ↓
  Cursor executes task phases as code
            ↓
  Notion Progress Tracker updated → Done
            ↓
   DueIt app reflects updated status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;From the user's perspective, there's no setup, no planning, and no context switching. You create a task — and the system starts working.&lt;/p&gt;

&lt;p&gt;How I Used Notion MCP&lt;br&gt;
This is the part I'm most proud of.&lt;br&gt;
Setup&lt;br&gt;
I configured Notion MCP in Cursor using the @notionhq/notion-mcp-server:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;json&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"notion"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@notionhq/notion-mcp-server"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"OPENAPI_MCP_HEADERS"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"{&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;Authorization&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;Bearer YOUR_TOKEN&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;, &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;Notion-Version&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;: &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;2022-06-28&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;}"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  The Notion Page Structure
&lt;/h3&gt;

&lt;p&gt;Every task DueIt creates generates a "Let's Get Started" page with this exact structure:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Task Overview&lt;br&gt;
Task details, deadline, estimated time, category&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Expected Output&lt;br&gt;
Category-specific completion statement&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;3. Progress Tracker (inline database)
   ┌─────────────────────┬─────────┬──────────┐
   │ Step                │ Phase   │ Status   │
   ├─────────────────────┼─────────┼──────────┤
   │ Research &amp;amp; Design   │ Phase 1 │ To Do    │
   │ Implementation      │ Phase 2 │ To Do    │
   │ Testing &amp;amp; Deploy    │ Phase 3 │ To Do    │
   └─────────────────────┴─────────┴──────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Workflow Diagram&lt;br&gt;
[Excalidraw collaboration room link]&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Notes&lt;br&gt;
Phase 1 — Research &amp;amp; Design&lt;br&gt;
• Microtask 1&lt;br&gt;
• Microtask 2&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Phase 2 — Implementation&lt;br&gt;
   • Microtask 1&lt;br&gt;
   • Microtask 2&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Resources
• [Real curated link from TinyFish]
• [Real curated link from TinyFish]
• [Real curated link from TinyFish]&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The MCP Agent Loop&lt;br&gt;
Here's the CURSOR.md I created to give Cursor full context:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# DueIt — Cursor Agent Instructions
When activated:
1. Use Notion MCP to find the most recent "Let's Get Started" page
2. Read the Progress Tracker database — understand all phases
3. Read the Notes section — understand each phase's microtasks
4. Execute phases one by one as code changes
5. After each phase: update Notion Status → "In Progress" → "Done"
6. When all phases complete: task is done
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;When I type &lt;code&gt;/dueit-execute&lt;/code&gt; in Cursor:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cursor searches Notion via MCP for the latest DueIt task page&lt;/li&gt;
&lt;li&gt;It reads the Progress Tracker database — understanding what needs to be built&lt;/li&gt;
&lt;li&gt;It reads the Notes section — understanding the specific microtasks&lt;/li&gt;
&lt;li&gt;It executes the code changes phase by phase&lt;/li&gt;
&lt;li&gt;After each phase it updates the Notion database status from "To Do" → "In Progress" → "Done"&lt;/li&gt;
&lt;li&gt;The DueIt Flutter app reads the updated Firestore data and shows the new status&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Real example:&lt;/strong&gt; I created a task "Build a personal portfolio website". Within 5 minutes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Notion page appeared with Research &amp;amp; Design phase and Implementation phase&lt;/li&gt;
&lt;li&gt;TinyFish found real resources including MDN docs, CSS tutorials, and design inspiration&lt;/li&gt;
&lt;li&gt;Excalidraw showed a workflow: Research → Design → Build → Test → Deploy&lt;/li&gt;
&lt;li&gt;Cursor read the Notion page via MCP, scaffolded the HTML/CSS structure, updated Phase 1 to Done&lt;/li&gt;
&lt;li&gt;DueIt app showed the updated progress automatically&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Why Notion MCP and Not Just the API?
&lt;/h3&gt;

&lt;p&gt;I use both — strategically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Direct Notion API&lt;/strong&gt; for page creation, database population, and resource updates. It's faster for bulk operations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notion MCP&lt;/strong&gt; for the Cursor agent loop — reading task context, understanding phases, and writing status updates back. MCP gives the AI agent structured, tool-level access to the workspace. It's not just reading raw JSON — it's interacting with Notion the way a human would, through proper tool calls.&lt;/p&gt;

&lt;p&gt;The difference is enormous. Without MCP, the agent would need to parse raw API responses and figure out the workspace structure itself. With MCP, it understands the workspace natively — pages, databases, properties, blocks — and can interact with them intelligently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remove Notion MCP, and the execution loop breaks. Notion is not just storage in DueIt — it is the coordination layer that makes autonomous execution possible.&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
## The Architecture

┌─────────────────────────────────────────────────────┐
│                   Flutter App                       │
│         (Task creation, status display)             │
└──────────────────┬──────────────────────────────────┘
                   │ HTTP
┌──────────────────▼──────────────────────────────────┐
│          FastAPI on Google Cloud Run                │
│                                                     │
│  /plan-task ──→ Gemini 2.5 Flash                    │
│  /generate-doc ──→ notion_service.py                │
│  /scrape-resources ──→ tinyfish_service.py          │
│  /create-excalidraw ──→ tinyfish_service.py         │
└──────┬──────────────┬────────────────┬──────────────┘
       │              │                │
┌──────▼──────┐ ┌─────▼──────┐ ┌──────▼──────┐
│  Firebase   │ │   Notion   │ │  TinyFish   │
│  Firestore  │ │    API     │ │    API      │
└─────────────┘ └──────┬─────┘ └─────────────┘
                       │
               ┌───────▼────────┐
               │  Notion MCP    │
               │    Server      │
               └───────┬────────┘
                       │
               ┌───────▼────────┐
               │  Cursor Agent  │
               │  (executes)    │
               └────────────────┘


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Key files:&lt;/p&gt;

&lt;p&gt;main.py — FastAPI endpoints, pipeline orchestration&lt;br&gt;
notion_service.py — Notion page generation with Progress Tracker database&lt;br&gt;
tinyfish_service.py — TinyFish web scraping and Excalidraw automation&lt;br&gt;
CLAUDE.md — Cursor agent instructions for Notion MCP loop&lt;/p&gt;

&lt;p&gt;TinyFish — The Web Agent Layer&lt;br&gt;
TinyFish is what makes DueIt feel like magic. It's not hitting an API — it's browsing the web like a human.&lt;br&gt;
Resource Scraping&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pythondef&lt;/span&gt; &lt;span class="nf"&gt;scrape_resources&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;topic&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;category&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;category&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;study&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://duckduckgo.com/?q=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;topic&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;+free+course+tutorial+pdf&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="n"&gt;goal&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Search for learning resources about &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;topic&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;.
        Find the top 3-5 most relevant, high-quality results.
        Prioritize official docs, Coursera, edX, MIT OpenCourseWare.
        Return as JSON array: [{{title, url, description}}]&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;run_automation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;goal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;TinyFish navigates DuckDuckGo, reads the search results, filters for quality, and returns structured JSON. The results become clickable blue hyperlinks in the Notion page.&lt;br&gt;
Excalidraw Workflow Generation&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;pythondef&lt;/span&gt; &lt;span class="nf"&gt;create_excalidraw_workflow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;category&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;mermaid_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;flowchart LR
    S0[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;] --&amp;gt; S1[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;] --&amp;gt; S2[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;steps&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;]&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

    &lt;span class="n"&gt;goal&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;Go to excalidraw.com.
    Open Mermaid importer. Paste this code:
    &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;mermaid_code&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;
    Click Insert. Start collaboration session.
    Return the #room= URL.&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;run_automation&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://excalidraw.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;goal&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;TinyFish opens Excalidraw, uses the built-in Mermaid importer, creates the diagram from AI-generated flowchart code, starts a collaboration room, and returns the shareable URL. Every task gets a unique diagram specific to its actual phases.&lt;/p&gt;


&lt;h2&gt;
  
  
  Show Us the Code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/ashihams" rel="noopener noreferrer"&gt;
        ashihams
      &lt;/a&gt; / &lt;a href="https://github.com/ashihams/due-it" rel="noopener noreferrer"&gt;
        due-it
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI-powered task planning app that automatically breaks tasks into actionable subtasks, adapts daily schedules, and recalculates workload based on missed tasks and approaching deadlines.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;DueIt&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;AI-powered task planning system with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Flutter frontend app (&lt;code&gt;due_it/&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FastAPI backend (&lt;code&gt;due_it_backend/&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Firebase Auth + Firestore&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Gemini-based planning&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Notion + TinyFish integrations for docs/resources/workflow automation&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎥 Demo&lt;/h2&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/user-attachments/assets/e8ebd612-6906-4c57-93f2-1eb351ba73bb" rel="noopener noreferrer"&gt;Click here to watch the demo&lt;/a&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Repository Layout&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;.
├─ due_it/                 # Flutter frontend
│  ├─ lib/
│  ├─ android/ ios/ web/ ...
│  └─ pubspec.yaml
├─ due_it_backend/         # FastAPI backend
│  ├─ main.py
│  ├─ notion_service.py
│  ├─ tinyfish_service.py
│  ├─ requirements.txt
│  └─ Dockerfile
└─ README.md               # This file
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What DueIt Does&lt;/h2&gt;

&lt;/div&gt;


&lt;ol&gt;

&lt;li&gt;User signs in with Firebase Auth.&lt;/li&gt;

&lt;li&gt;User creates a task in Firestore (&lt;code&gt;users/{uid}/tasks/{taskId}&lt;/code&gt;).&lt;/li&gt;

&lt;li&gt;Frontend calls backend &lt;code&gt;/plan-task&lt;/code&gt;.&lt;/li&gt;

&lt;li&gt;Backend uses Gemini to generate

&lt;ul&gt;
&lt;li&gt;estimated duration&lt;/li&gt;
&lt;li&gt;day-wise schedule&lt;/li&gt;
&lt;li&gt;microtasks&lt;/li&gt;
&lt;li&gt;pressure/risk metrics&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Backend stores AI plan in Firestore.&lt;/li&gt;

&lt;li&gt;Backend syncs task + launchpad docs to Notion (if connected).&lt;/li&gt;

&lt;li&gt;Backend uses TinyFish to:

&lt;ul&gt;
&lt;li&gt;scrape useful resources&lt;/li&gt;
&lt;li&gt;generate Excalidraw workflow links&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Frontend reflects updates from…&lt;/li&gt;

&lt;/ol&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/ashihams/due-it" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;br&gt;&lt;br&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;dueit/
├── due_it/                    # Flutter app
│   ├── lib/
│   │   ├── services/
│   │   │   ├── notion_service.dart
│   │   │   ├── task_service.dart
│   │   │   └── ai_planning_service.dart
│   │   └── screens/
│   │       ├── dashboard_screen.dart
│   │       ├── calendar_screen.dart
│   │       └── settings_screen.dart
└── due_it_backend/            # FastAPI backend
    ├── main.py
    ├── notion_service.py
    ├── tinyfish_service.py
    ├── CLAUDE.md
    └── Dockerfile
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Tech Stack:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flutter — cross-platform mobile app&lt;/li&gt;
&lt;li&gt;FastAPI + Google Cloud Run — scalable backend&lt;/li&gt;
&lt;li&gt;Firebase + Firestore — auth and real-time sync&lt;/li&gt;
&lt;li&gt;Gemini 2.5 Flash — AI task planning&lt;/li&gt;
&lt;li&gt;TinyFish API — web agent automation&lt;/li&gt;
&lt;li&gt;Notion API + Notion MCP — workspace generation and agent coordination&lt;/li&gt;
&lt;li&gt;Excalidraw — visual workflow diagrams&lt;/li&gt;
&lt;li&gt;Cursor AI — autonomous code execution&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What This Unlocks
&lt;/h2&gt;

&lt;p&gt;DueIt isn't just a productivity app. It's a proof of concept for something bigger.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The pattern:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mobile intent → AI planning → Web agent execution&lt;br&gt;
→ Notion as coordination layer&lt;br&gt;
→ AI coding agent → Status sync → Mobile feedback&lt;br&gt;
This pattern works for ANY task. Study for an exam. Build a startup. Learn a skill. Launch a product. The system doesn't care what the task is — it builds the execution environment and starts working on it.&lt;br&gt;
What Notion MCP makes possible: For the first time, your workspace isn't just where you document work. It's where work actually happens. The AI agent reads it, acts on it, updates it. It becomes a living, breathing coordination layer between human intent and machine execution.&lt;br&gt;
Remove Notion MCP, and the execution loop breaks. With it, DueIt becomes something genuinely new — not a productivity tool, but an autonomous execution system.&lt;br&gt;
I genuinely believe this is what productivity software looks like in 2 years. DueIt is just the first version.&lt;/p&gt;

&lt;p&gt;Wrapping Up&lt;br&gt;
I built DueIt in 25 days across two simultaneous hackathons — TinyFish Pre-Accelerator and the Notion MCP Challenge. Some nights I was debugging Notion API errors at 3AM. Some mornings I was rewriting the entire TinyFish goal string because CAPTCHA broke everything. There were moments I thought this wasn't going to work.&lt;br&gt;
But the moment I watched Cursor read a Notion page I had just auto-generated from my phone and start writing code for it — updating the status back to "Done" without me touching anything — I knew every late night was worth it.&lt;br&gt;
The productivity gap between "I have an idea" and "I'm actually working on it" has always been the hardest part. DueIt closes that gap.&lt;br&gt;
Not with another to-do list. With an autonomous execution system that works while you sleep.&lt;br&gt;
One task. Fully executed.&lt;/p&gt;

&lt;p&gt;Built with way too much coffee, Gemini, TinyFish, Notion MCP, and the belief that AI should do more than suggest — it should execute.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>notionchallenge</category>
      <category>mcp</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
