Working with Briefs

Using Circuit·
6 min read
#1 User Growth

Bulk CSV import

142 usersFeatureOnboarding 24%
V2V1
Building

What to Build

Add a bulk CSV import flow that accepts feedback files up to 10,000 rows with automatic column mapping, deduplication and progress tracking.

Why It Matters

142 users mentioned this. Teams migrating from spreadsheets have no way to get historical feedback into Circuit without manual entry.

Customer Voice

"We have 500 items in a spreadsheet and no way to get them in."

Files to Touch

src/components/CSVImport.tsx(new)
src/lib/csv-parser.ts(new)
src/pages/Settings.tsx(modify)

Done When

  • User can upload a .csv and see mapped columns
  • Duplicates are detected and skipped
  • Progress bar shows import status

Working with Briefs

Briefs are build specs generated for each priority.

Brief Sections

Every brief contains 5 sections:

1. What to Build

Clear, actionable task statement. One sentence describing exactly what to implement.

2. Why It Matters

Business context - who's affected, revenue impact, urgency level.

3. Customer Voice

Real quotes from feedback:

  • Key Quote - The most impactful verbatim quote (5-20 words)
  • Supporting Quotes - 3 additional quotes with user type and emotion

4. Files to Touch

Suggested code locations (requires GitHub connection):

  • File paths with (new) or (modify) labels
  • Based on your connected repository structure

5. Done When

Clear exit criteria: what defines success.

Briefs may also include conditional sections when relevant:

  • What Circuit Remembers — previous ships, corrections and related context (see Memory)
  • Competitive Context — when customers mention competitors, a short summary of who and why

Brief Status

StatusMeaningNext Action
ReadyWaiting for actionStart building
BuildingIn progressComplete and ship
ShippedCompleteCustomers notified

Working with Briefs

View a brief: Click any priority to expand and see the brief inline.

Edit a brief: Click the edit icon to open the full brief in an editor. Make your changes, then click Save to apply. Changes are saved as a new version.

Refresh brief: Click the refresh icon to regenerate with the latest feedback data. A Refresh badge appears automatically when new feedback has changed the scope since the brief was last generated.

Version history: Click V1, V2, etc. to compare previous versions. Two triggers create a new version: new feedback arriving on a shipped brief (automatic) or you editing or refreshing a brief (manual). All versions are kept indefinitely.

Export to coding tools:

  • Click Copy to grab the brief, then paste into your coding tool (Cursor, Claude Code, etc.)

Export as markdown:

  • Click Export on any brief to download as a markdown file
  • Or use batch export: select multiple priorities from the list, then click Export to download all their briefs at once

Keyboard navigation:

  • ← → arrow keys to move between briefs
  • Enter to expand a priority

What Briefs Remember

After a few ships, briefs show what Circuit remembers: previous ships, corrections and related context. If the team has shipped something similar before, the brief surfaces it. This helps avoid duplicate work and build on past decisions.

See the Memory article for how this works.

What Happens When You Ship

When you click "Mark as Shipped", the Share Back dialog opens.

1. Choose your channels

ChannelWhat happens
EmailBranded notification sent to eligible customers
Widget bannerBanner shown in the float widget for returning visitors
BothEmail + widget banner (default)

2. Review recipients

The dialog lists every customer eligible for notification — those who submitted via widget with an email on file. Each shows their email, name (if available) and a feedback snippet. Uncheck any recipient to skip them individually.

Click Skip to send nothing and keep the brief as Shipped without notifying anyone.

3. Customise the email

Notification emails use your workspace branding: company name, logo URL, accent colour, footer text and sender display name. Configure in Settings → Integrations → Widget → Notification branding. Without custom branding, Circuit's default styling applies.

4. Status changes to Shared

After sending, the brief moves to Shared — the final stage in the pipeline. Shared means the feature shipped and customers were notified.

A ship memory is recorded at this point: theme, volume and customer segment at time of ship. This is what Circuit learns from over time.

Can't find what you're looking for?

Contact support