Skip to main content

On This Page

DevPulse: Automating Engineering Journals via Claude Code and Notion MCP

3 min read
Share

These articles are AI-generated summaries. Please check the original sources for full details.

The Dev Journal That Writes Itself (And Gives You XP)

DevPulse is a global Claude Code agent that automatically logs coding sessions to Notion after every commit. It features a 25-quest achievement system and uses a custom XP formula to track developer growth directly from project diffs.

Why This Matters

Technical work often disappears into git history, making it difficult for developers to articulate growth or reconstruct contributions for performance reviews. While ideal models suggest manual journaling, the reality is that high-friction tasks are rarely sustained; DevPulse solves this by using the Notion MCP as a relational backend to automate state management and data persistence without requiring a dedicated server layer.

Key Insights

  • XP Multiplier System: Rewarding consistency with a 1.5x multiplier at 7-day streaks and 2.0x at 30-day streaks to reinforce daily shipping habits.
  • Claude-Driven Growth Narrative: The system uses Claude to analyze 7 days of session data, identifying specific patterns like database-heavy weeks or TypeScript usage trends rather than using generic templates.
  • Notion as a Relational Backend: Utilizing the @notionhq/notion-mcp-server for precise filtered reads and database discovery, treating Notion as a production database for state management.
  • Automated Schema Migration: DevPulse detects missing database properties and uses notion_update_database to add columns like ‘XP Earned’ automatically on first run.
  • Difficulty Rubric: Sessions are rated from 1 (config tweaks) to 5 (complex algorithms), providing a quantifiable metric for skill progression over time.

Working Examples

The XP multiplier formula used to calculate session rewards based on consistency and difficulty.

Session XP = floor((Difficulty × 20) × streak_mult × diff_run_mult) + daily_spark + quest_bonus

Badge definitions stored in CLAUDE.md that the agent evaluates against session data.

## Badge Definitions
| Label | Condition |
|---|---|
| Multiplier | Session where streak_mult ≥ 1.5 AND diff_run_mult = 1.25 AND daily_spark was applied |
| Deep Diver | 3+ sessions with Difficulty = 5 in any rolling 7-day window |
| Full Stack | Session Stack contains ≥ 1 frontend AND ≥ 1 backend technology |

MCP operation for writing session data to the Master Dev Log database.

notion_create_page(
  parent: { database_id: master_dev_log_id },
  properties: {
    "Session Title": "Async Queue System for Ad Insertion Engine",
    "Project": "ad-engine",
    "Stack": ["TypeScript", "Node.js", "Redis"],
    "Difficulty": 4,
    "XP Earned": 247,
    "Date": "2026-03-19",
    "Commit Hash": "a3f9b2c"
  }
)

Practical Applications

  • Performance Review Automation: Using the /weekly-recap command to generate a structured, searchable record of project focus and difficulty trends across multiple repositories.
  • Pitfall: Double-logging commits; DevPulse prevents this by searching the Master Dev Log for existing commit hashes before creating a new entry.
  • Skill Progression Tracking: Junior developers monitoring difficulty ratings (1-5) to visualize technical growth from configuration tasks to complex algorithm implementation.
  • Pitfall: Inconsistent data types; DevPulse enforces a hard constraint that ‘Stack’ must be written as an array of strings to maintain database integrity for tech frequency aggregation.

References:

Continue reading

Next article

Implementing Karpathy-Style Iteration Loops for Production Coding Agents

Related Content