Skip to content

NatasaTM/ship-it-task-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Ship It โ€” From AI Plans to Executable Tasks

๐Ÿ”— Live Demo: https://ship-it-task-manager.vercel.app/

Ship It explores the gap between AI-generated plans and actual execution. Paste your development plan from any AI assistant, and watch it transform into a structured task board โ€” no manual recreation required.

It tackles the last mile problem: plans exist, but execution never starts.

This project is built as a focused prototype, optimized for speed, clarity, and UX experimentation.


โœจ What This Does

  • Smart Parsing โ€” Accepts JSON, Markdown, AI text, or bullet points
  • Multi-Project Support โ€” Manage multiple plans without accounts
  • Instant Persistence โ€” Auto-saves to localStorage, works offline
  • Optional AI Generation (BYOK) โ€” Generate plans using your own Anthropic API key
  • Zero Friction โ€” No login, no backend, no complexity

Built for developers who just want to ship.


๐ŸŽฏ Why This Exists

When you plan with AI, the output usually becomes:

  • A chat message you screenshot
  • A markdown block you copy to Notes
  • A Google Doc you never open again

This prototype asks a simple question:

What if AI planning flowed directly into execution โ€” without friction?

The goal isn't building another task manager. It's closing the gap between intention and action.


๐Ÿš€ Quick Start

Run Locally

npm install
npm run dev
# Open http://localhost:3000

Three Ways to Create Projects

๐Ÿค– Generate with AI (Optional)

  • Add your Anthropic API key in settings
  • Describe your project
  • Generate a plan instantly (~$0.01โ€“0.05)

๐Ÿ“‹ Use Templates

  • Copy a prompt template
  • Paste into Claude, ChatGPT, or any AI
  • Paste the response back into Ship It

โœ๏ธ Paste & Create

  • Paste JSON, Markdown, or AI output
  • Smart parser auto-detects format
  • Creates your task board

๐Ÿง  Core Concepts

1. Format-Agnostic Parsing

