Dryft is an AI native planning platform for software engineers.

The missing layer between idea and implementation.Plan like a senior engineer. Let AI code.

Planning

is fragmented.

Critical context gets trapped in peoples heads, buried in tools, or lost entirely.

👀 Problem

Trying to make checkout feel fast this sprint. Target: under 1s on normal connections. Notes from Slack/Doc/SRE pulled here—needs alignment.

Retry spike Fri 9:42–10:07; see logs → SRE link

Fallback for EU if edge storage is blocked

Decision in Slack said: “cache token + have a switch to turn it off” → need owner + task

Baseline (US web): P50 620ms, P95 1.8s, P99 2.6s → Grafana dashboard

Doc says “add rollback plan” but it’s still unresolved → Spec link

💭 To Do

Define success metrics (owner: ?)

Add rollback flag to config

Notify Support about latency windows

Link related tasks in Jira/Linear (missing)

Assign owner for alerts (P95 > 1.2s for 10m)

🛫 Open Questions

If token expires mid-checkout, what does the user see?

Any privacy concerns with edge storage?

Rollout order: 10% → 50% → 100% or slower?

Rollout order: 10% → 50% → 100% or slower?

Checkout Perf Notes

📨

📨

Product Spec

Share

Edited just now

Upgrade plan

This workspace has used 88 of its 1000 block storage limit (8.8%).

Upgrade to go unlimited

General

No pages inside

Teamspace Home

Teamspaces

Task List

Shared

Checkout Perf Notes

📨

Private

Templates

Import

Trash

Search

2

Updates

All teamspaces

Settings & members

Family Guy’s W...

?

Checkout Latency Plan (Draft)

File

Edit

View

Insert

Format

Tools

Extensions

Help

100%

Heading 2

Arial

18

Goals

Speed: Bring P95 < 1.0s and P99 < 1.4s for US web checkout by Aug 30.

Stability: Error rate ≤ 0.5% during rollout.

Ops: Rollback < 10 min via config flag.Baseline (Aug 5): P50 620ms · P95 1.8s · P99 2.6s (US web)Measure: Grafana dashboard → “Checkout Latency (US)” · Alerts at P95 ≥ 1.2s for 10 min.

Scope: Web (US). Mobile + EU in a follow-up.Non-goals: Rewriting payment provider or cart service.

Options

1) Edge cache payment token (risk: stale)

  • What: Save the payment token at the CDN/edge for 15 min TTL. Fallback to origin on miss.
  • Why: Avoids token fetch on each checkout; biggest single win.
  • Est. win: 300–500ms per checkout.
  • Risks: Stale/expired token → decline; edge storage review (PII/privacy).
  • Effort: 2 eng days (BE) + 1 day (SRE).

2) Warm pool for payment service (infra cost)

  • What: Keep a small pool of instances “warm” to avoid cold starts.
  • Est. win: 150–250ms on first hit; smaller impact on steady-state.
  • Risks: Ongoing infra cost; autoscaling tweaks.
  • Effort: 1 eng day + 1 SRE day.
  • Cost: ~$1.2k/mo.

3) Precompute cart totals (consistency?)

  • What: Precompute totals at add-to-cart; verify at checkout.
  • Est. win: 80–120ms.
  • Risks: Stale totals if cart changes in another tab; discounts/promos edge cases.
  • Effort: 2 eng days.

Proposed Decision

Go with 1) Edge cache (TTL 15 min) + 3) Precompute, ship behind a rollback flag, monitor with new alerts.Keep 2) Warm pool as a fallback if edge storage is blocked by privacy review.

Brian Madden

8:43 AM

2 days ago

Resolve

Can you be more specific?

Brian Madden

8:43 AM

2 days ago

Resolve

Can we add rollback procedure?

Brian Madden

8:43 AM

1 week ago

Resolve

Owner for Grafana dashboard?

Brian Madden

8:43 AM

1 week ago

Resolve

