▼

Sunday, August 23, 2026

🛠️ From Phone to Production: A Complete Engineer's Guide to Building Health Trend Seller Without a Laptop – Codespaces, Termux & More 📡

🔐 Restricted Access

This content is private. Enter the password to continue.

❌ Incorrect password. Try again.

Building Health Trend Seller Without a Laptop

Peter M. Mutiti · Lead Engineer, Health Trend Seller Project

Alright, let me be straight with you. Building and executing the Health Trend Seller application without a laptop is going to be challenging. Not impossible – I've been doing it myself – but you need to know exactly what you're up against.

I've been in your shoes. No laptop, but a vision that won't wait. So I figured out the workarounds. Here is a breakdown of the restrictions and limitations I faced, and what I actually did about them.

"A vision that won't wait doesn't need a laptop – it needs a workaround." – Peter M. Mutiti

🚫 The Hard Truth – What I Couldn't Do Without a Laptop

1. I Couldn't Run the Application Locally

Limitation What I Experienced
No local server I couldn't run npm run dev or start any of the services (Express, Next.js, PostgreSQL, Temporal, Redis, IPFS) because my phone doesn't have the processing power, memory, or storage.
No database PostgreSQL won't run on a phone. I couldn't store or query data locally.
No WebSocket Real-time chimes require a WebSocket server running locally. Not possible on my phone.

2. I Couldn't Write or Edit Code Effectively

Limitation What I Experienced
No code editor VS Code, WebStorm, or any real IDE requires a desktop. Phone code editors are frustrating for a project this size.
No file system I couldn't create, rename, move, or delete files in bulk the way I needed to.
No git operations Cloning, committing, branching, merging, and pushing to GitHub were extremely difficult on my phone.

3. I Couldn't Test or Debug

Limitation What I Experienced
No browser dev tools I couldn't inspect network requests, debug JavaScript, check console logs, or test API responses.
No terminal I couldn't run git, npm, npx, prisma, or any CLI commands.
No error tracing When something broke (and it did), I couldn't see stack traces or error messages to figure out what went wrong.

4. I Couldn't Deploy Easily

Limitation What I Experienced
No build process I couldn't run npm run build to generate production-ready files.
No deployment CLI Vercel, Netlify, and AWS deployment require a terminal or a desktop.
No environment variables I couldn't set .env files locally or upload them securely.

😅 What I COULD Do Without a Laptop

