# Project pack: Wallos @ becd8a3 Facts about **Wallos** for an AI following the [BespokeAI handover guide](https://handoff.bespokeai.software/guide/v4.md). Pinned to one version; never changes after publication. > Wallos is a personal subscription tracker. Add Netflix, gym, insurance or any recurring bill, and it shows what you spend each month, what renews next, and sends reminders before you're charged. It runs on your own computer or server, so your spending data stays private. ## Setup path (checked 2026-11-03) - **Start here, no Docker:** Run the source directly with the language runtime (PHP, Node or Python). No Docker. Upstream documents PHP 8.3 + nginx/apache. The php built-in server (php -S) was run against the pinned commit on Linux; the same steps on Windows (php.net zip) are documented but not yet run. - Windows, no installer and no restart: download the latest PHP 8.3 'Non Thread Safe' x64 Zip from https://windows.php.net/download/ and unzip it into your own user folder (for example C:\Users\you\php). If php.exe later says VCRUNTIME140.dll is missing, install Microsoft's Visual C++ Redistributable 2015-2022 x64 (needs admin approval; PHP's download page lists it as required). - In that folder copy php.ini-development to php.ini, then remove the leading ; from these lines: extension_dir = "ext", extension=curl, extension=fileinfo, extension=gd, extension=intl, extension=mbstring, extension=openssl, extension=sqlite3, extension=zip. - In your browser download the pinned Wallos zip (link above) and unzip it. Rename db\wallos.empty.db to db\wallos.db. - In a terminal inside the Wallos folder run: C:\Users\you\php\php.exe -S localhost:8282 then open http://localhost:8282 and register the first account. Leave the terminal open while you use it. - Reminder emails and exchange-rate updates need the scheduled jobs in the README's cron list; skip them in the first version. - Offer Docker only if the person asks or this path fails. The commands further down may use Docker; they are not the starting point. - Verdict source: https://raw.githubusercontent.com/ellite/Wallos/HEAD/README.md - You may be unable to download source archives or run commands in this session. The person downloads and runs things; if you cannot fetch something, give any changed file in full in chat with its path. ## Version and source - Repository: https://github.com/ellite/Wallos - Pinned commit: `becd8a3c714f40ed7f5a53bec0118963e88368cf`. Use exactly this version. - Zip the person can download in a browser: https://github.com/ellite/Wallos/archive/becd8a3c714f40ed7f5a53bec0118963e88368cf.zip - Fresh checkout (only if you have a shell and git): use the commands below in an empty folder. If this exact source is already checked out, keep your branch and use the development command; do not clone again or reset local changes. - Live demo: https://demo.wallosapp.com (username: demo / password: demo). Shared demo; the database resets every 2 hours. Don't enter real data. - Licence: **GPL-3.0-only**. Free to use and change. If you share your changed version with other people (give them the code or app), you must share your source code under the same licence. Using it privately for yourself or your household has no extra obligations. ## Commands from the pinned source - Developer commands (they may use Docker): ```sh git clone https://github.com/ellite/Wallos bespoke-wallos cd bespoke-wallos git checkout --detach becd8a3c714f40ed7f5a53bec0118963e88368cf # macOS/Linux with PHP 8.3 installed. Windows: follow the Setup path steps instead. cp db/wallos.empty.db db/wallos.db php -S localhost:8282 ``` - Separate trial of the current upstream release (not your changes; sample data and a separate data directory only): ```sh docker run -d --name wallos -p 8282:80 -e TZ=Europe/London -v wallos-db:/var/www/html/db -v wallos-logos:/var/www/html/images/uploads/logos bellamy/wallos:latest # then open http://localhost:8282 ``` - Tools these commands use: PHP 8.3 with curl, dom, gd, intl, mbstring, openssl, sqlite3 and zip (no Docker needed); Docker is optional - Develop: `php -S localhost:8282` - Test: `dev/test.sh` - Stack: php, javascript, css (vanilla PHP 8.3, vanilla JS). Difficulty for a non-developer with an AI: **easy**. Plain PHP pages and endpoints with no build step, and a single SQLite file. Most changes are a page, an endpoint, a CSS file or a translation file. Personal data: **yes**. Stored in: SQLite file in /var/www/html/db (a Docker volume when using Docker). Secrets are entered by the person, never in chat. --- Later, only when a step needs it: [reference.md](https://handoff.bespokeai.software/p/wallos/becd8a3/r3/reference.md) (customisation points, must-keep-working, data and costs, coding conventions) · [hosting.md](https://handoff.bespokeai.software/p/wallos/becd8a3/r3/hosting.md) (long-term hosting; hosts are paid third parties) · [bespoke.yaml](https://handoff.bespokeai.software/p/wallos/becd8a3/r3/bespoke.yaml) · [SKILL.md](https://handoff.bespokeai.software/p/wallos/becd8a3/r3/SKILL.md)