Video Summary

How I code with AI changed a lot

Theo - t3․gg

Main takeaways
01

The creator redesigned their AI workflow over five months, moving away from cursor/Opus plans toward a GPT-5.5-centered approach.

02

A 'harness' is the runtime and toolset that lets an AI agent act on your machine; different harnesses (CLI vs SDK vs app) affect capabilities.

03

T3 Code is positioned as an app for managing harnesses and remote coding, offering stability, open-source tweaks, and strong remote flows.

04

Remote control and persistent agents are vital — the goal is agents that keep running when your laptop is closed, aided by T3 Code and tools like Tailscale.

05

Context management (cloning repos, guiding documents) and short prompts are crucial for reliable agent behavior and better outputs.

Key moments
Questions answered

Why did the creator shift to GPT-5.5?

They found GPT-5.5 produced the best results for their projects and they have generous inference from a subscription, making it practical for heavy use.

What is a 'harness' and why is it important?

A harness is the runtime and set of tools that let an AI agent act on your machine (CLI, SDK, or app). It determines what the agent can do—edit code, run commands, or control apps.

How does T3 Code differ from a harness like Codex or Conductor?

T3 Code is an app for managing AI harnesses rather than a harness itself; it's open source, focused on stability and remote workflows, and acts as the user-facing environment for agents.

What practices improved agent reliability in the speaker's workflow?

Key practices were cloning the repo for agent exploration, writing guiding documents ('letters' to agents) to set intentions, using short prompts, and treating each thread as isolated context.

How does the speaker handle PRs and feedback when using agents?

They keep flows simple, create PRs sparingly, use agents to iterate on feedback (running loops until issues resolve), and avoid PR bloat by closing stale or unnecessary PRs.

Changes in AI Development Workflow 00:54

"Since then, I've completely changed my workflow."

  • The speaker reflects on how their approach to building with AI has evolved over the past five months. They note that their previous reliance on cursor and Opus models, specifically using plans for generating outputs, has shifted dramatically.

  • They emphasize that virtually every aspect of their workflow—from the tools they utilize to how they manage remote tasks—has undergone significant transformation, making them reconsider the recommendations they previously shared.

Current Projects and Challenges 02:12

"There's a lot to break down here from the models I pick to the harnesses I use to what UIs I'm working in."

  • The speaker mentions that they are currently involved in multiple projects and are striving to balance efficiency in building applications while addressing common challenges such as user authentication and billing.

  • They highlight a specific sponsor, Clerk, which has undergone changes that now allow for unlimited apps on both free and paid plans, making it a more viable option for developers with numerous projects.

The Lakebed Project 02:44

"I took on a pretty bold, pretty stupid project called Lakebed."

  • Lakebed is described as an ambitious project that encompasses creating a new full-stack framework, runtime, backend, database, and cloud infrastructure designed to simplify app development with AI agents.

  • The speaker acknowledges the chaos involved in the project but believes that working independently has helped mitigate some of the complexities and allowed for reflection on current building processes.

Model Preferences and Performance 03:58

"I really struggled to use anything other than GPT-5.5."

  • The speaker explains their current preference for GPT-5.5 over other models, despite previously being less impressed by it. Their ongoing subscription allows for substantial inference, which they take advantage of in their projects.

  • They discuss how the pricing structure affects usage limits and express recognition of a recent adjustment in usage caps that they find generous.

Types of Harnesses and Their Functions 05:10

"A harness is the set of tools and the actual application runtime that allows an agent to do things on your computer."

  • The concept of a 'harness' is defined as crucial for enabling AI to interact with the developer's machine to execute tasks such as code editing.

  • The speaker distinguishes between various types of harnesses, including those with CLI functionality and others that may operate more as SDKs, noting their importance in the development workflow.

T3 Code and Its Role 06:32

"T3 code is not a harness; it is an app for managing your other AI harnesses."

  • T3 code is introduced as a tool for managing AI projects, drawing parallels to other applications like Codeex.

  • The speaker expresses pride in the team’s effort that resulted in creating T3 code and mentions using it extensively during the Lakebed project, as they evaluate different tools and their respective strengths and weaknesses.

T3 Code versus Other Platforms 08:14

"T3 code is much more pleasant, stable, and reliable, especially for remote work."

  • T3 Code is presented as a favorable option for most developers, providing a more enjoyable coding experience compared to alternatives like Codex.

  • Users primarily enjoying Codex often do not have the same satisfactory experience through the Cloud Code desktop app, which is viewed as less effective.

  • T3 Code benefits from being open source, allowing users to modify it as needed, while competitors like Conductor may have limitations due to being closed source and not as user-friendly.

  • There are concerns regarding the limitations users will face with their Claude Code subscriptions, highlighting frustrations with recent changes in credit usage versus subscription limits.

Remote Control Capabilities 10:20

"The main problem we want to solve with remote control is ensuring an agent continues running when I close my laptop."

  • The need for effective remote control is emphasized, particularly in managing tasks without having to keep a laptop constantly open or being online.

  • Remote operation using T3 Code is complimented for its functionality and user experience, particularly in its ability to provide a seamless interface for remote coding.

  • Users tested multiple methods, both integrated into T3 Code and hosted remotely, finding the browser-based version significantly quicker and more reliable than previous experiences with Codex.

  • The integration with tools like Tailscale is highlighted as beneficial, allowing users to connect to devices on different networks securely without exposing them unnecessarily.

