Imagine a school on the edge of a remote mountain valley, a clinic a day’s drive from the nearest cell tower, or a home where reliable internet is a rumor. Now imagine an ordinary Android phone on a table or desk that contains an entire library including Wikipedia, thousands of books, video lessons, interactive maps of the streets outside, and even a place to learn to code. No signal or subscription is required because the information and resources are all there.
That phone is running Knowledge to Go (K2Go™), a downloadable library of offline educational resources stored on a phone that can be seamlessly accessed and shared without an internet connection. This is the story of how K2Go came to be, including the groundwork that made it possible, the leap that made it friendly, and what we learned turning a clever idea into a resource that anyone can hold in their hand and use.
Act One: Standing on the Shoulders of Internet-in-a-Box
Knowledge to Go did not begin on a blank page. It began on a foundation laid, with years of care, by Internet-in-a-Box (IIAB).
For over a decade, IIAB has answered a single question: How do you bring the best of the internet to the huge share of the world’s population that can’t reliably reach it? Their answer is an offline server on a small computer, often a Raspberry Pi, preloaded with Wikipedia, the Kiwix reader, the Kolibri learning platform, digital libraries, offline maps, and more. Plug it in, connect over local Wi-Fi, and a classroom or a village can access a snapshot of the world’s knowledge on almost any device without needing an internet connection.
Through the autumn of 2025, IIAB’s contributors, in partnership with App Dev for All (ADFA), began paving a new road. What if that server didn’t need a separate box at all? What if the computer people already carry (their phone) could become the server? That work (a portability layer to run IIAB on everyday Android hardware, and a way to manage its services without special equipment) is the bedrock everything else rests on. When K2Go installs Wikipedia or serves a map, IIAB’s engine will be doing the heavy lifting. IIAB is not a dependency of this project; it is its heart.
Act Two: App Dev for All and the Leap to “Anyone Can Use This”
A powerful Linux-based toolkit like IIAB isn’t necessarily something your grandmother can use, and closing that gap became ADFA’s mission. A few months ago, ADFA took the lead and reimagined K2Go from the ground up to operate easily on Android phones. The question was no longer “Can a phone do this?” as the earlier Raspberry Pi groundwork had proven it could. The new question was “How can we make this work on almost anyone’s phone without requiring technical expertise?”
What had been a toolkit for the technically confident became something you could hand to anyone.
The command lines were replaced with four simple ideas (Install, Use, Share, and Build) wrapped in a friendly interface. The app became an all-in-one, with the installer, manager, and viewer in one place. The work behind that calm surface was intense and wide-ranging, but the guiding principle never wavered: the person using K2Go should never have to think about GNU/Linux, server configuration, or scripts. The goal was to make offline knowledge accessible to everyone.
A few of those ideas capture the spirit of the work:
-
Sharing without any internet. With K2Go, two phones can pass content directly to each other over local Wi-Fi. You scan a QR code and the transfer begins. If a local Wi-Fi network doesn’t exist, K2Go automatically turns the host phone into a local hotspot. Knowledge spreads the way good things always have: person to person and hand to hand.
-
Maps you can carry. Rather than download bandwidth- and storage-hungry maps of the entire planet, you can draw a rectangle around the region you care about and retrieve high-resolution maps, satellite imagery, and 3D terrain, putting a whole town’s streets in your pocket before you lose signal.
-
A simpler way to get content. K2Go’s “Get More” hub and setup wizard let people pick the content they want. The app fetches and installs them in the background, turning what used to be a technical chore into a few taps.
-
Code on the Go. For learners who want to create digital materials as well as consume, K2Go includes Code on the Go (CoGo™), ADFA’s full Android IDE. CoGo runs entirely on the phone, with no laptop or internet connection required. A student who downloads K2Go for Wikipedia and offline maps can, with the same device, install CoGo and start writing and running real Android apps. The library and the workshop travel together.
Act Three: What the Road Taught Us
Four lessons stood out along the way:
-
Powerful and safe aren’t opposites, but you have to design for both. Running a full server on a phone means making deliberate trade-offs. For example, certain permissions must stay broad and certain settings must stay open because they’re needed to serve content on a local network. Our goal was to understand and scope each of these rather than flip them off blindly or leave them dangerously wide. Load-bearing complexity gets respected; accidental complexity gets removed.
-
Trust has to be built in, not bolted on. Because K2Go ships small pieces of software that do low-level work, the build verifies each one against a cryptographic fingerprint before it’s allowed in. Getting integrity right (and keeping it right) was a recurring theme.
-
Moving fast is only sustainable if you also pay down the technical debt. Our early code was written to prove an idea, not to last forever. The ADFA team created a plan and adopted a clear order of operations: build a safety net of tests, then close security gaps, and finally untangle the oldest, most overgrown parts. Design decisions were captured as short written records, so the reasons for choices wouldn’t be lost.
-
Honor your upstream. Because K2Go builds on IIAB, one quiet but important discipline was to keep our changes to shared upstream code as small as possible (ideally none), so that improvements flowing back from the wider IIAB community would never collide with local work. When you stand on the shoulders of giants, your goal is to look further ahead together, not to disrupt the foundation supporting you.
One Final Thought
I’ve had an unusual view of this project. I started working on the IIAB side, where I helped build the foundation, and joined ADFA to complete the work of creating an Android app that anyone could use.
What I found in both places wasn’t just technical skill, but genuine warmth, real trust, and a shared commitment to leaving the world a little better than we found it.
Thank you to everyone in both organizations who guided me, trusted my work, and built an environment where collaboration and dedication are the norm. It has been an extraordinary journey, and I am grateful to have walked this road with all of you.