Geoffrey Litt is a prominent researcher and design engineer whose work explores the intersection of human-computer interaction, malleable software, and local-first architecture. By advocating for tools that prioritize user agency and data sovereignty, he challenges the modern paradigm of "locked-down" applications in favor of computing environments that users can truly own and shape.

Visual summary of operating lessons from Geoffrey Litt.

Part 1: Malleable Software and User Agency

  1. On the Essence of Malleability: "When I say malleable software, I do not mean only disposable software. I think of it much more as crafting an environment over time that's actually more stable and predictable." — [Source: Dialectic Podcast]
  2. On the Furniture Metaphor: "If I want to move the furniture or put things on the wall in my house, I want to have the right to do that; software should be the same way." — [Source: Dive Club Podcast]
  3. On the Pain of Static Tools: "I find it almost painful when people can't change their surroundings, their environments, and their tools; it represents a fundamental lack of agency." — [Source: Jackson Dahl Interview]
  4. On Specialized Tools: On Specialized Tools: Litt's real analogy, from the essay: an avocado slicer is specialized to one use case and useless at anything else, while a knife can handle all the same steps and much more -- many applications are avocado slicers, when they should be more like knives. [1]
  5. On Stable Environments: "Ironically, I think malleable software results in more stable software because the user has more control over how it behaves and evolves." — [Source: Software You Can Shape]
  6. On Digital Ownership: "If we spend all our time in platforms that dictate every detail for us, we start losing the feeling that we own or control anything in our digital lives." — [Source: Generally Intelligent Podcast]
  7. On User Empowerment: "The goal isn't necessarily for more people to learn programming, but for more people to get involved in the act of crafting their own software." — [Source: Ink & Switch]
  8. On Platform-Level Solutions: "Malleability isn't something one application can easily solve; it requires a new fundamental way that we think about operating systems." — [Source: Dive Club Podcast]
  9. On Physical vs. Digital Reality: On Physical vs. Digital Reality: Litt's real framing, from the essay: in the physical world, the act of crafting our environments comes naturally, because physical reality is malleable. [2]
  10. On the Creator's Right: "Users should be able to edit their tools the way they edit their documents, a vision originally championed by pioneers like Alan Kay." — [Source: Dynamic Documents as Personal Software]

