When custom code outgrows the platform
Nolan Lawson argues that developers reach for familiar libraries and custom tools for good reasons, but overlooking built-in features can add avoidable complexity.
Web developers have long been urged to “use the platform”: rely on browser capabilities instead of recreating them in JavaScript. In a post published on 3 October, developer Nolan Lawson examines why that advice can be harder to follow than it sounds.
Past browser compatibility gaps made libraries a practical choice, Lawson writes. Familiarity and documentation also matter: developers often know how to find packages and examples, while guidance on platform features was once scattered across blogs and forums.
There is another motive beyond convenience. Some developers enjoy building their own tools and learn by doing so. Lawson says his work on browser storage tools, including PouchDB, helped him build enough expertise to contribute to standards discussions around IndexedDB.
But custom code can reflect gaps in platform knowledge. Lawson recounts a disagreement with a colleague over storing analytics data in ClickHouse. He says both proposed approaches were inferior to letting ClickHouse handle compression and using its columnar queries. The account is a personal example, not a general benchmark.
Lawson’s broader argument is that understanding the layers beneath an application can produce simpler, more maintainable code. He also describes mixed experiences with AI coding and leaves its effect on developers’ choices unresolved.

