GIOVANNI LUPO
─────────────────────────────
new york
gio@gi-os.com
gzl.dev
shops storefronts, and the dashboard that deploys them
phones twenty kotlin apps, and the store they live in
systems a desktop in a browser tab, 2015 to version 7
I build small software. Shops that sell things, apps for a phone with no app store, and a desktop that only ever existed in a browser tab.
Ten years of it. I usually own the whole thing: the schema, the API, the interface, and the container it ships in.
Shuttle is a storefront platform. Launchpad is the dashboard that creates a shop, stocks it, and puts it online. One Docker container per shop, nginx routing by path, orders and inventory as CSV. Session auth with bcrypt and rate limiting, a file manager for the shop directory, and a self-update that pulls a new version from GitHub while the platform runs.
Express and SQLite underneath, React and Vite on top, one DigitalOcean droplet holding all of it. The client shops on lrparisstore.com run on it. Version 4.
The Light Phone III has a black and white screen and a home screen that is a list of words. I wrote the apps it does not ship with, and the store they live in: twenty apps in Kotlin, one shared library, one marketplace with a submission portal.
| BrightMarket | The app store, plus an index to submit to it |
| Roll | Camera with filters |
| BrightNotebook | Notes, folders, calendar |
| BrightMusic | Spotify client |
| BrightRecorder | Voice recorder |
| BrightLibrary | E-reader with manga and Calibre support |
Fifteen more sit behind those: Control · Import · Transit · Way · Sports · Authenticator · thumb · Common · Solitaire · Sudoku · Nonogram · News · Noise · Passes · Sync
My girlfriend carries a Kyocera flip phone, so that got a launcher and a solitaire too.
Gi-OS a desktop in a browser tab. started 2015, now on version 7
PassportOS C, for the Passport device
June4 / June7 a virtual secretary, written before the assistants arrived
zip PWA clone of the LinkedIn Zip puzzle
TeslaHUD a heads-up display for a car that already has one
basilnethome the front door to my home server
kotlin, android 20 apps, one shared library, one app store
node, express, sqlite shuttle and launchpad, version 4
react, vite, tailwind the dashboard the shops are run from
docker, nginx, ubuntu one container per shop, one droplet, no kubernetes
bash more of it than I plan on
gzl.dev has my blog, my bookshelf, my film log, and my photographs. Everything else is on this page.



