I'm Totally Done with Pushing Buttons

I'm Totally Done with Pushing Buttons

I'm Totally Done with Pushing Buttons

September 16, 2026

5 min

Two summers ago, Gigi was a legacy SaaS app that helped brands and agencies buy CTV ads on Amazon's ad tech. We had just brought the product to market, and I was painstakingly managing payments and accounts receivable in Stripe for our initial batch of customers. It was surprisingly hard. Stripe was a company lauded for building beautiful software, but I couldn't figure out basic functions in the billing process, like: how did our invoice appear to customers and was it actually paid? I was clicking through settings pages trying to find answers that should have been one question away. It was in this moment I realized I would never learn another legacy SaaS UX again. I'd ask a model what to do and go do it. That was the bar two years ago: answer my question. It was frustrating, it was eye opening, and it was one of several "red pill" moments that spurred our pivot into building the new Gigi.

The bar has now moved though. Fast forward to present day. Hiring agents to take action on our behalf is becoming ubiquitous. In my day to day work, I'm using products like Town and Claude to automate almost every function of my job. Take sales. Last week I worked with Town to build Gigi's top-of-funnel lead engine: Factors + PostHog to de-anonymize site traffic into ICP-gated alerts, UTMs to make every visit attributable, and Attio to score leads before they become opportunities. It was a magical agentic AI experience, for the most part.

I told Town the problem I wanted to solve. It told me explicitly what needed to be done, what it could do independently, and where I needed to jump in. The bottleneck became Factors. Town couldn't take action in Factors. Factors doesn't expose its actions to agents, so Town fell back to driving a browser, and browser use isn't reliable enough to finish a job like this. So I fell back too. I was relegated to sending Town a screenshot every step of the way asking "what do I do now?" and "what buttons do I need to push?"

The same frustration as Stripe two years ago. In 2024 the frustration taught me I should be able to ask. In 2026 it taught me I shouldn't have to. It was at that moment I realized I was totally done pushing buttons.

Nothing about Stripe or Factors changed. My expectations did. Two years ago the bar was: answer my question. Today the bar is: do the work. When I put an agent in front of a product, I expect it to act inside that product, not narrate the clicks for me. That expectation is the whole argument, and it's the one every software company is now being held to whether they've noticed or not.

With agentic AI, software is now declarative. Imperative software makes you specify the steps: open settings, find the team page, click invite, paste the email. Declarative software lets you specify the end state and works out the steps itself. Tell Claude Code to make the failing tests pass and it finds the files, makes the edits, and reruns the suite until it's green. Hand Town a PDF of your kid's soccer schedule and say "put this on my calendar." Tell Gigi to pace a campaign evenly through end of month and she decides which bids and budgets to move. In each case the person declares the outcome and the agent owns the decomposition. A button is imperative. Every button is a step the vendor decided you should take yourself.

There is a newfound expectation when putting software in a customer's hands that it just does the thing. The buttons we used to press should increasingly be removed. Agents should simply be able to execute what they've been told to do. This goes for every action within a product: from core use cases that add value to administrative work like permission management. I shouldn't need to know how to invite a customer in a hidden settings page. The agent should just be able to do it.

Personal assistants (Muse, Grokbot, Town, and Instinct) and before them leading coding agents like Claude Code and Codex have all shown us that natural language is the preferred primary interaction. They earned this by moving the interface from imperative to declarative. You state the problem. The agent decomposes it into steps it can take, executes them, and hands you the result on a silver platter. Town's CEO Jean-Denis Greze described the bet on Casey Newton's Platformer podcast last month: the first products that assume they can act across your email, docs, and CRM are only now appearing, and for a product like Town, "your product only works if those things are happening." He's right. Town assumes the actions exist. Factors assumes a human is clicking.

This is how we're building Gigi. When we recently designed customer invites, we didn't remove the button. We made a conscious design choice that the button would never exist. Inviting a customer is a tool Gigi calls from chat, the same as building a line item or fixing pacing. You tell her who to add. She adds them. There is no settings page to find because there is nothing to find.

As Gigi's capabilities expand and her intelligence becomes more abundant, that's the only interface she'll have. You state the outcome. She does the work. And you won't need to click any buttons.