Basegraph

Plan deeply.
For serious work.

Write production-grade code.

SF — --:-- --

A Claude Code plugin that understands what you're building before it writes a line of code. Learns who you are. Thinks with you. Remembers everything.

Your decisions carry forward.

Next session picks up where this one left off. Teammates pull the repo, their Claude has your decisions.

30 seconds to install. Free for 20 sessions.

© 2026 Basegraph, Inc.
SYS 12ms

[ 01 ] THINKING PARTNER

Relay sits with you first.

You describe a feature. Claude starts writing code. Three files in, you realize it's solving the wrong problem.

Relay doesn't do that. It confirms what you're building and why. Reads your codebase. Teaches you the landscape — what exists, what the options are, what would break.

You make the decisions. But you make them informed.

Claude Code
D

we need to add SSO

R

So enterprise customers can use their existing identity provider — that right?

Right now auth goes through handlers/auth.go — JWT only, no SAML or OIDC paths yet.

Two approaches — build on the existing middleware or use a dedicated SSO service. I'd go dedicated — keeps your auth paths separate.

[ 02 ] THE CATCH

It catches what you'd have missed.

Not generic warnings about error handling. Not “have you considered edge cases?” Real things, grounded in your actual code.

Your event_logs table has a 30-day auto-clean policy. Retry state stored there gets silently deleted. Relay finds that before you ship it. Points you to the queue infrastructure you already have.

The kind of thing a good staff engineer catches in review. Except it happens before you write the code.

Claude Code
D

add webhook retries

R

Before I write anything — webhook_events has a 30-day auto-clean policy. Retry state stored there gets silently deleted.

I'd go queue-based. You already have the infra in internal/queue/.

[ 03 ] PRODUCTION THINKING

It thinks about production. Not just your file.

When something fails at 3am — can someone trace the cause? When two requests hit the same row — what wins? When step 2 of 3 fails — is the data still valid?

Most AI tools write code that works on your machine. Relay thinks about your database, your cache, your queue, your workers — the whole system. Every change gets evaluated through that lens.

Claude Code
D

add a cache for user profiles

R

updateProfile in handlers/user.go:84 writes to Postgres but doesn't invalidate. Cached reads will serve stale data until TTL expires.

Write-through at the handler level. One line — cache.Set after the DB write. Two other write paths do the same thing — I'll trace those too.

[ 04 ] DECISIONS CARRY

It remembers what you decided. And why.

Every decision gets captured — what you chose, what you considered, why you went this way. Technical and business. Architecture, pricing, strategy — all of it.

Next session picks up where this one left off. Your teammate pulls the repo, their Claude has your decisions. No more re-explaining context. The thinking compounds.

relay decisions

Dedicated webhook_subscriptions table

Decided by: Alice

Category: data_model

Confirmed: Independent table, own lifecycle

Over: Extending event_logs

Reasoning: event_logs has 30-day auto-clean —
subscriptions would be silently deleted

✓ Carries to next session

✓ Teammates see this decision

Tell us about a time you were frustrated with Claude Code.

What happened? We read every one of these.