A web application that helps you break down ideas into actionable concepts using AI. Type or speak your idea, and Breakitdown will decompose it into high-level concepts that you can further refine, organize, and export.
- AI-Powered Breakdown: Uses OpenAI to intelligently break down ideas into structured concepts
- Voice Input: Speak your ideas using browser's built-in speech recognition
- Interactive CRUD: Create, read, update, and delete concepts
- Recursive Breakdown: Break down concepts into sub-concepts at any level
- Completion Tracking: Mark concepts as complete to track progress
- Document Generation: Export your breakdowns as Markdown, JSON, or YAML
- Persistent Storage: Projects are saved locally using IndexedDB
- Node.js 18+ and npm
- OpenAI API key (Get one here)
- Clone or navigate to the project directory:
cd breakitdown- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env- Add your OpenAI API key to
.env:
OPENAI_API_KEY=your-api-key-here
Run the development server:
npm run devOpen http://localhost:3000 in your browser.
Build for production:
npm run buildPreview the production build:
npm run previewRun tests:
npm testRun tests with UI:
npm run test:uiRun tests with coverage:
npm run test:coverage- Start a Project: Enter a project name and your idea
- Break It Down: Click the "Break It Down" button to generate concepts
- Refine Concepts: Edit, delete, or mark concepts as complete
- Go Deeper: Click "Break Down" on any concept to decompose it further
- Generate Documents: Once all concepts are complete, generate Markdown, JSON, or YAML exports
breakitdown/
├── components/ # Vue components
│ ├── IdeaInput.vue
│ ├── BreakItDownButton.vue
│ ├── ConceptCard.vue
│ ├── ConceptTree.vue
│ └── DocumentGenerator.vue
├── composables/ # Vue composables
│ ├── useAI.ts
│ ├── useStorage.ts
│ └── useSpeech.ts
├── stores/ # Pinia stores
│ └── project.ts
├── server/ # Server API routes
│ └── api/
│ └── breakdown.post.ts
├── types/ # TypeScript types
│ └── index.ts
├── assets/ # Static assets
│ └── css/
│ └── main.css
└── app.vue # Main app component
- Framework: Nuxt 3
- Language: TypeScript
- Styling: Tailwind CSS
- State Management: Pinia
- Storage: IndexedDB (via idb)
- AI: OpenAI API
- Testing: Vitest + Vue Test Utils
MIT