Is timeline accounting for Black Friday freeze?

Reply...

Thread

#checkout-perf

PM

10:42 AM

Goal this week: Make checkout feel fast. Target: under 1s on a normal connection.

Engineer

10:43 AM

Main slowdown: the payment service takes a while to wake up.

Two options: A) keep a small part always on, or B) save the payment token so we don’t ask for it every time. (Options)

Tech Lead

10:50 AM

We’ll save the payment token for 15 minutes and add a switch to turn it off quickly if anything breaks.Owners: Alex (code), Priya (alerts) · Due: Thu EOD(Links: Spec · Tasks)

Designer

11:46 AM

If the token expires mid-checkout, what does the user see?

PM

10:42 AM

Simple message + auto-retry once. Copy added in the doc --> Spec

-------------------Next Day------------------

Engineer

9:43 AM

Did we add the switch yet?

-------------------Next Day------------------

Engineer

12:43 PM

Who’s owning alerts?

-------------------Next Day------------------

Engineer

12:43 PM

Link to the tasks? Can’t find them in Jira.

Unresolved comments

Specs drift from implementation

Brian Madden

8:43 AM

2 days ago

Resolve

Can you be more specific?

Brian Madden

8:43 AM

2 days ago

Resolve

Can we add rollback procedure?

Brian Madden

8:43 AM

1 week ago

Resolve

Owner for Grafana dashboard?

Brian Madden

8:43 AM

1 week ago

Resolve

Is timeline accounting for Black Friday freeze?

Shadow plans within AI chats

Ownerless agent changes

Brian Madden

8:43 AM

2 days ago

Resolve

Can you be more specific?

Brian Madden

8:43 AM

2 days ago

Resolve

Can we add rollback procedure?

Brian Madden

8:43 AM

1 week ago

Resolve

Owner for Grafana dashboard?

Brian Madden

8:43 AM

1 week ago

Resolve

Is timeline accounting for Black Friday freeze?

Decision buried in threads

Context spread across channels

Duplicate notes vs docs

To-dos detatched from tracker

Bring the pieces together.

Your messy inputs become a plan you can ship.. Dryft gathers the signal from threads, notes, specs, and repos.

Ideas

Implementation

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

// Type some code ->

console.log "oO08 iIlL1 g9qCGQ ~-+=>";

// â é ù ï ø ç Ã Ē Æ œ

function updateGutters(cm) {

var gutters = cm.display.gutters,

__specs = cm.options.gutters;

removeChildren(gutters);

for (var i = 0; i < specs.length; ++i) {

var gutterClass = __specs[i];

var gElt = gutters.appendChild(

elt(

"div",

null,

"CodeMirror-gutter " + gutterClass

)

);

if (gutterClass == "CodeMirror-linenumbers") {

cm.display.lineGutter = gElt;

gElt.style.width = (cm.display.lineNumWidth || 1) + "px";

}

}

gutters.style.display = i ? "" : "none";

updateGutterSpace(cm);

return false;

}

Reply...

Thread

#checkout-perf

PM

10:42 AM

Goal this week: Make checkout feel fast. Target: under 1s on a normal connection.

Engineer

10:43 AM

Main slowdown: the payment service takes a while to wake up.

Two options: A) keep a small part always on, or B) save the payment token so we don’t ask for it every time. (Options)

Tech Lead

10:50 AM

We’ll save the payment token for 15 minutes and add a switch to turn it off quickly if anything breaks.Owners: Alex (code), Priya (alerts) · Due: Thu EOD(Links: Spec · Tasks)

Designer

11:46 AM

If the token expires mid-checkout, what does the user see?

PM

10:42 AM

Simple message + auto-retry once. Copy added in the doc --> Spec

-------------------Next Day------------------

Engineer

9:43 AM

Did we add the switch yet?

-------------------Next Day------------------

Engineer

12:43 PM

Who’s owning alerts?

-------------------Next Day------------------

Engineer

12:43 PM

