I Replaced 15 Go Packages With Nothing But the Standard Library — Here's What It Actually Took
Description and use
The author replaced 15 external Go packages with standard library equivalents, creating a zero‑dependency CLI 2FA tool that builds offline and reduces build complexity.
Problem
Developers often add external Go packages for common utilities, increasing build complexity and dependency risk.
Outcome
stdotp now has 0 external dependencies, reduced build time, and no network requirement, demonstrating that common utilities can be implemented with the standard library.
Workflow
- 1. Identify each external package used in stdotp.
- 2. Map each to a standard library alternative or hand‑rolled implementation.
- 3. Replace imports and adjust code accordingly.
- 4. Write tests and verify against RFC test vectors.
- 5. Measure build time and dependency footprint.
- 6. Publish the zero‑dependency project.
Evidence
15 packages. Zero require entries in go.mod.
What it took: 2 days. Reading the RFCs carefully, writing test vectors by hand against RFC 4226 Appendix D and RFC 6238 Appendix B.
- Record date: 2026-09-07T17:44:44.568Z