Improving Remote Coding Experience 15:00

"Julius has gone hard on remote flows, resulting in one of the best experiences I've had doing remote coding with AI."

  • The development efforts in T3 Code have led to enhanced stability and ease of use for remote coding projects.

  • Users reported successes in spinning up new projects and modifying existing ones on a remote basis, noting that the set-up with T3 Code was straightforward.

  • Testing of the mobile web interface proved to be better than anticipated, with ongoing work on a React Native app for a more comprehensive mobile experience.

  • The capability to store passwords and facilitate SSH connections through a UI simplifies remote access and enhances overall user satisfaction.

Challenges with Terminal Coding and Image Usage 16:20

"I really don't like doing agent coding in terminals anymore."

  • The speaker expresses frustration with traditional terminal coding, particularly when it comes to pasting images, which is a common requirement in their workflow. They highlight the contradiction of images being usable in traditional command-line interfaces (CLIs) but not over SSH, leading to unnecessary complications.

  • They emphasize the importance of a good desktop application for coding and suggest that it offers a better user experience than using a command-line interface. Their preference leans towards using applications for serious work, and they find themselves relying on remote setups more frequently.

Remote Work Advantages and Tools 18:05

"I really like being able to do work remotely."

  • The speaker appreciates the flexibility and convenience of remote work, particularly when they need to step away from their desk for meetings or other commitments. They mention utilizing T3 Code locally but rely on a remote Mac for most of their work.

  • Their approach involves exploring tools and models for coding remotely, with an emphasis on the productivity gains it provides them.

Context Management for Effective Coding 18:54

"Context management is really the name of the game for getting these things right."

  • Context management is described as vital for working effectively with coding models. The speaker shares an underrated technique of allowing agents to explore relevant codebases to enhance outputs and reliability when coding.

  • They provide a practical example of this method by cloning a repository and instructing a model to reference it. This approach yields significantly improved results in coding outputs.

Acknowledgment of Limitations in AI Solutions 19:50

"Our sponsor agents can write surprisingly good software as long as the problems they're solving are simple."

  • The speaker acknowledges the limitations of AI agents, noting that while they can effectively solve straightforward issues, they struggle with more complex problems, like DNS management.

  • They highlight the utility of a product called DNSimple, which simplifies domain registration processes, making it easier to manage DNS programmatically.

Effective Collaboration and Preparation in Development 21:20

"I do like planning, but there's a natural back and forth."

  • The speaker speaks about their preference for a collaborative and iterative approach rather than a strictly planned mindset when coding with AI models. They suggest that flexibility in development allows for better interaction and adaptation.

  • They emphasize the importance of clearly understanding the end goal instead of focusing on minute details, which can hinder progress. They also share their vision for a new project called Span, designed to rethink cloud infrastructure and improve full-stack development processes.

The Importance of Feedback and Iteration 23:30

"You have to read what it says."

  • The speaker stresses the importance of attentively reviewing the feedback generated by models rather than glossing over it. They acknowledge the tendency for developers to focus on outputs like code rather than commentary or suggestions from AI.

  • They caution that understanding the feedback provided by the model is critical for making informed decisions in development.

The Importance of Effective Communication with AI Models 24:17

"You have to read what it says. And if you don't like how it's saying things, steer it the way you want it to talk instead."

  • Developers often focus on the output of AI without paying enough attention to how the AI communicates. This is a backward approach; effective communication with the model is critical.

  • When the output is too verbose or unclear, it is important to instruct the model to be more concise or to format the response in a more readable way.

  • Continuous engagement with the AI by providing feedback can help align the model's responses with your intentions and projects.

Tailoring AI Responses for Better Collaboration 24:49

"You got to treat it like you're convincing somebody of your way of wanting to do things."

  • Interacting with AI can be likened to persuading a colleague; clear feedback helps the model understand your preferences.

  • The author emphasizes that extensive configuration or skill installations are often unnecessary. Instead, effective communication with the AI may yield better results.

  • By providing direct feedback, the model becomes sharper in understanding the desired context, enhancing its performance.

The Role of Context in AI Development 26:32

"The most important thing when you're building with AI is that the AI understands what you want and how you build."

  • To make AI work effectively for your projects, the model must grasp your intentions and workflow.

  • Creating a guiding document that reflects your programming style and decision-making can be immensely helpful.

  • After establishing context, the AI will likely produce more appropriate outputs, ultimately streamlining the development process.

Using Documents to Guide AI Behavior 27:31

"I wrote this almost like a letter from me to the agent to tell it how we're thinking, what we're building, and why we're doing this."

  • The author crafted a specific document to aid the AI in understanding the required project parameters and avoid assumptions.

  • After implementing this personalized guide, the author noted significant improvements in AI outputting behavior and alignment with project goals.

  • This approach showcased the effectiveness of clear instructions in improving collaboration between the developer and the AI.

