Internetless Software Development is a concept and living experiment documented by Jan Wilmake in early 2024. The premise: dedicate a second MacBook Air as a machine that has never touched the real internet — running a large local LLM, local DNS resolution, and a Vercel-compatible serverless environment — producing a complete software development setup with no external dependencies.
Jan's framing: "I imagine a device that goes back to basics. It has no internet, just a huge LLM."[1]
Jan identified several distinct reasons to pursue a fully offline setup:
Apple's M1+ recovery tools require internet activation during initial setup, making a truly internet-virgin installation impossible on modern Apple hardware. Jan found that older Macs without the activation requirement would be necessary for a purist approach; on a modern M1 Air, the internet is only needed at install time, not during operation.
Jan's design for the local network layer:
localhost - matches incoming requests by domain - serves public/ static files - follows vercel.json rules for rewrites, redirects, and serverless functions
Cmd+S deploys to the local webThis would enable standard browser-based development against web standards, with no code changes required between local and (eventual) real deployment.
Jan explored hosting a local npm server at the standard registry address, pre-seeded with common packages, so standard package managers would continue to work without modification.
For code that calls external APIs, Jan proposed an LLM-backed mock layer: the model generates plausible responses based on the OpenAPI spec of the target service, caches them, and returns them to the calling code — preserving functional development without real connectivity.
Without internet, deployment would use physical media (USB) and a batch-deploy script run periodically — prioritising development speed and privacy over continuous delivery.
The experiment sits at the intersection of several recurring themes in Jan's work: the Agent_Friendly_Web (what infrastructure does an AI agent need?), the Outcomputed scenario (what happens if the internet gets shut down?), and his practical interest in reducing external dependencies across his toolchain. It is also an extreme expression of the monorepo-to-connected-repos architecture: if every package is a self-contained repo, offline development becomes far more tractable.
../blog/2024/internetless-software-development.md ↑