A weekly planner that lives
inside Claude.

Calendrome is a local-first scheduling engine for people who plan their week by talking to an AI. Hours are budgeted, time is tracked, and every adjustment is one sentence away.

BETA

This is an early beta. You install it locally, it spins up a SQLite file on your machine, and you experiment with it from Claude Code. Nothing leaves your laptop. Things will change. Bugs are expected. Feedback is welcome.

Why it exists

Three principles, illustrated.

Every other weekly planner pretends to solve scheduling with checkboxes and reminders. Calendrome takes the opposite bet: real time, real budgets, real conversations.

PRINCIPLE 01

If it's not on the calendar, it's not real.

You can talk about needing to do something. You can list it. You can intend it. But until time is actually allocated for it, it won't happen.

Calendrome makes the gap between "I should do this" and "two hours blocked Tuesday" as small as possible.

How: Tasks live with durations. Claude places them on real days. The week view shows the actual outcome, not the wishlist.
Wishful list
Finish ACME login spec
Plan Q3 roadmap
Study for cert
Call mom
Refactor billing
Actual week
MON3h
ACME spec
2h
Cert review
1h
TUE2h
Q3 roadmap
2h
WED1h
Call mom
7pm
PRINCIPLE 02

Work expands to fill the time allotted.

Even when client work drops, it still somehow takes all week — unless you budget deliberately. Without explicit hour caps, low-priority work absorbs every gap.

Calendrome makes hour budgets visible so you can see the drift and push back.

How: YNAB-style weekly hour caps per project. Soft warnings, not hard blocks — you decide what to do about overages.

ACME

11h / 20h

GLBX

9h / 10h

INTL

13h / 10h (+30%)

CERT

2.5h / 10h (-75%)

Budget bars from the actual GUI — over budget glows red, under glows muted.

PRINCIPLE 03

Claiming time should be one sentence.

The thing every other tool gets wrong is making "Tuesday night I'm doing nothing" into a settings exercise — recurring rules, calendar overlays, working hours panels.

In Calendrome that's one MCP call from a single conversational sentence. Same for reopening time.

How: The friction floor for adjusting your own schedule is a complete sentence. Never a click path.
YOU
Tuesday night I'm doing nothing.
→ calendrome.block_time
{
  "category_id": "work",
  "start": "2026-05-12T18:00:00",
  "end":   "2026-05-12T23:00:00",
  "reason": "off"
}
CLAUDE
Done — Tuesday 6pm to 11pm is now off-limits for work scheduling.
Architecture

Claude Code is the connector.

Calendrome doesn't reach out to anything on its own. It's a quiet local SQLite database with an MCP interface. Claude Code is what stitches it together with the rest of your stack.

External
Google Calendar events · meetings
External
Jira tickets → tasks
Local
Calendrome SQLite · MCP
External
Harvest time logs out
Hub
Claude Code
plans · connects · logs
What Calendrome owns

Tasks, projects, weekly hour budgets, time logs, availability windows, habit instances. The single source of truth for what you actually intend to do this week — stored in a SQLite file on your laptop you can rm any time.

What Claude does

Pulls Jira tickets, places events on Google Calendar, pushes time logs to Harvest. Calendrome stays local and dumb on purpose — Claude is the smart, networked, reasoning part that ties everything together.

Try it

Run it locally in three steps.

Calendrome is a local MCP server. No accounts. No cloud. The database is one SQLite file on your machine that you can delete whenever you're done experimenting.

1

Clone and build

Requires Node 20+ and npm.

git clone https://github.com/mklute101/calendrome.git
cd calendrome
npm install
npm run build
2

Wire it into Claude Code

Add to ~/.claude/settings.json (or a project-level .claude/settings.json):

{
  "mcpServers": {
    "calendrome": {
      "command": "node",
      "args": ["/path/to/calendrome/dist/src/mcp/server.js"],
      "env": { "CALENDROME_DB": "/path/to/calendrome.db" }
    }
  }
}
3

Start planning

Restart Claude Code, then try the /week skill — or just say "create an ACME project, 20 hours a week".

$ /week
Pulling Jira tickets…
Reading your calendar…
Here's a draft for 2026-05-11 → 2026-05-17.

Optional dashboard: npm run gui opens a read-only weekly view at localhost:3000. Same design system as this page — because they're the same product.