My entire development setup is my phone.
No laptop. No desktop. No "I'll do it when I get home." Just a smartphone, Termux, and a GitHub web editor.
I've written about this workflow before — from building ShellSignal — a retro terminal-style developer dashboard with real-time tech news and AI summaries — to competing in a DEV Weekend Challenge with it. But this time I didn't just write about it — I built a platform for it. Meet Forge — a developer hub built specifically for mobile coders, featuring a searchable script vault, interactive Termux guides, GitHub OAuth, and a one-tap environment configurator that generates a real curl | bash command on the fly.
And yes, I built the entire thing from my phone. Here's how.
The Problem
Every time someone asks "how do I code on Android?" they get one of two answers:
- A five-year-old Reddit thread with broken links
- A YouTube video of someone half-explaining Termux for 20 minutes
There's no dedicated resource. No curated shell scripts. No "run this one command and you're set up." Just scattered info that assumes you have a laptop nearby.
I live this problem. I build real software from my phone daily. So I built the solution.
What Is Forge?
forge.brgt.site is a developer hub for mobile coders with three core features:
🗂️ The Script Vault
A library of shell scripts built specifically for Termux. Each script has a one-line curl | bash install command, difficulty rating, chipset compatibility, and links to the raw file on GitHub.
📖 Interactive Guides
Step-by-step walkthroughs for setting up real dev environments on Android. Written by someone who actually uses them — no laptop assumed, no steps skipped.
⚙️ The One-Tap Configurator
This is the magic feature. Pick your runtime (Node.js, Python, Go, Java), shell, and tools. Hit generate. Get a permanent curl URL you can run straight in Termux.
curl -fsSL https://forge.brgt.site/api/config/bm9kZS1sdH | bash
That URL runs a fully customized setup script on your device. Permanently saved, shareable, and works on any Android phone.
The Stack
Everything runs on what I know best:
- Next.js 14 (App Router) — SSG for SEO, server components for auth
- Supabase — Postgres DB, GitHub OAuth, Row Level Security
- Tailwind CSS — mobile-first, dark terminal aesthetic
- Vercel — zero-config deploys, edge functions
- MDX — guides as files, editable directly from GitHub's web editor
No local dev environment. Every file was created through GitHub's web editor on Android Chrome and deployed automatically via Vercel on each commit.
The Build Process
Starting with SEO in mind
Most dev tools are an afterthought on search. Forge was designed SEO-first from line one.
Every script in the Vault gets its own statically generated page at /vault/[slug] with:
- Unique title, description, and canonical URL
-
SoftwareSourceCodeJSON-LD schema -
BreadcrumbListJSON-LD schema - Long-tail keyword targeting ("Termux Node.js setup", "shell scripts Android")
Every guide gets a HowTo JSON-LD schema — Google's favorite format for tutorials. The sitemap auto-generates from both Supabase content and MDX files.
The Configurator — client-side script generation
The one-tap configurator was the feature I was most excited about. Here's how it works under the hood:
- User picks options (runtime, version, shell, tools)
- A pure TypeScript function generates a custom
setup.shscript client-side - The script gets saved to Supabase with a unique config ID
- A Next.js API route serves the script at
/api/config/[id] - User gets a permanent
curl | bashURL
The script generation is entirely deterministic — no AI, no server-side rendering, just a function that builds a bash script from options. Here's a simplified version:
function generateScript(options: ConfigOptions): string {
const lines = [
`#!/data/data/com.termux/files/usr/bin/bash`,
`DEBIAN_FRONTEND=noninteractive pkg update -y && pkg upgrade -y --force-confold`,
];
if (options.runtime === "node") {
lines.push(`pkg install -y nodejs-lts`);
}
if (options.git) {
lines.push(`pkg install -y git`);
}
return lines.join("\n");
}
Auth from a phone
GitHub OAuth with Supabase SSR on Next.js App Router was the hardest part of this build. The PKCE flow requires the code verifier to be stored in cookies, and getting that to work correctly across Vercel's edge runtime took more debugging than I'd like to admit.
The fix was upgrading @supabase/ssr to ^0.5.0 which fixed the PKCE cookie handling, and making sure middleware never intercepts the /auth/callback route.
The mobile workflow
Every file in this project was created using GitHub's web editor on Android Chrome. The workflow:
- Open file in GitHub
- Edit or create
- Commit directly to main
- Vercel auto-deploys in ~60 seconds
- Test on the same device
No terminal needed for deployment. The only terminal I used was Termux — to test the actual scripts Forge generates. Which is exactly the point.
What's Live
- ✅ Script Vault with individual SEO pages per script
- ✅ Interactive guides with MDX rendering
- ✅ GitHub OAuth authentication
- ✅ User dashboard with bookmarks and saved configs
- ✅ One-tap configurator with permanent curl URLs
- ✅ Auto-generated sitemap and robots.txt
- ✅ JSON-LD structured data on every page
What's Next
Phase 3 is about intelligence and community:
- AI layer — Gemini Flash explaining what each generated script line does, inline
- Community scripts — submit your own Termux scripts via GitHub PR
- Made on Mobile showcase — real projects built entirely on Android
Try It
forge.brgt.site — generate your Termux setup in 30 seconds.
If you're a mobile developer, or you're curious whether it's actually possible to build real things from a phone — this is your answer.
The laptop is optional. Always has been.
If you want to contribute to the Script Vault in Phase 3, follow me on GitHub github.com/brighto7700 or drop a ⭐ on the Forge repo.
Built entirely on Android. Deployed from Termux. No laptop was harmed in the making of this platform.
Top comments (2)
Generating a custom setup.sh file on the fly and serving it via a Vercel edge route is such a smart architecture. Going to test out the Node.js Termux script right now. Brilliant work!
Appreciate it! Getting Vercel to serve the raw bash text cleanly without any Next.js overhead was incredibly satisfying. Definitely let me know if the script executes smoothly in your Termux environment! 🚀