I'm not coding on a MacBook Pro. I'm not on a powerful Linux desktop. I'm coding on a Samsung A04 using Termux — and I got tired of having no real developer tooling.
So I built my own.
It's called NIL — a code intelligence engine written in C that runs as a single binary, completely offline, with no cloud dependency, no Node.js, no heavy runtime. Just SQLite, PCRE2, OpenSSL and raw C.
The problem I was solving
Every time I started a new coding session I had to re-explain everything to my AI assistant. What files I was working on. What errors I hit last time. What I already tried. It was exhausting.
And forget about code search tools — they all assume you have a proper Linux machine or an internet connection.
What NIL does
- Indexes your entire codebase locally into SQLite
- Semantic search using text embeddings and cosine similarity
- Parses gcc and Python error output automatically — logs exactly what broke and where
- Watches your files for changes as you code
- Works on Linux with inotify for instant detection, and Android/Termux with polling
The feature I'm most proud of — SID resume strings
This is what makes NIL different from everything else.
NIL can serialize your entire coding session — your decisions, your errors, your file states, your assumptions — into a single base64 string.
You paste that string into any AI chat and your context is instantly restored. The AI knows exactly where you left off. No re-explaining. No lost context.
I haven't seen this anywhere else.
The struggle to build it
Building this on a Samsung A04 was not easy.
- No
inotifyon Android — had to build a polling watcher from scratch -
json-cdoesn't exist as a Termux package — had to build it from source -
gccisn't available in Termux — clang only - Function name conflicts with libcurl headers
- The linker couldn't find pcre2 without explicit paths
Every single one of those problems got solved. And now it compiles and runs cleanly on Android.
It's open source
We're working toward making NIL an official Termux package. Right now you can install it with:
git clone https://github.com/jaminejunior0-a11y/Nil.git
cd Nil
bash setup_termux.sh
make
nil init
Looking for contributors — especially anyone who knows C, wants to add Groq/OpenAI support, write more language templates, or help package it for the official Termux repo.
https://github.com/jaminejunior0-a11y/Nil.git
If you're a mobile developer working in Termux, or just someone who believes powerful tools shouldn't require powerful hardware — come build with us.
Drop a comment, I read everything.
termux #linux #android #opensource #c #programming #showdev #beginners
-
Top comments (0)