Continuous Iteration and Feedback Loop 28:32

"When the agent pushed back, I listened. When it said certain things were not the right idea or were too hard to justify, I listened and delayed those."

  • Adopting feedback from the AI when it identifies potential issues is crucial for refining project direction and output.

  • Incorporating a screenshot tool facilitates communication and helps to highlight specific problems that need addressing.

  • By iterating on feedback and improving the quality of the HTML files, subsequent plans became drastically more organized and aesthetically pleasing.

Managing Threads and Parallel Workflows 30:50

"Almost every single one of these threads was run by itself on main alone."

  • The author finds that managing multiple threads in parallel can reduce productivity due to complexity and context switching.

  • Most development threads were handled individually, allowing focused attention on each task.

  • Utilizing features like fast mode in the AI's framework increased efficiency without reaching subscription limits, proving valuable for rapid development.

Simplifying Deployment Management 32:29

“If we edit something locally, the deploy will rotate it. And if we delete something from it, then the lake deploy will delete it.”

  • The process of managing deployment has been streamlined significantly. When changes are made locally, they automatically get reflected in the deployment, whether that involves creating, updating, or deleting resources. This reactionary nature allows for a fluid development experience.

  • The speaker emphasizes the efficiency of using concise prompts for deployment changes and confirms satisfaction with what has been achieved with minimal input.

Adding Features with Precision 33:00

“I told it to add this feature. And I gave it a little more detail here.”

  • The speaker's approach to adding features is direct and effective. By specifying that they wanted to create a new users table within the admin dashboard with custom rate limit overrides, they provided just enough detail for the model to proceed accurately while avoiding unnecessary complexities.

  • They find that simplifying explanations helps the AI model understand better, recommending the inclusion of a glossary to clarify terminology used in the context of the project.

Keeping Communication Simple 34:15

“If talking with the model in plain language was preventing it from getting what you’re saying, you shouldn’t get excessively specific in your prompts.”

  • Maintaining simplicity in prompts is critical to the success of interaction with the AI. If the model misunderstands, slight adjustments should be made rather than diving into overly complex explanations.

  • The speaker notes that most prompts consist of two sentences or less, reinforcing the theme of minimalism in communication for effective programming with AI.

Managing Context in Threads 35:00

“I treat every thread as a pile of information that is steering the model.”

  • The speaker stresses the importance of context; each task is handled in its dedicated thread to prevent confusion and bias from previous discussions. This method ensures that the model can focus without irrelevant information skewing its responses.

  • They clarify that while it may be necessary for the model to explore the codebase every time, the speed and accuracy of its responses remain effective, and this approach helps maintain clarity.

Leveraging the AI's Capabilities 39:31

“Once you actually get the model to start doing the work, one of the most important things is to give it the tools it needs to verify that the work was done.”

  • Ensuring the AI has the right tools for verification is a critical part of the process, whether it involves running CLI commands, writing test suites, or using browser control to check task completion.

  • The integration of advanced features like Codex's ability to control apps is highlighted as a game changer, although the speaker raises concerns about the AI's operation interfering with their own computer usage during these tasks.

Streamlining the PR Process 41:40

"The simpler your flow, the better. Do things the stupid easy way."

  • The speaker emphasizes the importance of simplicity in the programming workflow, particularly in managing pull requests (PRs). By keeping the process straightforward, developers can significantly enhance their efficiency.

  • When starting a task, the speaker assesses its complexity and often consults the AI model for insights. This back-and-forth dialogue helps in gauging the workload before deciding whether to continue on the current branch or create a new work tree.

  • If a task proves more complex than anticipated, the speaker duplicates the initial prompt in a new thread and adds specific comments to prevent misdirection, a strategy that has been successful for them.

  • Despite working solo on this project, PRs have been created sparingly. The speaker sometimes closes PRs if they find they are unnecessary, especially for substantial changes that would benefit from additional review.

Handling Feedback and Conflicts 43:40

"At that point, I just told the agent to run in a loop until it resolves all the issues."

  • The speaker discusses the dynamics of managing feedback from various code review tools, mentioning tools like Code Rabbit, Macroscope, and Grapile. These can catch multiple issues that may need fixing before merging a PR.

  • In situations with extensive feedback, the speaker instructs the AI agent to continuously run through the CLI until all issues are resolved, streamlining the correction process.

  • They highlight a particular case where their ownership-related work encountered numerous feedback points. Rather than manually repeating commands, they opted to leverage the AI agent's capabilities for efficiency.

Managing PR Bloat in Collaborative Development 44:22

"It gets bad really fast."

  • The speaker warns about the potential for PR bloat when working in larger teams, pointing out that T3 Code made it too easy to create multiple PRs. This convenience can unintentionally clutter projects with numerous changes that may never be merged.

  • They indicate that while the one-click PR feature enhances workflow, it can also lead to issues where PRs accumulate without current relevance. The speaker experienced this firsthand, mentioning the complexity of managing 414 open PRs on T3 Code.

  • Keeping PRs fresh is essential; stale PRs can become irrelevant and lead to confusion, emphasizing an ongoing need for vigilance in collaborative environments.