Writing More Code Myself (With AI) Instead of Adding Dependencies
Nikos Katsikanis - 12 September 2025
I don’t reach for open source as quickly as I used to. With AI helping me sketch and refine code, I can cover many of my use cases directly, instead of dragging in a library that’s designed to handle 1,000 edge cases I’ll never hit. Less bloat, fewer updates, and code that matches my project exactly. I wrote about pairing Codex and GPT in Using Codex and GPT Together.
Where I avoid extra dependencies
- Data grid basics. Row sorting, cell rendering, custom items: I can generate focused code that does exactly what I need. A big grid library has to handle hundreds of scenarios, but I don't need most of them. Why ship the weight?
- CSV export and parsing. AI can write a parser or exporter that works for my dataset and my customers. That’s one less npm dependency, one less thing to keep updating when a minor bug patch rolls out upstream.
Where open source still makes sense
- Remix and React. For SSR and working with other devs on bigger projects, shared frameworks are worth it. Everyone understands them, and they save real time.
- PDF rendering. I’m not about to reinvent PDF internals. That’s a deep rabbit hole better left to libraries that already handle the quirks.
- Virtual lists. Tanner Lindsay and others have battle-tested implementations that I trust. No need to re-solve that one.
The bigger picture
AI helps me avoid bloat by covering my direct needs instead of importing a “kitchen sink” library. That means fewer rewrites, fewer updates, and code that feels like mine. Rails is a good counterexample: the community there tends to rally around a smaller set of recommended libraries, which makes decisions simpler.
The same logic applies to many SaaS products too, but that’s a topic for another post I’ll link here later.