A foldable is a genuinely good reading device and a poor writing one, and the useful setup follows from that. This is what to install, what to put on the device, and which four or five settings and habits turn an unfolded screen into somewhere you can read an unfamiliar codebase — plus a clear line around the things this build does not do.
FoldRender is on the Play Store as FoldRender: Git Repo Reader, package id dev.foldrender.app, free and distributed worldwide. Install it the ordinary way — no allow installs from this source prompt to approve, and updates arrive on their own. The app declares minSdk 30, so it needs Android 11 or newer; Play will tell you if a device is below that rather than letting you install a build that cannot run.
From the git panel — the branch glyph in the top bar — paste an HTTPS URL into Clone an HTTPS repository URL and tap Clone. Public repositories clone anonymously: no account, no token, nothing typed into the credentials form. The clone goes into app-private storage, which is where git can rely on a real filesystem with locks, mmap and atomic rename.
Open a folder hands you the Android folder picker; the grant persists across restarts and the folder becomes a workspace with the same tree, badges, search and rendering. The one difference is that a granted folder has no git integration — no branch, no status, no history — because on-device git is scoped to clones the app made itself.
The text-size icon opens the Reading sheet. Line width from 480 dp to 1200 dp is the setting that matters on an unfolded Fold — prose that runs the full width of the inner screen is hard to track. Text size runs 80% to 160%, Theme is System / Light / Dark, and Serif body text switches the body font for prose. These persist, and a theme change re-renders without re-parsing because the parsers emit no colours.
Files matched by the repository's .gitignore are hidden, with a Show ignored chip to bring them back — which is what keeps node_modules and build output out of a phone-sized tree. And a long-press pins a file as a favourite; opened files collect in the Recent tab. In an unfamiliar repository, pin the three files you keep coming back to.
The magnifier in the top bar is in-document find, with a current/total counter and chevrons. The Search tab in the left pane is workspace-wide grep, literal or regex, streaming path:line rows with previews that open the file at that line; it honours .gitignore, skips binaries and files over about 1.5 MB, and caps at 500 hits so an over-broad query cannot flood the pane.
Source: whole-file lexical highlighting, line numbers, a language and line-count header, a wrap toggle, around sixty language labels. Markdown: GFM plus callouts, footnotes, wiki links, mermaid and math, with an outline sheet and an export sheet. JSON/YAML/TOML and lockfiles: a collapsible tree with child counts, a path breadcrumb and copy-path. CSV/TSV: a sortable table with a frozen header. PDF: page counter and thumbnail strip. Notebooks: execution counters, collapsible outputs, ANSI-coloured tracebacks. Logs: severity colouring. Images including SVG: pinch zoom up to 12×, double-tap to 2.5×.
The git panel has a Receive documents over LAN switch, off by default. Switched on, it prints a ready-made curl line including a token header, and a laptop, CI job or script on the same network can POST a document straight into the pane. The client names the document but never chooses where it lands.
Side by side — tree left, document right — when the window is genuinely wide or the device reports itself as half-open; a single column with the tree one back step away when it is not. The activity declares that it handles orientation, screen size, screen layout, smallest width, keyboard, density and UI-mode changes itself, so a posture change does not recreate it.
Eleven renderers, selected by scoring each file on name, MIME type and magic bytes. Rendering has been verified on a clean device for Markdown, source code, PDF and Jupyter notebooks.
Tokens are encrypted with an AES-GCM key held in the Android hardware keystore and never read back into the UI. The commit identity goes into a .gitconfig in app-private storage, because Android gives git no writable home directory and JGit's behaviour otherwise varies by ROM.
The honest list — shipped-but-unverified behaviour included, so you can tell before installing whether this build does the thing you came for.
Four apps people actually reach for, and the one axis that separates them: whether the repository ends up on the phone, and whether anything renders it once it is there.
| Tool | Download price | Where you get it | Clones to the device | Renders PDF / notebook / Markdown | Editor or shell |
|---|---|---|---|---|---|
| FoldRender 0.8.2 | US$0 | Google Play, worldwide | Yes — HTTPS, anonymous for public repos | Yes — native Compose renderers | No, deliberately: a reader, not an IDE |
| GitHub Mobile | US$0 | Google Play and the App Store | No — it reads repositories hosted on GitHub | Only what GitHub itself renders, online | Edits files inside a pull request |
| Termux + git | US$0 | F-Droid or GitHub | Yes — the real git CLI | No — terminal text only | Yes, a full shell and any CLI editor |
| MGit 1.7.0 (2023) | US$0 | F-Droid only | Yes — clone, pull, push, HTTPS or SSH keys | No | No — its own listing says it ships no text editor |
Prices are for the download. GitHub Mobile’s capabilities follow your GitHub plan; Termux and MGit are both free software. MGit’s version and date are from its F-Droid listing.
Every figure here is read out of the shipping build or off a primary source listed at the foot of this page — nothing is rounded up for effect.
0.8.2, build 16, last reviewed on 27 August 2026.minSdk 30 — the API level Android 11 shipped with in 2020 — compiled and targeted against API 36.The primary documents behind the figures above, so you can confirm any of them without taking our word for it.
git-clone reference — the operation the app's clone button performs, in the words of the project that defines itminSdk names as its floorPage last reviewed 2026-08-27, against FoldRender 0.8.2.