Design Journal

A collaborative design documentation tool with AI-powered assistance for technical project management.

Features

Document Management

  • Rich text editor for design journals
  • Automatic table of contents generation from headings
  • Real-time Markdown preview with GitHub-style rendering
  • Auto-save functionality with timestamp tracking
  • Version history with undo/redo (Ctrl+Z/Y)

AI-Powered Assistant (Mistral AI)

  • Rephrase: Improve clarity and style of selected text
  • Analyze: Detect inconsistencies and duplicates in documents
  • Advice: Get constructive improvement suggestions
  • Enhanced Mode: Iterative document enrichment with configurable precision (30-90%)
    • Up to 10 iterations of progressive enhancement
    • Real-time streaming feedback
    • Precision control for creative vs. conservative improvements

User Interface

  • Dark/Light theme with preference persistence
  • Split-panel layout with collapsible sidebars
  • Responsive design for various screen sizes
  • Keyboard shortcuts for common actions

Export & Import

  • Export to Markdown (.md), PDF, or HTML
  • Import existing Markdown files
  • Default template for quick starts

Installation

Prerequisites

  • Node.js 16+
  • npm or yarn
  • Mistral API key (optional, for AI features)

Setup

# Clone the repository
git clone <repository-url>
cd conception-assistant

# Install dependencies
npm install

# Create configuration file (optional)
cp .env.example config/.env
# Edit config/.env and add your Mistral API key

Configuration

Create a config/.env file with the following (all optional):

# Server Configuration
PORT=3000

# Mistral AI Configuration (required for AI features)
MISTRAL_API_KEY=your_mistral_api_key_here
MISTRAL_MODEL=mistral-large-latest
MISTRAL_BASE_URL=https://api.mistral.ai/v1

# AI Advanced Configuration
AI_ENABLED=true
AI_MAX_TOKENS=35000
AI_TEMPERATURE=0.3
AI_TOP_P=0.85

Note

: The application works perfectly for journal management without an API key. AI features will be disabled if no key is provided.

Running

# Start the application
npm start

# Access the application
# Open http://localhost:3000 in your browser

Usage

Creating a New Journal

  1. Use the main editor to write your content
  2. The table of contents updates automatically
  3. Save with Ctrl+S or the Save button

Using AI Features

  1. Rephrase: Select text → click "Rephrase" button
  2. Analysis: Click "Inconsistencies", "Duplicates", or "Advice" buttons
  3. Enhanced Mode:
    • Choose iterations (1-10) and precision (30-90%)
    • Click "Enhanced Mode"
    • Watch real-time streaming improvements

Keyboard Shortcuts

  • Ctrl+S - Save journal
  • Ctrl+Z - Undo
  • Ctrl+Y or Ctrl+Shift+Z - Redo
  • Tab - Indent
  • Esc - Close panels

Project Structure

conception-assistant/
├── app.js                   # Express server
├── package.json             # Dependencies and scripts
├── routes/                  # API routes
│   ├── index.js            # Main routes
│   ├── api.js              # Journal CRUD operations
│   ├── ai.js               # AI integration (Mistral)
│   ├── templates.js        # Template management
│   └── export.js           # PDF/HTML export
├── views/                   # HTML components
│   ├── page.js             # Main HTML structure
│   ├── header.js           # Header component
│   ├── main.js             # Main content area
│   └── footer.js           # Footer component
├── assets/                  # Static resources
│   ├── css/                # Stylesheets
│   └── js/                 # Client-side JavaScript
├── templates/              # Document templates
│   └── default.md          # Default template
└── data/                   # Journal storage
    └── journals_*.json     # Saved journals

AI Configuration

Temperature Settings by Feature

  • Rephrase: 0.2 (very precise)
  • Analysis: 0.1 (factual)
  • Advice: 0.4 (balanced)
  • Enhanced Mode: 0.1-0.9 (dynamic based on precision setting)

Enhanced Mode Precision Levels

Level Description Behavior Use Case
30% Very Creative Can create 70% new logical content Initial brainstorming
50% Balanced 50/50 deduction/creation Standard development
70% Conservative Primarily based on existing content Document refinement
90% Very Precise Only obvious deductions Technical finalization

Technology Stack

Backend

  • Node.js - JavaScript runtime
  • Express.js - Web framework
  • Mistral AI - Language model API
  • Puppeteer - PDF generation

Frontend

  • Vanilla JavaScript - No framework dependencies
  • Marked.js - Markdown parsing
  • Mermaid.js - Diagram rendering
  • CSS Variables - Dynamic theming

License

MIT License - see LICENSE file for details

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Open Source

This project is open source and available under the MIT License. No attribution required.

Description
No description provided
Readme MIT 474 KiB
Languages
JavaScript 79.9%
CSS 20.1%