Visual summary of operating lessons from Adam Wiggins.

Adam Wiggins helped shape modern cloud deployment by co-founding Heroku and writing the Twelve-Factor App methodology. He now runs the independent research lab Ink & Switch, pushing for "local-first" software that gives users back control over their data. This collection pulls from his writing, interviews, and research to map out his approach to software design and collaboration.

Part 1: The Philosophy of Computing

  1. On Making Computers Better: "‘Making computers better’ is a call to action on the spiritual quest I found myself on, hoping that might inspire others." — Source: [InfoWorld]
  2. On the Long Trajectory: "If you work to change the trajectory of the computing industry just a little bit now, my hunch is the effect may be felt dramatically 50 or 100 years from now." — Source: [InfoWorld]
  3. On Technology as a Means: "I'm fascinated by technology and love programming... But in the end, it's a means to an end. It's a way to make someone's life better with your product." — Source: [Refactoring.fm]
  4. On Art and Software: "When it comes to Heroku and other companies that I've built, they're careers but they're also a form of artistic expression." — Source: [MAPS Bulletin]
  5. On Human Agency in Tech: "I think that the future is not determined. I think that it is up to us, and I think that we should always believe fundamentally in the ability of human intelligence when properly applied to solve problems." — Source: [Metamuse Podcast]
  6. On End-User Programming: "I really hope that there will come a day when programming of computers in some simple form is something that basically everyone can do." — Source: [Refactoring.fm]
  7. On the True Value of a Product: "The value of a product is the number of problems it can solve divided by the amount of complexity the user needs to keep in their head to use it." — Source: [Simon Willison's Weblog]
  8. On Balancing Vision and Reality: "A Bill Buxton quote I like is: 'Head in the clouds, feet in the mud.' Dream big, but ground yourself in reality." — Source: [InfoWorld]
  9. On Change: "By default, humans are fearful of change... stagnation is sort of bad for me, but I've come to realize that that is very much the exception, not the rule. In general, change is just threatening, very simple." — Source: [Metamuse Podcast]
  10. On Fear of Experimentation: "The more time that process takes and the more expensive that process is, the less you experiment and you just fall back and you default to what we know." — Source: [Metamuse Podcast]

Part 2: The Twelve-Factor App & Engineering

  1. On the Core Methodology: "The twelve-factor app is a methodology for building software-as-a-service apps that... have a clean contract with the underlying operating system, offering maximum portability between execution environments." — Source: [12factor.net]
  2. On Disposability: "Maximize robustness with fast startup and graceful shutdown." — Source: [12factor.net]
  3. On Environmental Divergence: "Minimize divergence between development and production... and scale up without significant changes to tooling, architecture, or development practices." — Source: [12factor.net]
  4. On Environment Variables: "Store config in the environment. An app’s config is everything that is likely to vary between deploys." — Source: [12factor.net]
  5. On Port Binding: "The twelve-factor app is completely self-contained and does not rely on runtime injection of a webserver into the execution environment." — Source: [12factor.net]
  6. On Backing Services: "Treat backing services as attached resources... there is no distinction between local and third party services." — Source: [12factor.net]
  7. On Concurrency: "Scale out via the process model. The process model truly shines when it comes time to scale out." — Source: [12factor.net]
  8. On Logs: "Treat logs as event streams. A twelve-factor app never concerns itself with routing or storage of its output stream." — Source: [12factor.net]
  9. On the Manifesto's Impact: "When I wrote this manifesto... that really made a difference for customers understanding and getting in the headspace of what we were doing, which is making it possible to deploy apps in this true cloud native way." — Source: [Changelog Podcast]
  10. On Fast Applications: "Fast is a feature, and affects everything from conversion rates to your site's search ranking." — Source: [Heroku Blog]

Part 3: The Origins of Heroku & Startups

  1. On the Initial Spark: "Every couple of months we would finish a new customer project that we needed to deploy. Every time we had to buy servers and do all the rote work... Eventually, we decided to solve it ourselves." — Source: [Koyeb Blog]
  2. On Motivation: "I love the process of taking something from just a spark of an idea to something that exists in the world." — Source: [Refactoring.fm]
  3. On Entrepreneurship: "Entrepreneurship shouldn't start with 'I want to start a company' but rather 'I want to solve a problem that exists in the world, and starting a company is the best vehicle for doing that.'" — Source: [InfoWorld]
  4. On Expanding Horizons: "Heroku wouldn't exist or would be very different if I hadn't had the opportunity for psychedelic exploration earlier in my life... They encouraged me to think bigger and get outside the box." — Source: [MAPS Bulletin]
  5. On Responsibility: "Heroku has been my life's work. Millions of apps depend on us, and I take that responsibility very personally." — Source: [Heroku Blog]
  6. On Developer Independence: "Our goal was to make it possible to deploy apps in a way that made servers less relevant or even not a part of the equation entirely." — Source: [Changelog Podcast]
  7. On Ideation: "You need to let go a little bit and say, the tool is going to help you make this stew and then you'll sleep on it for a few days and then somewhere else something new will pop out." — Source: [Metamuse Podcast]
  8. On Making an Artistic Statement: "I love to solve problems for people through technology, and at the same time make an artistic statement about how I think computing could or should be." — Source: [Refactoring.fm]
  9. On Shifting Paradigms: "Heroku wasn't just about faster deployments; it was about moving developers from a rigid infrastructure mindset to a purely application-focused mindset." — Source: [Changelog Podcast]

Part 4: Local-First Software

  1. On the Local-First Manifesto: "Local-first software is our answer to how we can improve on 'the cloud.' We hope to achieve a world where authors, scientists, students, designers will have more control and ownership over their work product." — Source: [Ink & Switch]
  2. On Optional Networks: "A core tenet of local-first is that the network must be optional; apps should work entirely offline by default without requiring an active server connection." — Source: [Ink & Switch]
  3. On the Long Now: "Local-first software is designed for longevity, ensuring user data remains accessible even if the original service provider shuts down or abandons the product." — Source: [Ink & Switch]
  4. On Combining Paradigms: "The goal is to combine the seamless collaboration of the cloud with the speed, ownership, and privacy of traditional offline desktop software." — Source: [Ink & Switch]
  5. On Conflict-Free Syncing: "True multi-device sync without a central authority server relies heavily on Conflict-free Replicated Data Types, or CRDTs, to resolve edits gracefully." — Source: [Ink & Switch]
  6. On Data Ownership: "True local-first systems guarantee that you own your data, in spite of the cloud." — Source: [Ink & Switch]
  7. On Immediate Response: "Because the primary copy of the data lives on the local disk, applications can respond to user input instantly, eliminating frustrating network latency." — Source: [Ink & Switch]
  8. On User Agency: "Local-first architecture is not just a technical shift but a fundamental transfer of power from the centralized server directly to the end user." — Source: [Ink & Switch]
  9. On Collaboration Without Servers: "Seamless, real-time collaboration shouldn't require surrendering data sovereignty to a central cloud provider." — Source: [Ink & Switch]

Part 5: Tools for Thought & Cognitive Augmentation

  1. On Impacting Output: "The tools have a really huge impact on the thoughts that we have and the work that we do, and the output of that work." — Source: [Metamuse Podcast]
  2. On Spatial Canvases: "Muse was built as a spatial canvas for thinking, specifically designed to allow non-linear exploration of ideas rather than rigid text documents." — Source: [Muse App]
  3. On Messy Brainstorming: "I think the creative process is just inherently much messier than typical software assumes, and you need to let go a little bit." — Source: [Metamuse Podcast]
  4. On Restorative Pauses: "For me, a go-to technique is to literally sleep on it... I really find that so many breakthrough solutions have occurred to me after that stepping away." — Source: [Metamuse Podcast]
  5. On Tool Design: "Tools for thought must prioritize fluidity and speed to keep up with the natural, erratic pace of human cognition." — Source: [Muse App]
  6. On Tactile Interfaces: "Tablet and stylus interfaces offer a more direct, physical connection to idea generation than traditional keyboard and mouse setups." — Source: [Muse App]
  7. On Malleable Software: "The best cognitive tools are malleable, allowing users to bend the software to fit their unique workflows rather than forcing adherence to a rigid structure." — Source: [Ink & Switch]
  8. On Knowledge Work: "Software for knowledge work is still in its infancy, and we have barely scratched the surface of how digital environments can enhance deep thinking." — Source: [Metamuse Podcast]
  9. On Eliminating Friction: "Every micro-interaction in a tool for thought either sustains flow state or breaks it; zero latency is a strict functional requirement." — Source: [Muse App]
  10. On Interoperability: "Cognitive tools should avoid trapping user ideas in proprietary silos; ideas need to flow freely and seamlessly between mediums." — Source: [Ink & Switch]

Part 6: Design & Software Architecture

  1. On Intuitive Products: "We want to create iPhones, not TV remotes. Complexity should be managed under the hood." — Source: [Simon Willison's Weblog]
  2. On the Definition of Design: "I think designing is just the process of picking the best option that you have gone through, but you actually need to go through that rigorous process first." — Source: [Metamuse Podcast]
  3. On Getting the Right Design: "There is an emphasis on balancing the back-end concern with usability with an up-front investment in sketching and ideation—getting the right design before getting the design right." — Source: [Metamuse Podcast]
  4. On Defining Problems: "A problem properly represented is largely solved." — Source: [Metamuse Podcast]
  5. On New Computing Mediums: "We think of LLMs as a new medium to work with, one that we've barely begun to grasp the contours of." — Source: [Elicit Blog]
  6. On Parallels to the GUI Era: "New computing mediums like GUIs in the 1980s, web/cloud in the 90s... opened a whole new era of engineering and design practices. So too will LLMs open new frontiers." — Source: [Elicit Blog]
  7. On Unifying Engineering and Product: "Successful software relies on a shared brain between engineers who know what's possible with the technology and product managers who know the customer pain." — Source: [Metamuse Podcast]
  8. On Modularity: "Good architecture naturally separates concerns, keeping the surface area of what a developer must explicitly hold in their head as small as possible." — Source: [12factor.net]
  9. On User Experience Boundaries: "The line between backend architecture and frontend user experience is artificial; your architectural choices deeply dictate the upper limits of your UX." — Source: [Refactoring.fm]

Part 7: Independent Research Labs

  1. On Lab Inspiration: "Some of our inspiration for how we set up Ink & Switch was the corporate R&D lab... Xerox PARC is probably one of the most famous models we looked to." — Source: [Metamuse Podcast]
  2. On Research vs. Product: "Muse is inherently more industrial, commercial focused. The lab [Ink & Switch] is inherently more research and exploratory focused." — Source: [Metamuse Podcast]
  3. On the Value of Academia: "I eventually came to appreciate the value of an academic approach to rigorously understanding the past, present, and future of computing in our lives." — Source: [Adam Wiggins Blog]
  4. On Prototyping: "A research lab's currency is functional prototypes, not just theoretical papers; new interaction ideas must be tangible to be honestly evaluated." — Source: [Ink & Switch]
  5. On Open Research: "We operate on an open model, freely sharing findings, essays, and codebase prototypes to push the entire industry forward rather than hoarding IP." — Source: [Ink & Switch]
  6. On Funding Innovation: "Independent labs exist because traditional venture-backed startups often operate on timelines far too short for foundational human-computer interaction research." — Source: [Metamuse Podcast]
  7. On Cross-Disciplinary Teams: "Real breakthroughs happen when you mix software engineers, designers, and researchers in an unstructured environment aimed directly at a high-level thesis." — Source: [Ink & Switch]
  8. On Patient Capital: "True technological shifts, like universal version control or local-first sync, require years of patient exploration before they can be meaningfully commercialized." — Source: [Ink & Switch]
  9. On Industry Influence: "The overarching goal of an independent lab isn't to capture the whole market, but to seed ideas that eventually become industry-standard expectations." — Source: [Ink & Switch]

Part 8: Remote Work & Human Dynamics

  1. On Spatial Separation: "When I first started seriously doing work from home... I realized how important it was to have a separate space to preserve the boundaries of work and life." — Source: [Metamuse Podcast]
  2. On the Infancy of Remote Work: "It's been possible to have all-remote teams for at least a decade, but in many ways this approach to knowledge work is still completely in its infancy." — Source: [Muse App Blog]
  3. On Remote Trade-offs: "The benefits are the ability to hire from the global talent pool, while the drawbacks are limited tools for creative group thinking and difficulty building trust remotely." — Source: [Muse App Blog]
  4. On Team Magic: "There is a special magic when you get exactly the right people together, working on the right problem, and you have a cohesive plan." — Source: [Metamuse Podcast]
  5. On Planning as Alchemy: "I think the key to good planning is getting that alchemy right... getting everyone thoroughly motivated and aligned behind the vision." — Source: [Metamuse Podcast]
  6. On Making Decisions: "Teams don't decide things, individual people do. If you want something to change, try to convince one other human being that that's a good idea." — Source: [Metamuse Podcast]
  7. On the Excitement of Planning: "Planning might have a reputation for being boring, but it can be one of the most exciting moments in your team's work. It's about building our collective knowledge." — Source: [Metamuse Podcast]
  8. On Aligning Vision: "It's very easy to wear a lens in which you only see the mechanical stuff... but getting everyone emotionally aligned is where the actual leverage is." — Source: [Metamuse Podcast]
  9. On Shared Understanding: "A healthy team dynamic requires constant translation between technical constraints and user needs to build a single shared brain." — Source: [Metamuse Podcast]