Welcome to Dark Rock Studios. My mission is to create useful, high-quality software that's accessible to everyone. My apps are free and open source, and focus on privacy and offline first operation.
If that sounds good, I'd love your support!
Hammer
A simple tool for building stories.
The Hammer Editor is a versatile and user-friendly tool for building stories, available across multiple platforms including phone, tablet, and desktop.
Designed for offline use, it stores your data in human-readable files, giving you full control over your content. Enjoy seamless, intelligent syncing between devices, allowing you to work on your stories from anywhere without concern for overwriting.
With adaptable light and dark modes and responsive design, Hammer ensures a comfortable and productive writing experience.
SnapSafe
Snap pics of anything, safely.
We capture photos locally, encrypt everything in private storage, let YOU decide if GPS tags are added, and strip out tell‑tale metadata automatically.
More projects
apps, games, and libraries · tap through for the full story
Open Source Libraries
permissively licensed · kotlin / godot · use them in anything
Compose Text Editor
Compose has been missing a Rich Text Editor since its inception. This library attempts to fill the gap. It handles large documents and fully flexible rich text.
The flexibility afforded by it has been used to implement a fully cross-platform Spell Checking solution. The first of it's kind in the Kotlin/Multiplatform world.
SymSpellKt
A Kotlin/Multiplatform port of the SymSpell algorithm. Designed for performance, it brings edit-distance-based spell checking to any Kotlin target.
FDic
A binary file format for frequency dictionary libraries. It is both 40% smaller on disk, and 70% faster to load and parse than text-based frequency dictionaries.
A native CLI program is provided to encode frequency dictionaries into the .fdic format.
PlatformSpellCheckerKt
A Kotlin Multiplatform wrapper around each platform's native spell checker system — one API in common code, the platform's own dictionaries and suggestions underneath.
RtfParserKmp
An idiomatic Kotlin Multiplatform RTF reader and writer, ported from RTFParserKit. Runs on JVM, Android, iOS, JS, WebAssembly, and Native.
epub4kmp
A Kotlin Multiplatform library for reading, writing, and manipulating EPUB files, with improvements built on epub4j.
Godot Opus
Opus is an industry standard library for compressing real-time audio for VOIP applications. Godot Opus is a library implementing Opus in an easy to consume library for Godot 3.x games to implement voice chat.
LAN Server Broadcast
A simple Godot 3.x library enabling peer-to-peer server browsers in Godot games. No match-making server required, great for LAN games.
Support FOSS Development
free software, alive and shipping · if it's useful, help it continue
I think Free and Open Source development is an unalloyed good in the world.
It fills niches that commercial development can't justify, and helps people who can't now, or maybe ever, pay for the software they want or need.
It provides auditable code to protect privacy and security in a world increasingly dominated by bad faith corporate interests.
The code it's self can serve as a springboard for new developers who can dive in and learn how an interesting thing is done, and become better developers for it.
I make free end-user applications, as well as permissively licensed libraries for the wider developer ecosystem. If you believe as I do that Open Source software is an important good in the world, then I'd love your support.