# Johannes Grof > Software developer and HTL Kaindorf student in south-east Styria, Austria. Builds native iPhone and Mac apps, web projects and small developer tools. The portfolio is available in English and German. The HTML pages and their canonical URLs are the primary source; this file is a directory for language models and other readers that support llms.txt. A public project page does not necessarily mean its source code or beta is public. ## Main projects - [ÖffiGo](https://johannesgrof.me/oeffigo/): Transit, without the guesswork. Public transport for all of Austria on iPhone and Apple Watch. Status: closed testflight beta, not released yet. [Deutsch](https://johannesgrof.me/de/oeffigo/). [Product website](https://oeffigo.app). - [Kontobuch](https://kontobuch.johannesgrof.me/): A digital accounting notebook. Write journal entries, calculate discounts and VAT, and get help with the next step. Free · No sign-up · macOS, Windows, Linux & web. ## Selected work - [BriskEdit](https://johannesgrof.me/projects/briskedit/): A native Mac editor with a terminal and Markdown preview. Status: in development. [Deutsch](https://johannesgrof.me/de/projects/briskedit/). - [MacPhone](https://johannesgrof.me/projects/macphone/): Test real Bluetooth devices through an emulator on your Mac. Status: active. [Deutsch](https://johannesgrof.me/de/projects/macphone/). - [PatchPilot](https://johannesgrof.me/projects/patchpilot/): A terminal coding agent for local models, with configurable permissions. Status: beta. [Deutsch](https://johannesgrof.me/de/projects/patchpilot/). - [poise](https://johannesgrof.me/projects/poise/): Your AirPods as a posture coach, fully on-device. Status: active. [Deutsch](https://johannesgrof.me/de/projects/poise/). - [agent-presence](https://johannesgrof.me/projects/agent-presence/): Discord Rich Presence for Claude Code and Codex. One static binary, no bot token. Status: active. [Deutsch](https://johannesgrof.me/de/projects/agent-presence/). - [Caruso-Reborn](https://johannesgrof.me/projects/caruso-reborn/): Internet radio, brought back to first-gen T+A Caruso systems. Status: beta. [Deutsch](https://johannesgrof.me/de/projects/caruso-reborn/). ## All other projects - [BottleLite](https://johannesgrof.me/projects/bottlelite/): A lightweight native macOS runner for Windows apps. Status: preview. [Deutsch](https://johannesgrof.me/de/projects/bottlelite/). - [claude-swap-bar](https://johannesgrof.me/projects/claude-swap-bar/): Switch between Claude Code accounts from the menu bar, with live usage meters. Status: active. [Deutsch](https://johannesgrof.me/de/projects/claude-swap-bar/). - [NotchTray](https://johannesgrof.me/projects/notchtray/): Reach menu bar icons hidden behind the notch on older macOS versions. Status: active. [Deutsch](https://johannesgrof.me/de/projects/notchtray/). - [CCrab](https://johannesgrof.me/projects/ccrab/): A small desktop companion that shows what Claude Code is doing. Status: experimental. [Deutsch](https://johannesgrof.me/de/projects/ccrab/). - [PortPirate](https://johannesgrof.me/projects/portpirate/): macOS menu bar control for local dev ports. Status: coming soon. [Deutsch](https://johannesgrof.me/de/projects/portpirate/). - [SlamX](https://johannesgrof.me/projects/slamx/): Slap your MacBook and it knows. Real accelerometer, no microphone. Status: archived. [Deutsch](https://johannesgrof.me/de/projects/slamx/). - [dirhop](https://johannesgrof.me/projects/dirhop/): Jump to any folder from the terminal in a few keystrokes. Status: beta. [Deutsch](https://johannesgrof.me/de/projects/dirhop/). - [HealthKit-MCP](https://johannesgrof.me/projects/healthkit-mcp/): Read-only Apple Health context for MCP-capable agents. Status: experimental. [Deutsch](https://johannesgrof.me/de/projects/healthkit-mcp/). - [Hermes-Discord-Voice](https://johannesgrof.me/projects/hermes-discord-voice/): Self-hosted voice for the Hermes agent, straight in a Discord call. Status: archived. [Deutsch](https://johannesgrof.me/de/projects/hermes-discord-voice/). - [OpenClaw-Discord-Voice](https://johannesgrof.me/projects/openclaw-discord-voice/): Talk to a local OpenClaw agent through a Discord voice channel. Status: archived. [Deutsch](https://johannesgrof.me/de/projects/openclaw-discord-voice/). - [johannesgrof.me](https://johannesgrof.me/projects/johannesgrof-me/): This site: a portfolio that reads its own release data from GitHub. Status: active. [Deutsch](https://johannesgrof.me/de/projects/johannesgrof-me/). - [ÖffiGo Website](https://johannesgrof.me/projects/oeffigo-website/): The product site behind oeffigo.app, with a public data status page. Status: active. [Deutsch](https://johannesgrof.me/de/projects/oeffigo-website/). - [Tools](https://johannesgrof.me/projects/tools/): Merge, split, rotate and convert PDFs and images, entirely in your browser. Status: active. [Deutsch](https://johannesgrof.me/de/projects/tools/). - [ip-multitool](https://johannesgrof.me/projects/ip-multitool/): A focused terminal toolkit for IP, DNS, RDAP, HTTP, and subnet diagnostics. Status: active. [Deutsch](https://johannesgrof.me/de/projects/ip-multitool/). - [DocxToPDF](https://johannesgrof.me/projects/docxtopdf/): Batch-convert DOCX to PDF using Word itself as the engine. Status: archived. [Deutsch](https://johannesgrof.me/de/projects/docxtopdf/). ## Stack - iPhone and Mac: Swift, SwiftUI, AppKit, Menu bar apps, Bluetooth LE - Web: TypeScript, Astro, Vite, Vercel, Cloudflare - CLI and tools: Rust, Python, Node, Local LLMs - Shipping: Code signing, Notarisation, Sparkle updates, GitHub Actions ## Contact - Email: contact@johannesgrof.me - Contact form: https://johannesgrof.me/#contact - github.com: https://github.com/jx-grxf - linkedin.com: https://www.linkedin.com/in/johannes-grof - x.com: https://x.com/johannesgrofdev - Privacy policy (German): https://johannesgrof.me/datenschutz/ - Imprint (German): https://johannesgrof.me/impressum/ ## Optional - [Full project texts](https://johannesgrof.me/llms-full.txt): every project with its description, problem, implementation and highlights. - [Sitemap](https://johannesgrof.me/sitemap.xml)