Rest Is an Input

I ordered a PS5 controller on Friday. The following week I merged 10 pull requests into a production codebase. My job title is Growth Engineer. Before that it was Head of Community. I don't have a computer science degree. Those 10 PRs were sidequests, squeezed between community events, partner outreach, social content, and a video I still haven't filmed. Two things made that week possible. Neither of them is "working harder." ![A PS5 controller, a laptop running Clair Obscur: Expedition 33, and a coffee mug on a marble table in San Francisco](/images/ps5-clair-obscur.png) ## The controller arrives at 4am The DualSense showed up on Saturday somewhere between 4 and 8am. Still don't know who delivers at that hour. By noon I was 3 hours into [Clair Obscur: Expedition 33](https://store.steampowered.com/app/2354870/Clair_Obscur_Expedition_33/). It's a French RPG where you play as a guy named Gustave fighting a painter who erases people from existence. Game of the Year 2025. I didn't check Slack once. My housemate Jeremy recommended it. Jeremy is a senior full-stack engineer who games every single day. I used to think that was in tension with how much he ships. More on that later. Sunday we walked to Ocean Beach. No agenda, no podcast, no destination. Just sand and salt air and the kind of silence where you forget you have a phone. ## What Monday looked like I sat down, opened [Claude Code](https://claude.ai/code), and started shipping. By the end of the week: 10 pull requests merged into Lindy's production codebase. Bug fixes for a textarea hook. A UX fix that made conversation starters send on click instead of requiring a second step. Google Drive folder search with a dynamic drive selector. A full-stack promo codes admin page, from GraphQL schema to frontend. An experiment analysis skill for the growth team. For context: [Lindy](https://lindy.ai) is an AI agent platform. The codebase is large, real, and used by paying customers. I'd been contributing to it for about 3 weeks at that point. These weren't my main job. My main job that week involved community workshops, partner commission restructuring, LinkedIn content, event planning, and educating people about agents. The PRs were the work I did between all of that. ## The stack I can ship like this because of the tools I've built around how I work. My terminal starts with this: <Terminal title="\~/.zshrc"> alias claudeskip="$HOME/.local/bin/claude --dangerously-skip-permissions" </Terminal> One command. No permission prompts, no confirmations. Claude Code opens, reads the project's CLAUDE.md, loads the relevant skills, and I start talking to it like a colleague. Every project gets one of these: # Guidance for Claude Code when working on this repository. ## Commands npm run dev # Start development server npm run build # Production build ## Architecture Personal website. Next.js 16 (App Router), TypeScript, Tailwind CSS. Blog posts are MDX files in /content/blog/. ## Content Voice - Direct and honest, no corporate speak - Confident ("I do X" not "I try to X") - Short paragraphs (2-4 sentences max) It's a briefing document. Claude reads it and knows the codebase, the conventions, the voice. I don't re-explain context between sessions. This is what building a full-stack feature looks like: {"> "}Build a promo codes admin page. Schema: code, discount percentage, duration, max uses. Use the same patterns as the billing settings page. Creating 4 files... Running type check... ✓ Running lint... ✓ Ready for review. That's the promo codes admin from the PR list. Schema to frontend in one conversation. I reviewed the diff, tested it locally, and merged it. I run Claude Code with over 50 custom skills across my main 3 repositories. Skills for writing engineering blog posts (a full pipeline from transcript to Notion to Webflow). Skills for LinkedIn posting, with anti-slop linters and Typefully scheduling. Skills for journaling, weekly reviews, community dashboards, research, and bookkeeping. Each skill is a workflow I used to do manually, stripped down to a command. <Terminal title="\~/lindy"> /eng-blog draft imessage-bridge-rebuild </Terminal> That command reads a voice transcript, scrapes Slack and Notion for context, generates 9 competing outlines across 3 parallel agents, scores them, and presents the winner. Then it drafts, reviews against a rubric, generates diagrams, and deploys a review page to Cloudflare. I built that skill in a week. Beyond Claude Code, I run an agent called [OpenClaw](https://github.com/openclaw/openclaw) on a Hetzner VPS. It lives in Telegram as "Jérémy Clawd" and handles the stuff I don't want to context-switch for: voice notes transcribed and acted on, research across Perplexity, Tavily, and Exa from a single message, CRM lookups and lead enrichment, and a journaling pipeline where I voice-dump something reflective and it spawns Claude Code to write a proper entry, commit it, and push. ([I wrote about that system here.](/blog/i-journal-out-loud-now)) I also have Lindy agents running in the background for meeting prep, email triage across 3 inboxes, and weekly status reports. ![Three agents working alongside each other: Claude Code, OpenClaw, and Lindy](/images/agentic-stack.png) I use Claude Code to write 100% of my code. I rarely touch any code myself. These tools handle the boilerplate, the context gathering, the formatting, the deployment steps. They take a 2-hour task and compress it to 20 minutes. But the direction, the "what should I build and why," that still comes from me. And that's where the PS5 controller comes in. ## The amplifier problem An agentic stack is an amplifier. It takes whatever thinking you feed it and makes it faster. Feed it scattered, exhausted, half-formed thinking and you get fast garbage. I've done this. You end up with 14 files that technically work but solve the wrong problem, and you spend the next day untangling what you built the day before. Feed it clear, rested thinking and you get 10 PRs in a week on the side. The bottleneck moved. It used to be "can I code this?" Now it's "can I think clearly enough to direct the thing that codes this?" The typing isn't the constraint anymore. The clarity is. <Callout type="insight"> The bottleneck in building software moved from typing to thinking. The tools are fast enough. The question is whether your head is clear enough to point them in the right direction. </Callout> ![Rest as input: nature, gaming, and disconnection feeding into clear code and shipped PRs](/images/rest-input-amplifier.png) A weekend of Clair Obscur and Ocean Beach didn't cost me output. It bought me the clarity that the output depends on. ## One of the best engineers I know games every day My housemate Jeremy ships more consistently than most engineers I've worked with. He also games every single day. He doesn't agonize about the balance because he doesn't see a tension. For him, the gaming and the shipping are part of the same system. I watched this for months and kept filing it under "he's just different" or "he's more experienced." That was easier than admitting the thing I was doing wrong was the grinding, not the resting. I play tennis most weeks, walk to Ocean Beach when I need to think, and apparently now I game. None of it is scheduled recovery. It's just the stuff I do when I stop forcing myself to be productive. Timothy Gallwey wrote about this in [The Inner Game of Tennis](https://www.amazon.com/Inner-Game-Tennis-Classic-Performance/dp/0679778314) in 1974. He called it "relaxed concentration." The idea is that performance suffers not from lack of effort but from too much self-interference. The overthinking, the guilt about not working, the constant monitoring of whether you're being productive enough. That noise is the problem. Rick Rubin talks about the same thing differently in [The Creative Act](https://www.amazon.com/Creative-Act-Way-Being/dp/0593652886). He calls the first phase of creative work "collecting seeds." Open awareness, no agenda, just letting things in. The walk to Ocean Beach was seed collecting. Three hours of a French RPG was seed collecting. Not because games teach you to code, but because a brain that isn't clenching has room to notice things. ## The LA drive A few weeks before the PS5 weekend, I drove the Pacific Highway from San Francisco to LA. Stopped at the ocean, watched elephant seals, took photos of Big Sur. Didn't touch my laptop for a full week. The evening I got back, I sat down and wired up an entire GTM infrastructure from scratch. Google Ads account, Google Tag Manager, PostHog analytics, a landing page with OAuth login. All in one sitting. Same pattern. Total disconnection, then total clarity about what to build and exactly how to build it. The gap between "I have a product" and "I'm testing demand" was one evening of focused work. I should have done it weeks earlier. I couldn't, because my head was too full of everything else. ## What this actually costs I'm still figuring this out. I'm not writing this from the other side of some clean realization. The version of me from 6 months ago would have spent that Saturday with his laptop open, half-working, half-scrolling, producing nothing useful but feeling like he was at least trying. That version shipped less. Consistently. The guilt is the interference Gallwey was describing. The tools are ready. The skills are built. The 50+ Claude Code commands are sitting there waiting for clear instructions. The only variable left is whether I show up with a clear head or a cluttered one. I ordered a PS5 controller on a Friday. I think it was the most productive thing I did that week.