About

Peter Deems, behind Twilight Studio.

Twilight Studio is the name Peter Deems ships under: an independent developer making apps, websites and experimental software. One person, end to end.

Peter Deems in a dark suit, standing at a railing in front of green trees

What the work covers

The newest project, Easy Talk, is a voice dictation app for Android and Windows: a Kotlin accessibility service on one side, a Rust and React desktop app on the other, and a shared clean-up prompt tested against its own case set.

Around it sit very different problems. A computer-vision bot that reads a game's screen and refuses to act on a misread. A Minecraft server being ported from PHP to Java, with a store and staff panel on one database. A full ordering site for a Columbus bakery. A cross-platform sports app. A paper-trading research prototype built so that it cannot place a real order.

Twilight Studio is not an agency and not a team. When a page here says “built”, Peter built it.

How the projects are made

  1. 01

    Read the source, don't guess

    Aetheria's port treats the old PHP as the specification. Bugs came from inventing plausible behaviour, so now the answer is read, not assumed.

  2. 02

    Refuse rather than be wrong

    The Clash bot skips a base instead of attacking on a misread. Signal Desk blocks a scan on stale data. Easy Talk keeps the raw transcript when a clean-up comes back implausibly long or short. The on-phone model also falls back when it stops using the speaker's own words.

  3. 03

    Numbers come from tools

    Aetheria's status page is generated from the repository, and Easy Talk's clean-up prompt is scored by a script against its own test set.

  4. 04

    Keep the user's data where it belongs

    Easy Talk has no server and no account. The Aetheria store cannot touch game state. Signal Desk publishes only a sanitized snapshot, and nothing on the website can place or change a trade.

Tools in the projects

Mobile
Kotlin, Jetpack Compose, Capacitor
Desktop
Tauri 2, Rust, PySide6
Web
Next.js, React, SvelteKit, TypeScript, Tailwind
Back end & data
Java (Paper), Python, MariaDB, SQLite, Prisma
Payments
Stripe, Square, Google Play Billing, RevenueCat
Vision & AI
OpenCV, Tesseract, Whisper via Groq, sherpa-onnx, LLM prompt evaluation