Link to the tasks? Can’t find them in Jira.

New chat

Search chat

Library

Chats

Framer subscription comparison

Code-aware planning

Draft feature specification

Trade-offs and rationale traced to PR

Cloud resource inventory

 

Customer feedback summary

Onboarding plan for new hire

John Smith

Type message

Discussion Capture

Import conversations from Slack, ChatGPT, or Claude. Dryft extracts decisions and action items, preserving the full context of how you got there.

Recent Chats

Customer Analysis Specs

Debugging Codebase Configuration

React Component Syntax Errors

Design Documentation Overhaul

Share

Rename

Import to Dryft

Contextual Intelligence

DryftAI automatically searches your entire discussion history, surfacing relevant decisions, ideas, and context exactly when you need them. Nothing gets buried.

Pulling from these two sources, there are a few security concerns with the current strategy. Consider these three options to mitigate them without slowing checkout.

Option 1

Option 2

Option 3

We use JWTs, and yes we want returning customers to have saved payment info. That's actually the main reason we force account creation. Maybe we could do guest checkout but somehow save their card for next time?

Dryft pulled 2 relevant sources from your workspace

Why this is relevant: They discuss the same checkout work, including the token-cache choice and unresolved alerts/rollback.

Slack

|

#checkout-speed

4 participants

Yesterday 2:14PM

PM

10:12

For this sprint, let’s get checkout to P95 under 1s.

SRE

11:31

FYI — we hit a retry storm on Friday from 9:42–10:07; logs and traces are in Grafana if you want to dig in.

Eng

12:05

Two viable paths: keep a small warm pool to avoid cold starts, or add an edge token cache.

Go to Thread

Doc

|

Checkout Latency Plan - Draft (v0.3)

3 min read

Last opened 9 days ago

Current baseline is P95 1.8s / P99 2.6s. We’ll reduce latency by caching the payment token at the edge (TTL 15m) behind a kill switch controlled by checkout.token_cache. Roll back by purging the cache, disabling the flag, and...

Go to Doc

Code Blueprints

See your entire system without reading code. Visual service maps, API boundaries, and data flows that every engineer checks daily to understand impact and plan changes.

Codebase Snapshots

View your architecture at any point in time. Track how your system evolved and why it changed.

Live Blueprint

Today

Sync

Drift

Contract Fail

Auth Service

oncall-identity

Users

oncall-identity

IDENTITY

Billing API

oncall-billing

Payments

oncall-billing

Catalog

oncall-core

BILLING

DISCOVERY

Orders

oncall-core

COMMERCE

Weekly team digest

Auto-generated from git history and PRs. See what shipped, what's blocked, and what's next without manual updates.

 

Planning Analytics

Real-time dashboard of your planning metrics. Monitor design-to-deployment velocity, scope creep, and bottlenecks across all projects.

 

 

Design Drift Detection

Get alerts when code diverges from approved designs. Catch architectural violations before they become technical debt.

Pattern Recognition

DryftAI identifies successful patterns in your codebase and suggests proven approaches for similar features.

Planning

is slow & shallow.

Complex systems outgrow any one-shot AI prompts or any person’s view, leading to half-baked plans and fragmented architecture.

Feature Plan (Draft)

File

Edit

View

Insert

Format

Tools

Extensions

Help

100%

Heading 2

Arial

18

Problem

Features v2 Review

11:00 - 11:30am

Client Calls

10:00 - 10:30am

Scope Refinement

1:00 - 2:00pm

Features v3 Review

12:00 - 12:30pm

Lunch

Lunch

Lunch

Features v4 Review

2:00 - 2:30pm

Marketing Meeting

10:30 - 11:30am

FEAT-218

Improve checkout speed

Blocked: missing decision link “cache token?” unresolved

Description

See design doc.

Acceptance criteria

See design doc.

Links

Design doc

Owner

 

 

None

Estimate

 

 

None

Dependencies

 

 

None

Stuck on blank page paralysis

