0%
Loading...
Back to project list

Assine

In Development
Assine

Status

In Development

Views

0 views

Overview

A next-generation task management app that unifies your schedule and tasks in one place, with AI assistant integration.

Details

💡 Background & Motivation

While using existing task management apps, I kept running into the same problem: "meetings" and "tasks to prepare for those meetings" were managed separately, making the connection between them hard to see. I'd often realize a meeting's prep tasks weren't finished right before it started, which made it clear that a tool that manages tasks and schedule together was needed.

Another problem was that, despite how widespread AI assistants have become, task management tools still can't talk to them. Asking "what are my tasks today?" still means having to open the app yourself. To close that gap, I built Assine as a task management app that supports MCP (Model Context Protocol), so it can be operated directly from Claude.

⚡ Key Features

Integrated Schedule–Task Management (Core Feature)

  • Attach tasks directly to schedule items to manage prep work in one place

  • Automatically calculates and visualizes progress on tasks tied to a schedule item

  • Shows a warning before a meeting starts if there are unfinished tasks

Automatic Hierarchy Detection

  • Automatically classifies tasks as light, medium, or heavy based on how deeply they're nested

  • Automatically adjusts the time frame — light tasks by day, medium tasks by week, heavy tasks by month

  • Lets users structure tasks naturally without having to think about hierarchy

Four-Page Layout

  • Tasks: visualize and edit the task hierarchy

  • Plan: assign tasks to specific days, weeks, or months

  • Progress: log execution and progress for today and this week

  • Review: analyze past performance and get improvement suggestions

AI Integration (MCP Support)

  • Create, view, and update tasks directly from Claude Desktop

  • Natural-language commands like "what are my tasks today?" or "create prep tasks for tomorrow's meeting"

  • Built by wrapping a REST API as an MCP Server, with ChatGPT and Gemini support planned

PWA & Offline Support

  • Add to your home screen for a native-app-like experience

  • Full functionality offline — creating, editing, and updating progress on tasks all work without a connection

  • Automatic sync when back online, with built-in conflict detection and resolution

🛠 Tech Stack

Category Technology
Frontend React 19 / Next.js 15 (App Router) / TypeScript
Styling Tailwind CSS / shadcn/ui
State management Zustand
Backend Supabase (PostgreSQL / Auth / Realtime / Edge Functions / RLS)
Hosting Vercel
PWA Service Worker / IndexedDB / Dexie.js
AI integration MCP Server / REST API
Payments Stripe
External integrations Google Calendar API / Microsoft Graph API

🔧 Technical Highlights & Design Decisions

Data Design for Linking Schedules and Tasks

The tasks table has both a parent_task_id and a parent_schedule_id, with a mutually exclusive constraint limiting each task to being a child of either a regular task or a schedule item — never both. Schedule-linked tasks are also capped at two levels deep, which keeps the data model simple while still allowing flexible linking.

Automatic Hierarchy Detection Algorithm

When a task gains a child, it's automatically promoted to a medium task; when a grandchild is added, it's promoted further to a heavy task. Demotion is handled the same way automatically, so users can structure their tasks naturally without ever thinking about hierarchy levels.

API Design Built with MCP in Mind

With a future MCP Server in mind, the RESTful API is designed around resources — for example, GET /api/tasks and POST /api/schedules/:id/tasks — so that it can be converted into MCP tools with minimal friction.

Offline-First Design

A local database is built with Service Worker + IndexedDB (Dexie.js). While offline, the app runs entirely on this local database, so every feature keeps working even if an auth token has expired. When the app comes back online, a timestamp-based conflict resolution algorithm handles syncing.

Leveraging Row Level Security (RLS)

Supabase's RLS ensures each user can only access their own data, and shared-group data is restricted to group members only — so the design prevents data leaks even if a frontend bug were to occur.

📊 What Sets It Apart

Aspect Existing Apps (Notion, Todoist, etc.) assine
Schedule–task linking Not supported (managed separately) Tasks can be attached directly to a schedule item
Hierarchy management Set manually Detected automatically from nesting
AI integration (MCP) Not supported Operable directly from Claude Desktop
Offline support Limited Full functionality
Japanese-language UX Translation-based Built natively for it

🚀 Future Plans

  • Pro plan release: AI-powered analysis, automatic task generation, and schedule optimization suggestions

  • Support for ChatGPT GPTs / Gemini Extensions

  • Native app (iOS/Android) via React Native

  • Expanded team features and B2B offering