Building

One person, a lot of agents, and a company on its second act.

Most of what I make is Groupthink. I started the company in 2021, shipped the first version of it in February 2023, and since May 2026 I have built the whole thing by myself, with AI doing the work a team of engineers used to do. Here is the story, with the numbers.

The numbers

The work, by month

October has 2,878 merged so far, about 133.9 a day. At that rate it finishes near 4,150, past June 2026, the best month so far, at 604.

Five people The reduction Solo, with agents On pace

Engineering merged pull requests

Operations commits

Engineering is the API, the web and desktop apps, the iOS app, and the marketing site. The dip in the middle is what it cost to lose a team, and the recovery on the right took four months of learning how to direct agents well.

Operations is the repositories that run the company rather than build the product: product holds the roadmap and the specs, marketing holds the campaigns, and company holds the strategy, the decision log, and the runbooks. It is counted in commits, because those repositories take direct commits and a pull request in them would gate nothing. Counting their pull requests gave fifteen straight months of zero while the writing was in fact going on.

Different units and different scales, so read each chart against itself rather than against the other. The repositories do not overlap.

counts refreshed daily from github · last updated 11 hours ago

Were the pull requests just smaller?

If more pull requests only meant thinner ones, the size of each would have fallen as the count rose. It did the opposite.

Measure A team of five November 2024 to July 2025 Solo, with agents May to September 2026
Merged pull requests 1,614 2,891
Lines changed 269,383 1,024,039
Lines per pull request 167 354
Commits per pull request 1.8 1.8
Median commit 24 lines 87 lines

Nearly four times the code changed, in five months instead of nine, on pull requests more than twice as large, with no more commits inside each one. The median commit is the number that settles it, because a median cannot be moved by one big import.

api and frontend only, which is 3,197 of the 3,762 pull requests merged in 2026 through September 30, so the pull request counts here run below the chart. This measurement stops there. Lockfiles, build output, vendored code and generated files are excluded, and so are the three largest commits of every month, so that one bulk import cannot carry a month. measured October 1, 2026

604

merged PRs

June 2026, the best full month in the company's history

October has already passed it, with the month still running. Before that, May 2026 at 424. With five people the record was 262, in April 2025.

$22

per merged PR

All-in company cost in September

It was $430 per PR in June 2025, running a team of five on $104K a month.

$200

per month

What the engineering labor costs

A flat Claude plan. The same usage at list API prices would have run about $5,200 in June.

4,672

merged PRs

In 2026, January 1 through October 22

Across the API, the web and desktop apps, the iOS app, and the marketing site.

Every figure here is a merged pull request count from GitHub or a line from the company's own books. Nothing is estimated except the pace, which is labelled where it appears.

Shipped, week by week

