Tril converts any codebase into plain English that an LLM can execute. Replace every function with human-readable instructions. The app still works.
Same function. One a machine reads. The other, anyone reads.
Programming languages exist out of necessity. We invented them because machines couldn't understand our intentions. What if they can now?
Think about it. We gritted our teeth, invented formal languages, memorized syntax rules, fought with compilers over missing semicolons — all because silicon couldn't understand "just add these two numbers." So we wrote return a + b; instead. That was the deal.
The deal has changed. Machines now speak every human language better than most humans. The legendary creator of AlphaFold and a growing list of senior engineers publicly admit they haven't opened an IDE in months. The gap between "I want" and "here's the result" is collapsing.
JavaScript, Python, Rust — they're all compression algorithms. They take human intent and squeeze out every drop of ambiguity until a CPU can execute it. Code is compressed human language. Tril does the reverse: decompresses it back into plain English that an LLM can execute.
A pull request in a Tril repo isn't a cryptic diff in syntax described in books with black-and-white animals on the cover. It's an editorial correction of ordinary text. Code review becomes just review: "It says 'multiply by 9/5' — maybe 'multiply by 1.8' would be clearer?" Your product manager can read it. Your designer can review it. Your client can suggest changes.
The barrier between those who write software and those who use it isn't thinning. It's dissolving.
Original JavaScript vs. natural language executed by Claude. Same inputs, same outputs.
| Test | Original (JS) | Tril (LLM) | Match |
|---|---|---|---|
| 100°C → °F | 212 | 212 | YES |
| 32°F → °C | 0 | 0 | YES |
| 1 km → mi | 0.621371 | 0.621371 | YES |
| 1 kg → lbs | 2.20462 | 2.20462 | YES |
| -40°C → °F | -40 | -40 | YES |
Convert a repo. Run the result. That's it.
Scans your repository, extracts every function, and translates each into structured English with types, edge cases, and examples. Static files copied as-is.
tril convert ./my-app
Reads the .md files, starts an HTTP server, and routes every request through claude -p. The LLM reads the instruction and returns the result.
tril run ./my-app-tril
This is an open experiment. Fork it. Break it. Convert your own codebase and tell us what happened.
Contributions welcome: add language support, improve the runtime, convert interesting repos, write tests. PRs are English diffs now.