One-shot AI prompts aren’t enough

No one has the full picture

Too many reviews, no resolution

Unstartable empty tickets

Unclear dependencies and estimates

Implement

3-7 days

Review

0.5-1.5 days

1-2 rounds

Small Feature

Medium Project

Cross-team Initiative

1-2 engineers

|

1 service

Design

0.5-2 days

Build quickly with breadth and depth.

Like having a senior architect who knows your codebase. Design together, review instantly, and implement clearly with DryftAI.

Small Feature

Medium Project

Cross-team Initiative

1-2 engineers

|

1 service

Design

Review

 

Implement

0.25 - 1 day

0.25-0.75 day

|

1 round

2-5 days

DryftAI

Would you like to start a design doc for this customer analytics dashboard redesign?

customerdash.txt

(50)

09122025meeting.txt

(7)

prd.pdf

(3)

systemrepo.git

(25)

thread09232025.txt

Customer Analytics Dashboard Redesign

Goal

Problem Statement

Proposed Solution

Architecture & Design

IMPL-001

Critical Path

 

Set up core infrastructure and Kubernetes cluster

Blocks 4 tasks

IMPL-002

 

Implement job queue and message broker system

Blocked by IMPL-001

Blocks 2 tasks

IMPL-003

Critical Path

 

Build database schema data access layer

Blocked by IMPL-001

Blocks 3 tasks

Co-Author Plans with DryftAI

Discuss ideas naturally while DryftAI pulls relevant context from your codebase, docs, and discussions. Dryft builds comprehensive design docs alongside you in real-time.

A few clarifying questions to help design the best approach:

  • Do you need to support returning customers who want to track orders?
  • Are you storing payment methods for one-click purchasing?
  • What's your current auth setup - are you using sessions, JWTs, something else?

What's your current checkout flow? Are users required to create an account before purchasing?

We use JWTs, and yes we want returning customers to have saved payment info. That's actually the main reason we force account creation. Maybe we could do guest checkout but somehow save their card for next time?

I'm thinking about how to handle our checkout flow. We're losing too many users at the account creation step.

Yeah, they have to sign up first. We want their info for marketing and order history, but the drop-off rate is like 35% at that step.

A senior engineer at your fingertips

Instant AI Review

Get immediate feedback on technical gaps, edge cases, and architectural concerns. DryftAI reviews like a senior engineer who knows your system inside out.

Service Boundaries

Authentication logic scattered across 3 services. Should be centralized in auth service to maintain single source of truth.

Concurrent Updates

What happens when two users edit the same dashboard simultaneously? No conflict resolution strategy defined.

Rate Limiting

No rate limiting on customer analytics endpoint. A single client could overwhelm the service with requests.

Actionable Context-Rich Tasks

Transform designs into perfectly scoped tickets with dependencies, acceptance criteria, and estimates. Export directly to Linear, Jira, or your existing workflow.

IMPL-003

6-8 days

Critical Path

 

Build database schema data access layer

Blocked by IMPL-001

Blocks 3 tasks

Summary

Technical Details

Acceptance Criteria

Split Task

View Dependencies

Edit Task

One-Click Code Generation

When ready, generate implementation PRs directly from your tasks. AI writes code that follows your design decisions and matches your team's patterns.

Export Tasks to Work Flow

Hand Off to AI Agents

Avoid Duplicate Work

DryftAI alerts you when similar features have been built before, surfacing reusable code and lessons learned from past implementations.

Find Local Experts

Automatically identify who knows what in your codebase. Get the right reviewers and collaborators based on code ownership and contribution history.

 

Org-wide Knowledge Graph

Connect every design, decision, and implementation across your entire organization. Search and discover how similar problems were solved before, by any team.

VSCode Extension

Create lightweight designs directly in your IDE for smaller tasks. Full sync with Dryft means you can start anywhere and seamlessly scale up when needed.

 

Catch the Dryft.

Early access and updates coming soon!

dryft