What reached production each week since I started building solo. It only lists what I have written about or checked in production.

  1. Week of October 12

    • Lists of people

      On the Relationships page you can tick people, add them to a named list, and open that list on its own. It shows who is missing an address, lets you fix one in its row, and downloads as a spreadsheet.

    • Set a rhythm for many people

      Tick several people on the Relationships page and choose Set cadence to give them one check-in rhythm, or a suggested rhythm for each.

    • Gift ideas

      A person's page has a Gifts section for gift ideas and the occasion. Marking one given logs it as an interaction, and open ideas show on Today near that person's birthday or anniversary.

    • Company and job title

      A person's details include company and job title. Importing contacts fills them in, including from a LinkedIn connections export, until you confirm them.

  2. Week of October 5

    • What you tell Groupthink about someone stays private

      Notes you write about a person stay out of drafted messages, talking points, and what a connected assistant sees when it looks that person up.

    • Family members are not filed as contacts *

      When a capture mentions a relative, Groupthink leaves them out of your relationships list.

    • Mute a person

      From the menu on a person's page you can mute them, and they leave your Relationships list. Muted people sit under a Muted filter, and their record is kept.

    • A role offered from a note

      A note that says where someone works offers that as their role if they have none yet. It quotes the sentence, and nothing is saved until you click Add.

  3. Week of September 28

    • Your history in a repo you own

      On Pro, Groupthink commits your meetings and captures as Markdown to a private GitHub repo you connect, from the web or desktop app. Everyone can export everything, or the captures alone, from Settings.

    • Going Cold, by each person's own rhythm

      The Going Cold filter on the Relationships page flags people who have gone quiet longer than is usual for them, instead of one fixed number of days for everyone.

    • Your record, at the top of a recap *

      A meeting recap opens with what your record says about the people in it, including what you owe them and what they owe you. Shared recaps leave it out.

    • People you have not met yet say so *

      Someone who is on your calendar but has not met you yet shows the calendar date instead of a last meeting.

    • Last really caught up

      A person's page has a Last really caught up line with a date and an optional note about what you talked about.

    • Several roles per person

      A person can hold more than one role at once, like client and friend, each with its own dates. Ending one leaves the others.

    • People in your notes become contacts

      When a note you log names someone who is not a contact yet, their page can show a card with the sentence that named them. You choose Add contact or Not now.

    • A suggested rhythm shows its evidence

      When Groupthink suggests how often to check in with someone, it says what it counted first, like how many days you were in touch this past year. Nothing changes until you pick.

    • A clearer Check your email page

      After you ask for a sign-in link, the page changes to Check your email, with a button to open Gmail and one to resend the link.

  4. Week of September 21

    • Each fact names its meeting

      A fact Groupthink learned in a meeting now says which meeting, and when.

    • Notes from your assistant say so

      A note that reaches Groupthink through a connected assistant is marked as coming from it.

    • Calendar history imports while you watch

      Connecting a calendar imports its past events, and onboarding shows the import as it runs. Twelve months on Free, up to three years on Pro or during the trial.

    • A private note is not a touch *

      Writing a private note about someone no longer counts as being in contact with them.

