Stumblefish: a BeaconDB stumbler for Sailfish OS

Join The Motorcycle Fish on his mission to improve location fix times!

Stumblefish is a Sailfish OS location report collector for Geosubmit-compatible services. You can use it to make quick fixes more accurate around your location, both for you and everyone else near you.

It collects GNSS-backed Wi-Fi, cell tower, and optional BLE beacon observations, stores reports locally, and can upload them to a configurable submission endpoint. BeaconDB is the default endpoint. It has a background daemon that runs when the app is closed, that can either keep your location fix to continuously collect data, or opportunistically use your location when another app turns it on.

The reports it sends to BeaconDB aren’t very personally identifying, as anyone in the same place as you would produce the same data and there are no accounts or client ids.

It is heavily inspired by NeoStumbler. GitHub - mjaakko/NeoStumbler: New stumbler application for contributing data to geolocation services · GitHub . Many thanks to them for a great tool.

You can download it from Chum, OpenRepos or off of my GitHub repo. Source is here.

Any resemblance between The Motorcycle Fish and Mickey Rourke is purely coincidental. The Motorcycle Fish does not do it for Johnny. That was the other one.

45 Likes

Use it since a few weeks. Really like it! Its a lot fun to fill the gaps in the beaconDB :wink:

4 Likes

Been using it for a while (and you actually beat me to writing that app!). Thanks!

8 Likes

Very well-done app, thanks a lot!

Lovely that you have a daemon with useful dbus API - I’m planning to piggyback on that!

Would it be possible to show the BeaconDB data on the map as well?

Like beaconDB map

9 Likes

I would like that to! And another thing… is it meaningful to upload data from the same place multiple times?

1 Like

Yes I think that data gets reinforced each time it gets repeated. But you’d have to ask them.

4 Likes

Showing the beacondb coverage wasn’t trivial when I had a look. But I didn’t look very closely.

2 Likes

Looking at the network requests on the map page, it would seem the api is something like this:

GET https://basemap.beacondb.net/tiles/base.json

and this contains a tiles service like
https://basemap.beacondb.net/tiles/base/{z}/{x}/{y}.mvt

But I never studied all this map tile business so this may be irrelevant information.

4 Likes

Yeah, those are some weird protobuf vector tile files. I was thinking I’d wait until they start publishing data dumps and look at it again.

6 Likes

It definitely feels like the data gets reinforced. I have now collected data few weeks and I get all the time better and faster fix.

2 Likes

Nice project! I like that it stores reports locally and lets you choose when to upload them. I’ll give it a try and hopefully contribute some useful data to BeaconDB.

1 Like

Thanks… I’ve done the same thing, but wasn’t assure of the outcome.

1 Like

First day of holiday. Walking to and from railway stations gave some nice additions. The grandchildren liked the paths on the map

5 Likes

Been using it for a couple of weeks now. Lately I have let it run in the background. It makes a huge difference for usability as the phone always has a ready location!

2 Likes

Loving the map feature now, this app is fantastic. Come a long way in a short time!

7 Likes

@abranson Could you add support for My Backup to the applications you’re maintaining, like Stumblefish and Quickddit? It’s basically just adding the application’s data directories to the .desktop file, and it makes backing up a Sailfish device much nicer:

14 Likes

That’s a good idea. I’ll do that next release.

13 Likes

Did a vacation in Poland, and found that “Motorcycle Fish” was already a krasnal :slight_smile:

The MC krasnal is called Wentyl and he is a small bronze motorcyclist in Wrocław.
He was created by local motorcycle fans because there was no krasnal for bikers.
Wentyl stands near St. Mary Magdalene’s Church.
High above him, on the bridge between the church towers, are two more krasnals: Tekla and Martynka.
Tekla was punished for being lazy and had to sweep the bridge.
Martynka, a young witch, helped her break the curse.
So, at the same church, you can see a motorcycle krasnal and two witch krasnals. :motorcycle::woman_mage:

Great place, will have to do a revisit here!
Krasnals here:

–
foo

4 Likes

Does Stumblefish log output anywhere?

Somewhere along the way during my endless filesystem fiddling, I’ve accidentally broken Stumblefish and don’t know why it no longer collects reports. No matter how long it runs for, with other apps running and using GPS just fine, it never collects a single report :frowning:

To be clear, this is 100% my fault, as it worked before and since I’ve accidentally deleted a few directories it no longer works, but I’d love to know if there’s some output I can check to find which directories / files it’s missing so I may have a chance at putting them back.

Apart from reinstalling, you can check its files with

rpm --verify -v harbour-stumblefish

Local config lives at

~/.config/org.stumblefish/
~/.local/share/org.stumblefish/

and you can check

systemctl --user status harbour-stumblefishd.service
â—Ź harbour-stumblefishd.service - Stumblefish location report collector
Loaded: loaded (/usr/lib/systemd/user/harbour-stumblefishd.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2026-08-16 22:07:59 CEST; 1 day 10h ago
Main PID: 3522 (harbour-stumble)
CGroup: /user.slice/user-100000.slice/user@100000.service/harbour-stumblefishd.service
└─3522 /usr/bin/harbour-stumblefishd
3 Likes