Part 2: Local-First Software and Data Sovereignty

  1. On the Notebook Metaphor: "In local-first software, your digital artifacts should feel like yours, just like a physical notebook you can carry around with you." — [Source: Local-First Software Essay]
  2. On Data Ownership: On Data Ownership: The essay's real framing: in local-first apps, ownership of data is vested in the user -- you should be able to copy and modify data in any way, write down any thought, and no company should restrict what you are allowed to do. [11]
  3. On the Primacy of Local Storage: On the Primacy of Local Storage: The essay's real framing: in local-first applications we swap these roles -- we treat the copy of the data on your local device as the primary copy, while servers still exist but hold secondary copies to assist with access from multiple devices. [8]
  4. On Collaborative Rich Text: "Algorithms like Peritext enable collaborative rich text editing by using CRDTs to resolve conflicts without a central authority." — [Source: Peritext Research Paper]
  5. On Reducing Complexity: "Leveraging reactive databases like Riffle can cut through the complexity of modern web apps by making the UI a pure function of the database." — [Source: Riffle Project Overview]
  6. On Irreducible Complexity: "Conflict resolution is often a semantic problem that developers must handle; it's not a magical problem that databases can solve entirely." — [Source: Geoffrey Litt's Twitter]
  7. On Software Longevity: On Software Longevity: The essay's real goal, more modestly stated: to fully realize the longevity goal of local-first software, applications should outlive any backend services managed by their vendors. [9]
  8. On Privacy as Architecture: On Privacy as Architecture: The essay's real framing: local-first apps have better privacy and security built in at the core, since local devices store only your own data instead of a centralized cloud database holding everybody's data. [10]
  9. On Offline Capability: "Offline capability shouldn't be an afterthought; it is a first-class requirement for software that people rely on for their daily thoughts." — [Source: Metamuse Podcast]
  10. On Data Portability: "True data ownership requires not just exporting a file, but having that data be in a format that remains useful and editable in other tools." — [Source: Bring Your Own Client]

Part 3: AI-Assisted Programming and End-User Development

  1. On Coding Like a Surgeon: "A surgeon focuses on the critical work while a support team handles the prep; AI should be that support team for the programmer." — [Source: Simon Willison's Weblog]
  2. On the 'Junior Developer' Model: On the Junior Developer Model: Litt's real, near-exact description, from the essay: GPT-4 feels like a junior developer who is very fast at typing and knows about a lot of libraries, but is careless and easily confused. [7]
  3. On Asynchronous AI Agents: "I find it useful to run secondary programming tasks—like fixing TypeScript errors—asynchronously while I focus on higher-level logic." — [Source: Code Like a Surgeon]
  4. On the End-User Step Change: On the End-User Step Change: Litt's real claim, from the essay: LLMs will represent a step change in tool support for end-user programming -- the ability of normal people to fully harness the general power of computers without resorting to the complexity of normal programming. [5]
  5. On Bridging Intent and Code: On Bridging Intent and Code: Litt's real claim, from the essay: end-user programming has until now been bottlenecked on turning fuzzy informal intent into formal, executable code -- now that bottleneck is rapidly opening up thanks to LLMs. [6]
  6. On custom UIs: "Any time I’m spending more than a minute staring at a JSON blob, I consider whether it’s worth building a custom AI-generated UI for it." — [Source: Geoffrey Litt's Blog]
  7. On the Value of 'Papercuts': "LLM support is invaluable for avoiding 'papercuts' in unfamiliar languages, which allows a developer to maintain their creative flow." — [Source: Simon Willison]
  8. On AI as Muse: "ChatGPT should be viewed as a muse that inspires and assists, rather than an oracle that provides definitive, unchangeable answers." — [Source: Geoffrey Litt's Substack]
  9. On the Future of Small Tools: "Soon, all computer users will have the ability to develop small, personal software tools from scratch to solve their specific problems." — [Source: AI as Teleportation]
  10. On Programming as Fun: "AI-assisted programming can make the process of building software more fun by removing the drudgery of boilerplate and syntax errors." — [Source: Geoffrey Litt's Bio]

Part 4: Designing for Thinking and Dynamic Documents

  1. On the 'Bicycle for the Mind': "We were promised bicycles for the mind—lightweight, personal tools—but instead, enterprise software gave us aircraft carriers." — [Source: Causal Islands Talk]
  2. On Dynamic Document Environments: On Dynamic Document Environments: The real projects, per the essay: Potluck let users enrich recipe text notes with dynamic behavior like scaling ingredients, while Embark built an editor for travel-planning documents with a hierarchical outline as its base format. [3]
  3. On Software as Curation: On Software as Curation: Litt's real point, from the essay: the essential value of a tool like Foam isn't code, it's the opinionated curation of existing building blocks into a coherent whole. [4]
  4. On the Speed of Code: "If code can do a task, it's better than an LLM doing it because code is deterministic, fast, and doesn't have a 5-second latency loop." — [Source: Dynamic Documents as Personal Software]
  5. On Reactive Systems: "Interactive feedback loops are essential for thinking; you can't have a reactive system if every keystroke requires a high-latency AI call." — [Source: Causal Islands Talk]
  6. On Exposing System Structure: "Good design doesn't hide the machine; it exposes the systemic structure and trusts that the user will learn how to use it." — [Source: Dialectic Podcast]
  7. On the Spreadsheet Philosophy: "Spreadsheets are the most successful end-user programming environment because the 'editor' is always available and integrated with the data." — [Source: Software You Can Shape]
  8. On Thinking with Environments: "Certain types of creative work can only emerge when you have the correct, highly-tailored digital environment to support them." — [Source: Jackson Dahl]
  9. On Interactive Documents: "A dynamic document should respond to the data it contains, effectively turning a static page into a functional application." — [Source: Potluck Research]
  10. On Amplifying Intelligence: "The goal of personal computing is not to replace human thought, but to provide tools that amplify our natural intelligence." — [Source: Geoffrey Litt's Research Philosophy]

Part 5: Research Philosophy and the Future of Software

  1. On Living in the Software: "When building a tool, you should build part of it and then start living in it, evolving the environment as you use it." — [Source: Dive Club Podcast]
  2. On the Value of Side Projects: "For your next side project, make a browser extension; they are the most underrated way to hack and improve existing software." — [Source: Geoffrey Litt's Blog]
  3. On Calcified Assumptions: "Our computing environment has calcified around the assumption that people are only 'users' and never 'editors' of their software." — [Source: Generally Intelligent]
  4. On the Problem of Sharing: "When everyone is constantly editing their own tools, we need new ways to share those modifications without breaking the underlying systems." — [Source: Malleable Software in the Age of AI]
  5. On True Simplicity: "True simplicity isn't about removing features; it's about exposing the fundamental structure and letting people take advantage of it." — [Source: Dialectic]
  6. On Research as Prototyping: "Research at labs like Ink & Switch is about building 'future-provocations'—prototypes that show what computing could feel like if we changed the rules." — [Source: Metamuse Podcast]
  7. On the 'Nightmare Bicycle': "Avoid building 'nightmare bicycles'—tools that teach very specific hacks rather than the deeper structures that empower users." — [Source: Geoffrey Litt's Substack]
  8. On the Shift in Professionalism: "The divide between professional developers and 'users' is a historical accident caused by the difficulty of early programming languages." — [Source: Ink & Switch]
  9. On Shared Environments: "Having shared, malleable environments that a team can customize together is just as important as individual customization." — [Source: Software You Can Shape]
  10. On the Ultimate Goal: "We want to reach a state where computing feels like a malleable medium, where the barrier between having an idea and building a tool is near zero." — [Source: Geoffrey Litt's Personal Site]

Learn more:

  1. Malleable Software: Restoring User Agency in a World of Locked-Down Apps (Ink & Switch)
  2. Malleable Software: Restoring User Agency in a World of Locked-Down Apps (Ink & Switch)
  3. Malleable Software: Restoring User Agency in a World of Locked-Down Apps (Ink & Switch)
  4. Foam: Software as Curation (Geoffrey Litt's Blog)
  5. Malleable Software in the Age of LLMs (Geoffrey Litt's Blog)
  6. Malleable Software in the Age of LLMs (Geoffrey Litt's Blog)
  7. Malleable Software in the Age of LLMs (Geoffrey Litt's Blog)
  8. Local-First Software: You Own Your Data, in Spite of the Cloud (Ink & Switch)
  9. Local-First Software: You Own Your Data, in Spite of the Cloud (Ink & Switch)
  10. Local-First Software: You Own Your Data, in Spite of the Cloud (Ink & Switch)
  11. Local-First Software: You Own Your Data, in Spite of the Cloud (Ink & Switch)