Earlier weeks
  1. Week of September 14

    • A Most recent column

      The Relationships list shows each person's last interaction and when it happened.

    • Assistants do more

      Claude and other connected assistants can read your meeting recaps, work through action items, and log a call or coffee for you.

  2. Week of September 7

    • Richer logged interactions

      When you log an interaction you can say how it happened, and it can span several days. The contacts grid now shows last meeting and last contact separately.

    • Where an action item came from

      Every action item shows where and when it was said, such as the meeting and its date.

  3. Week of August 31

    • Voice Dictation on the Mac

      In the desktop app, hold the fn key and speak. Your words are typed wherever your cursor is.

    • One box, and a Captures page

      One field at the top of the sidebar takes whatever you want to log. Everything you capture has its own Captures page in the left navigation.

    • Trial recaps stay readable

      When a trial ends, the recaps, transcripts, and recordings from it stay readable on the free plan, with no time limit.

    • A new look

      The whole app has a new look: deep pine green, serif headings, and a warm off-white page.

  4. Week of August 24

    • Shareable booking links

      You can share a link that shows your open times across all your connected calendars. People pick a slot on a public page, with no account needed.

    • Busy times sync across calendars

      Groupthink can copy busy blocks between your connected calendars. The copies hide the meeting details.

    • I went, or it did not happen

      An ended meeting on Today asks whether you went. Two buttons, so the record matches what happened.

    • Your week in a paragraph

      The week view on Today opens with a short paragraph about the week and lists everyone you were in touch with.

  1. Week of August 10

    • Action items you can accept

      Action items Groupthink is unsure about now appear as suggestions you accept or dismiss. You can also pick an owner for unassigned items.

  2. Week of August 3

    • Goals that repeat

      A goal can repeat, like calling your parents every week. Mark it done and it moves to its next date, counted from the day you did it.

  3. Week of July 27

    • Today, by day, week, or month

      Today is one page you move through by day, week, or month. The month view is a calendar grid.

    • Prep cards on Today

      Today has a card for each meeting with the people in it, when you last met, and open threads. You can add a note, mark it prepped, or save someone new as a contact.

  4. Week of July 20

    • More control over check-ins

      You can set a check-in rhythm from a contact's page.

  1. Week of July 13

    • Answers that cite their sources

      Ask a question about a contact and the answer now shows numbered sources for each claim.

  2. Week of July 6

    • More calendar controls

      You can connect more than one Outlook account. Each calendar also has its own auto-join switch for the notetaker.

    • Check-ins on Today

      The Today page lists people you are overdue to talk to, based on the cadence you set for each.

  3. Week of June 29

    • A second Google Calendar

      You can connect another Google account in Settings. Its calendars are grouped under that email, and events on both accounts show once.

  4. Week of June 15

    • Projects in Groupthink

      Groupthink now has projects. Groupthink suggests new ones that you accept or dismiss.

    • Ask about a relationship

      A relationship page has a question box. Ask something about the person and get an answer from what Groupthink knows.

    • Action items to GitHub or Linear

      You can send a meeting action item to GitHub or Linear as an issue.

    • Fix or move a wrong fact

      Each fact has a menu to rewrite it, mark it as a duplicate, or move it to the person it is really about. The old version is archived, not deleted.

  1. Week of June 8

    • A summary for each relationship

      A relationship page now opens with a written summary of where things stand. One timeline holds its meetings, notes, and new facts.

    • Quick log from anywhere

      Press Command K on any page and type one line about someone. Groupthink files it to that person.

    • Capture photos, PDFs, and audio

      The Capture page now takes images, PDFs, and audio files. Groupthink reads them and you file what it finds to a person in one tap.

    • Action items across meetings

      Action items from a meeting now show in its recap. A new view lists your open action items from every meeting.

    • Confirm or dismiss suggested facts

      Facts Groupthink picks up are marked Suggested until you confirm them. You confirm or dismiss each one.

  2. Week of June 1

    • The Daily Brief email

      At 5pm on weekdays, an email lists each person you meet tomorrow, with when you last met, a quick tip, and open threads, plus short recaps of today's meetings.

    • Person pages fill in

      Each person's page now shows past meetings, facts you can add and edit, and a list of open topics to raise next time you talk.

    • Forward notes by email

      You get a personal address for forwarding meeting notes from any notetaker into Groupthink. It lives in Settings, under Ingestion.

    • More than one calendar

      You can choose several calendars, and your meetings list pulls events from all of them.

  3. Week of May 18

    • Claude can add notes about people

      Through the Claude connection, Claude can now write a note onto a person in Groupthink and look up past meetings.

    • Linked People on meetings

      Meeting notes and recaps show a row of the people linked to that meeting. You choose which people a meeting's notes go to.

    • Logged catch-ups count

      Interactions you log by hand, like a dinner that was not on your calendar, now count toward when you last saw someone.

  4. Week of May 11

    • Groupthink connects to Claude

      Claude and other AI assistants can now connect to Groupthink. They can read your meetings and relationships and send a notetaker to a meeting.

    • API tokens in Settings

      A new API Tokens tab lets you create the tokens that connect Claude Desktop, Claude Code, or Cursor to your account.

  1. Week of May 4

    • A page for each person

      Clicking someone on the Relationships list now opens their own page. It shows when you last met and whether you are keeping up with them.

* Live and checked in production, not announced yet.

What Groupthink is

A relationship intelligence platform. It makes the dynamic between you and another person legible enough to act on, so your next meeting with someone is better than your last.

The unit is the relationship

Not the meeting and not the task. A relationship is a system that exists in the space between two people, and inside it the load-bearing points are the commitments you make out loud. Those are the checks we write with our mouths that our workload cannot cash.

The record is yours

This software has always been sold to companies, to manage their people. Groupthink inverts that. You are a node across many overlapping and temporary organizations, and the record of your side of them should survive changing jobs, tools, and AI vendors.

It compounds on its own

Every meeting, every paste, every detected name deepens what the system knows, whether or not you remember to file anything. A notetaker's summary is identical on meeting one and meeting fifty. This one gets better every day you do nothing.

What it is not: a meeting notetaker. Meet, Teams, and Zoom all transcribe and summarize for free. That was the whole problem, and it is where this story starts.

The arc