The smart parser handles multiple input formats:

  • JSON โ€” Standard structured format
  • Markdown โ€” Headers with checkboxes (# Phase, - [ ] Task)
  • AI Output โ€” Natural language (Phase 1:, Step 1:)
  • Bullet Points โ€” Simple numbered or bulleted lists

No need to format perfectly โ€” just paste and go.

2. Multi-Project Architecture

  • Projects stored in localStorage
  • One active project at a time
  • Switch between projects without data loss
  • Automatic migration from legacy single-project storage

Mirrors real-world workflows without authentication overhead.

3. Intentionally Local-First

This prototype deliberately avoids:

  • โŒ User authentication
  • โŒ Backend databases
  • โŒ Server-side logic
  • โŒ Analytics tracking

Instead, it prioritizes:

  • โœ… Fast iteration
  • โœ… Zero friction
  • โœ… Privacy by default
  • โœ… Works offline

๐Ÿ—๏ธ Tech Stack

  • Next.js 14 (App Router)
  • React 18 with TypeScript
  • Tailwind CSS
  • shadcn/ui components
  • Motion for animations
  • localStorage for persistence
  • Anthropic API (optional, client-side only)

๐Ÿ“‚ Project Structure

app/
  page.tsx                    # Main app logic, state management
components/
  welcome-screen.tsx          # Landing page with creation modes
  plan-input.tsx              # Paste interface with smart parser
  ai-generator.tsx            # AI plan generation (BYOK)
  prompt-library.tsx          # Copy-paste templates
  api-settings.tsx            # API key management
  projects-dashboard.tsx      # Project list and management
  project-dashboard.tsx       # Task tracking interface
lib/
  smart-parser.ts             # Multi-format input parser
  ai-generator.ts             # Anthropic API integration

๐Ÿ”ฎ Planned Evolution (Experimental Roadmap)

Ship It is evolving in small, focused steps. These are explorations, not promises.

Phase 1 โ€” Enhanced Parsing Intelligence

Making AI input more resilient:

  • โœ… Multi-format parser (JSON, Markdown, AI text, bullets)
  • โœ… Code block stripping (handles ```json wrappers)
  • ๐Ÿšง Input sanitization (remove conversational AI artifacts)
  • ๐Ÿšง Smart title extraction from content
  • ๐Ÿšง Partial JSON recovery for truncated outputs
  • ๐Ÿ“‹ Plan versioning ("Plan A / Plan B" snapshots)

Phase 2 โ€” Cloud Sync (Optional)

Moving toward optional multi-device sync:

  • ๐Ÿ“‹ Firebase real-time synchronization
  • ๐Ÿ“‹ Anonymous auth with optional upgrade
  • ๐Ÿ“‹ Local-first with background sync
  • ๐Ÿ“‹ Conflict resolution using timestamps
  • ๐Ÿ“‹ "Claim your projects" migration flow

Goal: Preserve offline-first behavior while enabling cross-device continuity.

Phase 3 โ€” Power-User Features

Developer-inspired workflow improvements:

  • ๐Ÿ“‹ Command palette (Ctrl/Cmd + K)
  • ๐Ÿ“‹ Keyboard shortcuts for task management
  • ๐Ÿ“‹ Export to Markdown/JSON
  • ๐Ÿ“‹ Input format detection badges
  • ๐Ÿ“‹ Project templates library
  • ๐Ÿ“‹ Bulk task operations

Phase 4 โ€” Developer Experience

  • ๐Ÿ“‹ Comprehensive test suite for parser edge cases
  • ๐Ÿ“‹ Technical notes on handling non-deterministic AI input
  • ๐Ÿ“‹ API documentation for custom integrations
  • ๐Ÿ“‹ Architecture decision records (ADRs)

Legend: โœ… Complete | ๐Ÿšง In Progress | ๐Ÿ“‹ Planned


๐ŸŽฏ Design Philosophy

What This Prototype Is

  • โœ… A focused exploration of AI โ†’ execution workflows
  • โœ… A playground for developer-friendly UX patterns
  • โœ… An experiment in format-agnostic parsing
  • โœ… Built to ship fast with clear scope

What This Prototype Is Not

  • โŒ A full-featured project management tool
  • โŒ A collaboration platform
  • โŒ A hosted SaaS product
  • โŒ A replacement for Linear/Jira/Asana

These are conscious tradeoffs to maintain focus and velocity.


๐Ÿšจ Current Limitations

Known constraints (by design):

  • localStorage only โ€” No cross-device sync yet
  • No collaboration โ€” Single-user focused
  • No deadlines โ€” Intentionally simple
  • No dependencies โ€” Tasks are independent
  • Browser-bound โ€” Clear cache = lose data

These aren't bugs โ€” they're scope boundaries that might evolve later.


๐Ÿ’ก Use Cases

For Developers

  • Turn Claude/ChatGPT project plans into trackable tasks
  • Break down large features into actionable chunks
  • Track personal learning projects
  • Prototype exploration without overhead

For Rapid Prototyping

  • Validate task breakdown strategies
  • Test different parsing approaches
  • Experiment with AI integration patterns
  • Demonstrate UX concepts quickly

๐Ÿค Contributing

This is a personal prototype focused on exploration, not a community-driven project.

If you're inspired:

  1. Fork it
  2. Build your own experiments
  3. Share what you learn

No PRs accepted โ€” this is a learning sandbox, not a product.


๐Ÿ“ธ Screenshots

(Add screenshots showing:)

  • Welcome screen with three creation modes
  • Smart parser handling different formats
  • Task tracking interface
  • AI generation modal
  • Prompt library

๐ŸŽค Talking Points

If asked about the project:

"Ship It explores the gap between AI-generated plans and actual execution. The core challenge was building a format-agnostic parser that can handle messy, inconsistent LLM output โ€” JSON, Markdown, or plain text โ€” and still produce a usable structure.

I kept the architecture intentionally local-first to ship quickly, while designing it so cloud sync could be layered in later. The interesting part wasn't AI itself, but building reliable behavior around unpredictable input."


๐Ÿ“ Technical Deep Dive

Smart Parser Architecture

The parser uses a cascading detection strategy:

smartParse(input) {
  1. Try JSON.parse()
  2. Try markdown detection (# headers, - [ ] checkboxes)
  3. Try AI text patterns (Phase 1:, Step 1:)
  4. Try bullet point inference
  5. Return error with format hints
}

LLMs often wrap JSON in code blocks, add conversational text, or change formatting. A naive JSON.parse() fails instantly โ€” this cascading approach maximizes success rate.

Persistence Strategy

Current: localStorage with JSON serialization
Future: Firebase with optimistic updates + sync

localStorage.setItem('ship-it-projects', JSON.stringify([
  { id, title, phases, createdAt, updatedAt }
]))

localStorage.setItem('ship-it-active-project-id', projectId)

Migration from single-project to multi-project happens automatically on first load.


๐Ÿ” Privacy & Security

  • Zero tracking โ€” No analytics, no telemetry
  • Local by default โ€” All data stays in your browser
  • API keys โ€” Stored locally only
  • No backend โ€” Can't leak what we don't collect

Your projects stay yours.


๐Ÿ“„ License

MIT License


๐Ÿ™ Acknowledgments

Built with:

  • Claude (Anthropic)
  • shadcn/ui
  • Vercel
  • Coffee

๐Ÿ“ฌ Contact

Built by Natasa Todorov Markovic | ๐Ÿ“ฌ natasa.t.markovic@gmail.com

Shipping beats perfection.


Built as an experiment. Shaped by real-world workflows.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors