Personal site and workspace for developing internal apps for personal use. The repository hosts the public GitHub Pages site at [site URL] and the code for private tools built alongside it.
- Publish the public site: landing page, Privacy Policy, and Terms of Service.
- Develop small internal apps and utilities for personal use. These are not intended for public distribution.
.
├── index.html # Public landing page
├── privacy-policy.html # Public privacy policy
├── terms-of-service.html # Public terms of service
├── apps/ # Internal apps, one folder per app
│ └── <app-name>/
├── shared/ # Code reused across apps (helpers, styles)
├── scripts/ # Build, deploy, and maintenance scripts
├── .env.example # Template for required environment variables
└── README.md
Adjust this layout as the project grows. Keep public and internal code clearly separated.
Requirements:
- [Runtime, e.g., Node.js 20+ or Python 3.12+]
- Git
- [Other tools, e.g., Docker, a database client]
Setup:
git clone [repository URL]
cd [project folder]
cp .env.example .env # then fill in the values
[install command] # e.g., npm install or pip install -r requirements.txtcd apps/<app-name>
[run command] # e.g., npm run dev or python app.pySecrets and personal data never go in version control. Put them in .env, which is git-ignored, and document each variable in .env.example with a placeholder value.
| Variable | Used by | Description |
|---|---|---|
[VARIABLE_NAME] |
[app] |
[What it configures] |
The public site deploys from the [main / gh-pages] branch through GitHub Pages. Each push updates [site URL] within a few minutes.
Internal apps are not deployed publicly. Run them locally or on a private host reachable only over a trusted network.
- One folder per app under
apps/, each with its own README describing its purpose and how to run it. - Keep dependencies minimal. Record them in the app's own manifest.
- Commit
.env.examplebut never.env. - Never commit credentials, API keys, personal data, or private documents. If something sensitive is committed by mistake, rotate the credential immediately and rewrite the history.
- Write commit messages in the imperative mood, for example "Add expense export to finance app".
- Internal apps may hold personal data. Keep their data files out of the repository.
- Keep the GitHub repository private if it contains anything beyond the public site.
- Review the public pages before each deploy so that no internal details leak into them.
- [First internal app or utility]
- [Next item]
Public site content: [license, e.g., All rights reserved, or CC BY 4.0]. Internal apps: private, not licensed for redistribution.