Five years, one category collapse, one team reduction, and a rebuild that worked. The unflattering parts are in here too, because without them the rest does not mean anything.

  1. October 2015

    The request for startup

    Six years before the company exists, a post asks for a personal CRM for grown-up friendships: "My Mom had this pretty blue book where she'd record all of this stuff about her friends and family. I want something like that, but for the modern age." It ends: who will build it?

    Read the 2015 post →
  2. 2021

    First Party Labs

    The company is incorporated as First Party Labs. Groupthink's first line of code is still two years away.

  3. February 2023

    Groupthink starts

    First commits land in the API and web repos on February 2nd. A tool for running better meetings: agendas, notes, the things a team needs to not waste an hour.

  4. 2024

    The category commoditizes

    Google Meet, Teams, and Zoom all ship native transcription and summaries, free, with no bot to add. The most common objection from new signups becomes the one we could not answer: why would I use this instead of what is already in my meeting tool?

  5. February 2025

    Peak team output

    287 merged pull requests in a month, from five people. It stood as the record for fifteen months.

  6. August 2025

    Three engineers cut

    Burn goes from $104K a month to about $70K, then $38K. Output goes with it. This is the part of the story that is not a growth chart.

  7. December 2025

    The trough

    17 merged PRs that month, then 15 in January. Two people, one of them part-time and reviewing only. The cost per shipped PR was worse than it had ever been with a full team.

  8. February 2026

    The rebuild starts

    Claude Code becomes the engineering team. 98 PRs in February, 113 in March, 127 in April. Slower than the team era, and improving every month.

  9. March 2026

    The repositioning

    Groupthink stops being a meeting notetaker and becomes a relationship intelligence platform. Meetings are inputs. What you know about a person after twenty of them is the output.

  10. May 2026

    Solo

    The last reviewer comes off. 424 merged PRs that month, past the old team record, at $71 per PR against $430 eleven months earlier.

  11. June 2026

    604 merged PRs

    More than double the best month the team ever had. The binding constraint stops being engineering throughput and becomes deciding what is worth building.

  12. September 2026

    1,261 merged PRs

    The first month past a thousand, nearly double August at 707. Every merged pull request in 2026 through August added up to 2,501; September alone was half that again.

  13. Now

    The coach

    The product surface is an advisor that reads your record and tells you where a relationship actually is, and what the next move toward what you want from it looks like.

How the work actually happens

People assume the interesting part is the model. It is not. The interesting part is the scaffolding around it, which took about six months to get right and is still changing every week.

The whole company is markdown in git

Strategy, decision log, runbooks, meeting notes, the operating principles, the relationship record. Not because it is tidy, but because it is what an agent can read. A page of English is a job description.

Work is issues under milestones that span every repo

A milestone exists in all five repos at once: product, API, web, website, marketing. It is the single answer to what ships, when, and what goes out with it.

Agents run in parallel, in isolated worktrees

Several at a time, each in its own git worktree so they cannot collide, each claiming its issue first so two never build the same thing. That collision cost a duplicated feature once, which is why the claim step exists.

The code review is also AI

Every PR gets reviewed before it merges. A human reviewer was the last role to go, in May 2026. The review is the final gate, not a pre-flight check.

Nothing is done until it is checked in production

Merged is not done. Deployed is not done. Done is the post-deployment checklist actually run against production, with the results written down. CI cannot exercise production, so a checklist that is never executed is theater.

The workflow runs ahead of the product on purpose

The hand-built version will always be ahead of what ships. That is not a gap to close, it is the roadmap arriving early. What works here gets built for people who will never open a terminal.

The full mechanics, with the dates, are on their own page

On the bench right now

Checked October 12, 2026

Text with Groupthink

One phone number you text like an assistant. Ask about the people in your life, tell it what happened, and it goes on the right person's record.

Make a plan

From a text thread about getting together to a time on the calendar and a reply to send, from the phone.

The coach is paid after the trial

The Advisor is part of the thirty-day trial and becomes a paid feature when the trial ends. Today it is on for everyone.

The Advisor becomes your agent

The coaching chat grows into an agent that answers anything about your relationships and acts on the record with your confirmation. Web and iPhone together.

Activation from the calendar

Connecting a calendar has to leave you with a record that is already populated. Today it can leave you on an empty screen.

Back on the App Store

Sign in with Apple, a subscription you can buy through Apple, and layouts that fit every iPhone and the iPad.

The honest part

None of this settles the question

