Ten Billion Lines of Code-The most prolific code generator before Copilot (2025) Quicktype, an open-source JSON-to-types code generator launched by Mark and a co-founder in July 2017, has generated more than ten billion lines of code, crossing one billion lines by its first birthday. The tool supports over 30 languages including TypeScript, Python, Go, Rust, Swift, Kotlin, Java, C#, C++, Haskell, Dart and Elm, using a three-stage read-simplify-render architecture that separates the type graph from language-specific renderers. The author built the first version to avoid hand-writing Swift JSON serialization boilerplate before Swift 4 and Codable existed. Ten billion lines of code , and not one of them written by an LLM. That's a conservative count of what quicktype https://quicktype.io has generated since 2017, when the most prolific programmer on the planet was arguably a small open-source tool that turned JSON into types. I built the first version because I was sick of writing Swift boilerplate by hand. Mark and I launched https://quicktype.io/blog/first-look quicktype in July 2017 to generate strongly-typed models and serializers from JSON. By its first birthday, we'd crossed a billion lines. It supports over 30 languages—TypeScript, Python, Go, Rust, Swift, Kotlin, Java, C , C++, Haskell, Dart, Elm, and more—each generating idiomatic, human-quality code. The architecture we built, with clean separation between the type graph and language-specific renderers, made it possible for the community to add many of these. The Origin Story In 2016, I was building a Swift app before Swift 4 and Codable . There was no nice way to serialize JSON—you had to write tedious boilerplate for every model type: js struct User { let name: String let email: String let age: Int init? json: String: Any { guard let name = json "name" as? String, let email = json "email" as? String, let age = json "age" as? Int else { return nil } self.name = name self.email = email self.age = age } func toJSON - String: Any { return "name": name, "email": email, "age": age } } Every time I changed my data model, I had to update serialization methods by hand. This is a job for computers. I hacked together a prototype—paste JSON, get Swift structs—and showed it to Mark. He had deep expertise in type systems and compilers, and saw immediately that this wasn't just string munging. How do you infer the best types from sample data? How do you handle heterogeneous arrays? How do you know when an object is really a dictionary? The premise was simple: paste JSON, get type-safe code. The execution required solving some surprisingly deep computer science problems. The Architecture: Read, Simplify, Render quicktype processes JSON in three stages, like a compiler see quicktype Under the Hood https://quicktype.io/blog/under-the-hood for the deep dive : Read : Parse JSON and infer an initial type graph . Each unique structure becomes a node—an array of objects creates an Array type containing a Class type. Simplify : Optimize the type graph. Create union types when the same position can contain different types 1, "1" → Array