What I Did How I Did It
Planned the architecture I documented the project structure, API design, database schema, and workflows. I used this chat to help me.
Wrote code snippets I generated components, routes, and functions to copy-paste later.
Created mockups I designed the UI, planned the user flow, and built static HTML previews (like the dashboard you've already seen).
Studied the codebase I read and understood the project code through our conversations.
Designed the database schema I planned tables, relationships, and migrations.
Researched I read documentation, watched tutorials, and learned the technologies (Next.js, Prisma, Temporal, etc.).
Hosted code on GitHub I created the repository. Someone else pushed the code for me.

🚀 GitHub Codespaces – My Go-To Solution

💡
Why This Is My Best Option

GitHub Codespaces gives me a full VS Code editor in my browser, a terminal, and the ability to run commands – all without a laptop. It's like having a laptop in the cloud. I use this every day.

What I liked: I could run npm run dev, install dependencies, and test code.
What I didn't like: Limited free tier (60 hours/month). Performance could be slow. Still needed a browser and internet.

🛠️ My Complete Guide to Setting Up GitHub Codespaces

1
I Created a GitHub Account
If you don't have one:
1. Went to github.com
2. Clicked Sign Up
3. Entered my email, created a password, and chose a username
4. Verified my email
2
I Created the Repository
1. Logged in to GitHub
2. Clicked the + icon → New repository
3. Named it: health-trend-seller
4. Set it to Private
5. Checked Add a README file
6. Clicked Create repository
3
I Opened It in Codespaces
1. On my repository page, I clicked the Code button (green)
2. Clicked the Codespaces tab
3. Clicked Create codespace on main
Wait 1-3 minutes while the cloud environment builds. I used this time to grab coffee. ☕
4
I Set Up the Project

Once Codespaces opened, I had a VS Code editor in my browser with a terminal at the bottom.

I ran these commands in order:

# Check Node.js is installed
node --version
# Showed v18 or higher – good

# Check npm
npm --version
# Showed v9 or higher – good

# Initialize the project
npm init -y

# Install dependencies
npm install express next react react-dom

# Install development dependencies
npm install -D nodemon prisma

# Create the folder structure
mkdir -p src/app src/api/controllers src/api/models src/api/routes src/services src/config

# Create a basic .gitignore file
echo "node_modules/
.env
.next/
dist/
*.log" > .gitignore
5
I Created the Server File

I created src/server.js:

// src/server.js
const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

app.use(express.json());

app.get('/health', (req, res) => {
  res.json({ status: 'healthy', timestamp: new Date().toISOString() });
});

app.get('/api/v1/trends', (req, res) => {
  res.json({
    status: 'success',
    data: {
      trends: [
        { name: 'Wellness Products', score: 87, change: '+23%', confidence: 0.92 },
        { name: 'Mental Health', score: 72, change: '+18%', confidence: 0.85 },
        { name: 'Fitness Tech', score: 34, change: '-5%', confidence: 0.45 },
        { name: 'Supplements', score: 91, change: '+31%', confidence: 0.96 }
      ]
    }
  });
});

app.listen(PORT, '0.0.0.0', () => {
  console.log(`✅ Server running on http://localhost:${PORT}`);
});
6
I Updated package.json

I opened package.json and added this under "scripts":

"scripts": {
  "start": "node src/server.js",
  "dev": "nodemon src/server.js"
}
7
I Ran the Server

In the Codespaces terminal:

npm run dev

I waited for: "✅ Server running on http://localhost:3000"

8
I Viewed My App

1. In Codespaces, a popup appeared saying "Your application running on port 3000 is available."
2. I clicked Open in Browser
3. My API was running!

I tested these URLs:

  • http://localhost:3000/health → Shows health status
  • http://localhost:3000/api/v1/trends → Shows trend data
9
I Saved My Work
git add .
git commit -m "Initial setup: Express server with API endpoints"
git push origin main

⚠️ Codespaces Limitations – What I Learned

Limitation What I Did
Free tier limit 60 hours per month on the free plan. I use wisely and stop the server when not working.
No persistent storage Codespaces spins down after inactivity. I always commit and push changes.
No PostgreSQL I couldn't run PostgreSQL locally. I use a cloud database (Supabase, Neon).
No Redis I use a cloud Redis service (Upstash).
No Temporal I use Temporal Cloud or skip for now.
💰
Alternative: GitPod – My Backup

If Codespaces is full, I use GitPod (free 50 hours/month):

  1. Go to gitpod.io
  2. Log in with GitHub
  3. Enter my repository URL
  4. Click Continue

It works the same way as Codespaces.

📱 Termux on Android – My Fallback Guide

📌
Note

I use this when I can't access Codespaces. It's powerful but limited. Codespaces is always my first choice.

1
I Installed Termux
1. Went to the Google Play Store
2. Searched for Termux
3. Installed the official app (by Fredrik Fornwall)
4. Opened Termux

Important: If Termux is not available in your country, download the APK from f-droid.org
2
I Updated Termux
pkg update && pkg upgrade -y

Typed y when prompted.

3
I Installed Node.js
pkg install nodejs -y

Checked installation:

node --version
# Showed v18 or higher – good

npm --version
# Showed v9 or higher – good
4
I Installed Git
pkg install git -y
5
I Installed Additional Tools
pkg install nano -y        # Text editor
pkg install curl -y        # For API testing
pkg install wget -y        # For downloading files
6
I Cloned My Repository
git clone https://github.com/YOUR_USERNAME/health-trend-seller.git
cd health-trend-seller

Replace YOUR_USERNAME with your actual GitHub username.

7
I Installed Dependencies
npm install

This took 2-5 minutes depending on internet speed.

8
I Created the Project Structure
mkdir -p src/app src/api/controllers src/api/models src/api/routes src/services src/config
9
I Created the Server File
nano src/server.js

I copied and pasted the server code from the Codespaces section above.

Save: Press Ctrl + X, then Y, then Enter.

10
I Updated package.json
nano package.json

Added this under "scripts":

"scripts": {
  "start": "node src/server.js",
  "dev": "nodemon src/server.js"
}

Save: Press Ctrl + X, then Y, then Enter.

11
I Installed Nodemon
npm install -g nodemon
12
I Ran the Server
npm run dev

I saw:

✅ Server running on http://localhost:3000
13
I Tested the API

I opened another Termux session (swiped from the left edge and tapped "New session") and used curl:

curl http://localhost:3000/health

I saw:

{"status":"healthy","timestamp":"2026-..."}

⚠️ Termux Limitations – What I Discovered

Limitation What I Did
No port forwarding I couldn't access my app from another device. Only localhost.
No browser dev tools I couldn't inspect network requests or debug JavaScript easily.
Limited storage My phone storage was limited. I kept node_modules clean.
Battery drain Running servers drained my battery quickly. I used a charger.
No PostgreSQL I used a cloud database (Supabase, Neon).
No Redis I used a cloud Redis service (Upstash).
No Temporal I used Temporal Cloud or skipped.
No Docker Termux does not support Docker.

✅ What I CAN Do on Termux

Activity Status
Write code✅ Yes
Run Express server✅ Yes
Test API endpoints✅ Yes
Push to GitHub✅ Yes
Install npm packages✅ Yes
Edit files✅ Yes (with nano or vim)
Run basic Node.js apps✅ Yes

🔑 My Pro Tips for Termux

Allow Storage Access
termux-setup-storage
Grant Notification Permission

Android will ask you automatically. Tap Allow.

Install a Better Editor (Vim)
pkg install vim -y
Keep the Server Running in Background
npm run dev &
View Running Processes
ps aux
Stop a Background Process
kill <PID>

📋 Summary: Which Option Should You Use?

⭐⭐⭐⭐⭐
Codespaces
✅ Full VS Code, terminal, browser preview, easy deployment
⏱️ 60 hours/month free
Best overall
⭐⭐⭐⭐
GitPod
✅ 50 hours/month free, similar to Codespaces
⏱️ Same limitations as Codespaces
Good alternative
⭐⭐⭐
Termux
✅ Free, runs on your phone, no time limits
❌ No browser dev tools, no port forwarding, limited storage
Fallback option

🚀 My Next Steps

✅
What I'm Doing Next
  1. I use Codespaces as my primary platform
  2. I've set up the project using the guides above
  3. I'm building the API by adding more endpoints
  4. I'll connect a database (Supabase or Neon are free)
  5. I'll deploy to Vercel (I can do this from Codespaces)
Peter M. Mutiti – Lead Engineer, Health Trend Seller Project
Building the future of health trend intelligence, one line of code at a time.
Health Trend Seller • v2.4.1 • Built with ❤️ • No laptop, no problem.

No comments:

Post a Comment