About How to Build an App

This is a non-linear guide to software development, organized using the Thermocline Principle. Content is structured in three depth levels, like ocean depth:

  • Surface (5-10 min): Essential information everyone needs
  • Mid-Depth (15-30 min): Practical guidance for competent practitioners
  • Deep Water (30-60+ min): Advanced topics for specialists
Thermocline Principle - Ocean depth layers representing content organization

Each section is organized in layers, like ocean depth. Image generated with Google Gemini.

Inspiration: Mortimer J. Adler's Levels of Reading

In How to Read a Book (1940), philosopher and educator Mortimer J. Adler identified four levels of reading comprehension:

  1. Elementary: Basic literacy - understanding what the words say
  2. Inspectional: Systematic skimming - getting the gist quickly
  3. Analytical: Thorough reading - understanding the book's arguments and structure
  4. Syntopical: Comparative reading - synthesizing ideas across multiple books

Adler's insight was that different reading situations call for different depths of engagement. You don't read a phone book the same way you read Aristotle. The reader should choose the appropriate level based on their goals and constraints.

Application to Software Development

This guide applies the same principle to technical documentation. Not every developer needs deep expertise in every topic. The key differences from traditional technical documentation:

  • Explicit layers: We make the depth levels visible and navigable, rather than forcing linear progression
  • Self-contained: Each depth level stands alone - you don't need to read Surface before Mid-Depth
  • Job-focused: Content is organized by what you're trying to accomplish, not abstract concepts
  • Escape hatches: You can dive deep on what matters to your project and stay shallow on everything else

Just as Adler recognized that reading "War and Peace" requires different effort than reading a newspaper, we recognize that securing a healthcare application requires different depth than building a personal blog. The Thermocline Principle lets you choose your depth deliberately rather than forcing everyone into the deep end.

How to Use This Guide

This guide is designed for non-linear access. You can:

  • Browse by Phase: Follow the 7 development lifecycle phases in order
  • Follow a Learning Path: Guided journeys for different personas and goals
  • Jump to Topics: Go directly to what you need, when you need it

The 7 Development Phases

  1. Discovery & Planning
  2. Design
  3. Development
  4. Testing
  5. Deployment
  6. Operations
  7. Iteration

Each section is self-contained. Read surface layer, ship MVP, come back later for mid-depth. The YOLO dev doesn't need DREAD scoring for threat modeling - they need "List 3 things an attacker could do and how to prevent them."

Contribute & Give Feedback

This guide is open source and we welcome contributions! Whether you've found an error, have a suggestion for improvement, or want to share real-world examples from your experience, we'd love to hear from you.

We're especially interested in real examples of what went wrong (and right), domain-specific variations, trade-offs we missed, and simpler ways to explain complex topics.