A throughput chart is not product-market fit. I can ship more in a month than a funded team of five could, and I still spend most of my thinking time on whether the thing I am shipping is wanted. In July I wrote this down while sitting on a balcony in Rome, and it is still where I am:

Paying customers, low churn, low growth, low burn, and I am having a lot of fun figuring out how to build and launch major features completely solo with the help of AI. The only problem is, it is lonely and I am not sure I am making something people want.

The constraint stopped being engineering a while ago. It is deciding what deserves to exist, which no agent has done for me yet.

Read the whole post →

What came before

Nineteen years of building, in order. The links go to what I wrote at the time, and the list ends where the top of this page begins.

  1. 2007–2009

    Pelago (Whrrl) · Data team

    My first startup job, on the data team of the Seattle company building Whrrl, collecting and cleaning the place data behind a location-based social app. On the side I was the events editor at Seattle 2.0, covering the startup scene one event at a time. I left with no plan beyond working for myself.

    Pelago, day two (2007) → Goodbye Whrrl, Hello World (2009) →

  2. 2009–2012

    Twilio · First marketing hire

    Hired to do support, blog posts, and video when the company was still working out of borrowed office space; I asked for a senior title on the business card so I could get meetings. Over three years I built the marketing team from zero to eighteen people, launched Twilio SMS, and made the Forbes 30 Under 30 list along the way.

    We launched Twilio SMS (2010) → I don't do that job anymore (2013) →

  3. 2012–2013

    Referly · Founder and CEO

    Y Combinator, Summer 2012. Raised $1M, grew to ten people, and learned the idea was wrong. We killed it rather than run a zombie, and the post about that decision outlived the company.

    Starting Referly took me three years (2012) → Zombie Startups (2013) →

  4. 2013–2017

    Mattermark · Cofounder and CEO

    The deal intelligence company, started with the $350K left in Referly's bank account. Union Square Ventures was the first paying customer, the Mattermark Daily peaked at 100,000 readers, revenue reached about $3M ARR, and the team peaked at seventy. The sale to FullContact in December 2017 did not clear preferences, so common stock, mine included, was wiped out. I stayed six months at the acquirer to land the plane.

    Introducing Mattermark (2014) → This Storm Is You (2018) → What the sale actually paid (2019) →

  5. 2018

    A year off · Sabbatical

    Self-funded, after nine months of M&A. Over a hundred books, angel investing, and a partnership at XFactor Ventures backing female founders.

    The sabbatical announcement (2018) →

  6. 2019–2021

    GitLab · GM of Meltano, then Senior Director of Growth Marketing

    Ran Meltano as an internal startup, hired my replacement, and watched it spin out with a $4.2M seed led by GV. Then built the growth marketing team, reporting to the CEO for my first year. I left shortly before the IPO.

    Can I find my next great investment? (2021) → What is a week end? (2020) →

  7. 2020

    A Ticker a Day · Newsletter and podcast

    One public company analyzed each day, alphabetically through the Vanguard Total Stock Market Index, as a paid Substack alongside the GitLab job. The run now lives in this site's gated archive.

    Introducing A Ticker a Day (2020) →

  8. 2021–2023

    Firstparty · Cofounder and CTO

    Developer-first marketing analytics, built with Jonathan Kressaty. Incorporated in August 2021, funded within 48 hours of tweeting about it, and backed with a $5.7M seed in 2022. We never found product-market fit, so we pivoted. The pivot is the company this page is about.

    A Chip and a Chair (2021) → A Robot Wrote This Subject Line (2022) →

Step-by-step guide

Set up Claude Code to work from the road

The whole pre-flight I run before leaving without my laptop — the rules file, the credentials that bite you, and the commands, with what each one is actually protecting against.

Read the guide

Writing about building this way

How the work actually gets done — the systems, the rules I've written down, and what breaks.

all posts about building →

Also going on

Coaching

One-on-one with founders, executives, and operators, on building companies and on the career questions underneath that.

How I coach →

Writing

Twenty years of it, from the Mattermark era through now. All of it lives here rather than on a platform that can change its mind.

Read the archive →

Cooking

A whole-food, plant-based kitchen run to restaurant standards, at 5,280 feet, with the same systems thinking pointed at dinner.

See the kitchen →