Phone OS: A No-Bullshit Phone on an ESP32

I wanted a phone with no bullshit: one where I decide what happens, who can call it and who can read its data. I wanted my kids to have one, but it is for anyone who just needs a phone that calls, sends messages and does a few simple things well.

Phone OS is an open firmware for the LilyGO T-Deck Pro MAX (ESP32-S3, e-ink, 4G, GPS, keyboard): https://github.com/Xinyuan-LilyGO/T-Deck-MAX. There is no Android, no app store and no services running in the background, just one firmware that makes calls, handles SMS and reports a position when asked. Only numbers in the contact book can call or write; everything else is ignored.

Position only on demand. The device never sends its location by itself. Either the user presses SOS (it waits briefly for a good GPS fix, then texts every SOS contact), or a number on the parents’ list sends a trigger word by SMS. Strangers get no answer and don’t learn the command exists. Every query is logged with time, number and outcome, and that log cannot be switched off. The SMS goes through the mobile network, with no server of mine in between. The carrier still sees SMS traffic and the cell of the SIM, as with any 4G device.

Also: school-time windows and quiet hours (SOS still works, with five taps), a lock screen, a settings page the device serves over Wi-Fi, and an interface in English, German and French.

How it was built. An AI explored the hardware with me and we designed and wrote the software in conversation. I’d say it’s more than vibe coding: layers enforced by a script that fails the build, 2,400+ host tests, a simulator that runs the real app without hardware, a test for every bug found, and the status “compiled / tested on the host / verified on the device” kept apart in the docs. The decisions stayed mine.

Try it. Source, build steps and a user’s guide (EN/DE/FR): https://github.com/paulwilke/Phone-OS. It builds with PlatformIO; the simulator runs without hardware. There is no firmware download, you build and flash it yourself. This is a hobby project, not a certified safety product.

Thanks to LilyGO for the board and to the Meck project (https://github.com/pelgraine/Meck), whose published work on this device helped my bring-up. Phone OS contains none of its code.

Would you call this vibe coding? Would you trust an SOS function built like this, and what would you want to see first? Tests and reviews welcome.