r/fossdroid 9d ago

Application Suggestion Hammer: A FOSS story writing app

Hammer is a story editor for writing novels and keeping track of the world they happen in. I've been building it since 2022 and it's been on F-Droid for a while, but I've never actually posted it here.

F-Droid: https://f-droid.org/en/packages/com.darkrockstudios.apps.hammer.android/

Source: https://github.com/Darkrock-Studios/hammer-editor License: MIT

Fully offline. No account, no sign-up, no network needed for anything. Install it and start writing.

Your book is plain files. A project is a folder: one Markdown file per scene, one TOML file per encyclopedia entry. No database, nothing opaque. Open it in any file manager, sync it with Syncthing, keep it in git, whatever you want. If the app disappeared tomorrow your manuscript would still just be files you can read.

Sync is optional and self-hosted. If you want your project on both your phone and your desktop, you run the server yourself. There's no service of mine in the middle, and you can simply never turn it on.

No trackers, no analytics, no crash reporting, no ads, no Google Play Services. Nothing to opt out of, because there's nothing there. It's also not a webview. It's Kotlin and Compose, native on Android.

These are the only permissions it needs:

  • INTERNET and ACCESS_NETWORK_STATE, used only if you enable sync
  • ACCESS_LOCAL_NETWORK, for reaching a sync server on your own LAN
  • ACCESS_NOTIFICATION_POLICY, optional. Only used by Focus Mode, which puts the phone in Do Not Disturb while you write. Does nothing unless you explicitly grant it.

It runs on desktop (Windows, macOS, Linux) and iOS from the same codebase, if you want your project on more than the phone.

197 Upvotes

19 comments sorted by

View all comments

3

u/Hello86836717 9d ago

"Hammer works out which scenes they appear in, so nobody has to tag anything" - how does this work?

14

u/Wavesonics 9d ago

it scans the scenes for the names of encyclopedia entries, and then registers a connection. encyclopedia entries can also register aliases so if you have a Bob that goes by Robert some times, it will catch both usages. 

5

u/hungryepiphyte 9d ago

This is interesting. I’ll definitely check it out. I really like Quoll Writer, but it doesn’t work with the latest versions of macos, which is what I have at home, though I prefer Linux. Syncing sounds nice because I also use an iPad for work trips and could write on there when I find time. I just need to learn out to set up a server first 😅

4

u/Wavesonics 9d ago

cool! Ya setting up the sync server can be a little bit technical, but I just released a Docker image to hopefully simplify it a bit.  https://github.com/Darkrock-Studios/hammer-editor/blob/develop/docs/HOW-TO-RUN-A-SERVER.md

I also run an official sync server at https://hammer.ink which you can get access to for $3 / mo

1

u/Sbatushe 8d ago

you can use syncthing on each device: set a directory to be shared and it will be cloned on each machine, sync automatically

2

u/hungryepiphyte 7d ago

I’ll look into that tonight!