Skip to main content

Overview

GitHub Pages provides free static hosting for SpendWisely George. This is the simplest deployment option but comes with significant feature limitations since it cannot run the Python backend.
GitHub Pages only supports static HTML/CSS/JavaScript. The Python server (server.py) and Unfold CLI do not run in this environment.

Live Demo

The app is currently hosted at:
https://georgejohnsonoff-business.github.io/spendwiselygeorge/

Feature Availability

Working Features ✓

Basic UI

Full frontend interface loads correctly

Manual Expense Entry

Add expenses via Google Script integration

Non-Working Features ✗

The following features require a backend server and will NOT work on GitHub Pages:
  • Bank Sync - Requires FastAPI server and Unfold CLI
  • Mutual Fund Portfolio - Needs backend proxy for API calls
  • Settings Configuration - Requires file system write access
  • Transaction Sync - Depends on SQLite database and Unfold binary

Deployment Steps

1

Prepare Repository

Ensure your repository contains the following static files:
├── index.html          # Main application
├── manifest.json       # PWA manifest
├── sw.js              # Service worker
└── google_script.js   # Google Apps Script reference
2

Enable GitHub Pages

In your GitHub repository:
  1. Go to SettingsPages
  2. Under “Source”, select Deploy from a branch
  3. Choose branch: main (or master)
  4. Select folder: / (root)
  5. Click Save
3

Configure Base URL

If deploying to username.github.io/repository-name, update relative paths in index.html:
<!-- Update asset paths -->
<link rel="manifest" href="./manifest.json">
<script src="./sw.js"></script>
4

Verify Deployment

After 1-2 minutes, visit:
https://[username].github.io/[repository-name]/
The UI should load, but backend features will show errors.

Google Script Integration

To enable manual expense tracking on GitHub Pages:
1

Deploy Google Apps Script

See the Google Script Setup guide for complete instructions.
2

Update Frontend

In index.html, replace the Google Script URL:
const GOOGLE_SCRIPT_URL = "YOUR_WEB_APP_URL_HERE";
3

Test Connection

Open the deployed site and try adding an expense. It should save to your Google Sheet.

Limitations Summary

FeatureGitHub PagesLocal/Cloud
Static UI
Manual Expenses (Google Script)
Bank Sync (Unfold)
Mutual Funds
Settings Persistence
FastAPI Endpoints

Troubleshooting

Cause: Incorrect base path configurationSolution:
  • Verify repository name matches URL path
  • Check that index.html is in the root directory
  • Ensure all asset paths are relative (./ not /)
Cause: manifest.json path incorrectSolution:
<!-- Use relative path -->
<link rel="manifest" href="./manifest.json">
Expected Behavior: This is normal. GitHub Pages cannot run the Python server.Solution: Deploy to a cloud platform or run locally for full features.

When to Use GitHub Pages

Choose GitHub Pages if you:
  • Only need the basic UI for demonstration
  • Plan to use Google Sheets for all data storage
  • Don’t need automated bank synchronization
  • Want zero hosting costs
For full functionality including bank sync and mutual funds, use Local Setup or Cloud Deployment.

Next Steps

Local Setup

Run the full stack on your machine

Cloud Deployment

Deploy to Render, Railway, or other platforms

Build docs developers (and LLMs) love