[HN Gopher] Show HN: Tiny FOSS Compass and Navigation App (<2MB)
       ___________________________________________________________________
        
       Show HN: Tiny FOSS Compass and Navigation App (<2MB)
        
       Author : nativeforks
       Score  : 116 points
       Date   : 2026-01-14 11:09 UTC (11 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | miroljub wrote:
       | Nice. Without trying it, just by looking at screenshots, I wonder
       | how your navigation works.
       | 
       | Are you calculating the route or just pointing the user in the
       | general direction?
        
         | nativeforks wrote:
         | Currently, the app shows the user's live location with real-
         | time tracking on an OpenStreetMap-based map. It does not
         | calculate routes or provide turn-by-turn navigation instead, it
         | focuses on orientation and situational awareness.
         | 
         | I'm actively working on features like waypoint tracking,
         | offline maps, and a GPS speedometer. The goal is to keep
         | MBCompass a useful navigation utility, not a full routing app.
         | 
         | Routing isn't planned at the moment (maybe with plugins later),
         | since adding it would shift the app away from its core purpose
         | and increase complexity. The main priority is to remain fully
         | functional offline-friendly and extremely lightweight
         | (currently under 1.5 MB).
        
           | mastermedo wrote:
           | > The main priority is to remain fully functional offline-
           | friendly and extremely lightweight (currently under 1.5 MB).
           | 
           | By offline-friendly you're referring to the compass part
           | only, right?
           | 
           | Otherwise users would have to download the map in advance
           | which would take more that 2MB. Am I reading this right?
        
             | nativeforks wrote:
             | Good question! "Offline-friendly" mainly refers to the core
             | compass and sensor features, which work fully offline.
             | 
             | For maps, it's a bit different users initially see an
             | online basemap (requires internet). Instead of forcing them
             | to download an entire map upfront like some libraries
             | (e.g., MapsForge), they can crop or select specific areas
             | to download.
             | 
             | This makes it convenient to get only the map they need. Of
             | course, if they prefer online maps, the app will cache
             | tiles automatically. In remote areas, offline maps can be
             | used as planned.
        
       | rubymamis wrote:
       | As a FOSS maintainer myself, I recommend you to charge (a small
       | amount of) money for the app. People could always compile and run
       | the app themselves still, so paying for the app is a clear way to
       | support the project. I see that you have donation on your page,
       | but it rarely happens that people donate. Just my 2 cents.
        
         | nativeforks wrote:
         | Thanks for the suggestion. I do plan to publish the app on
         | Google Play as well. While much of the audience is FOSS-
         | oriented, there are also users who aren't familiar with open
         | source or compiling apps themselves, like here:
         | https://github.com/CompassMB/MBCompass/issues/48.
         | 
         | For them, donations are a simple way to support the project,
         | and they're definitely appreciated.
        
           | Milpotel wrote:
           | Some projects offer the app for free on Fdroid and charge a
           | small fee on Play. Might be an option as well.
        
             | nativeforks wrote:
             | Thanks! MBCompass will stay fully FOSS and free. Donations
             | are extremely rare (tbh, I've not received a single one),
             | especially from the Foss Android community, but they're
             | still very helpful for long-term sustainability (given
             | Google's non-sense Play monthly policies) and greatly
             | appreciated, especially for users new to open source.
        
               | embedding-shape wrote:
               | > (tbh, I've not received a single one),
               | 
               | Not true anymore! \o/ I don't use Android anymore, but I
               | agree a lot with the principles you've shared here, so
               | it's a thank you for sharing that. And I know how
               | difficult it is to get the first donations, and after you
               | get the first, it's much easier to get the later ones. So
               | best of luck, and I hope you'll remain steadfast with
               | your principles when it'll matter! :)
        
               | nativeforks wrote:
               | Thank you, that really means a lot. Consistency has been
               | important to me, whether it's shipping regular releases
               | with real improvements
               | (https://github.com/CompassMB/MBCompass/releases) or
               | writing about Android development and FOSS alongside the
               | project. I really appreciate the encouragement and
               | support.
        
               | jasonvorhe wrote:
               | You might add Bitcoin, Lighting or Monero to your
               | donations page. Would've gladly dropped you a few bucks
               | but I don't use any of the services you're offering.
        
       | jacquesm wrote:
       | Neat. If you want to make it more practically useful you will
       | need to include some kind of magnetic compensation map. That's
       | one of the reason navigation apps usually are a bit larger, they
       | require a lot of data to function well world wide. Best of luck
       | with this, it looks very promising!
        
         | nativeforks wrote:
         | Thanks! Currently, MBCompass can show both magnetic north using
         | Android's sensor fusion and true north (based on WGS84 geodetic
         | coordinates).
         | 
         | Adding a magnetic compensation map sounds like a great fit for
         | improving global accuracy without changing the app's core
         | goals. Thanks for the suggestion.
        
           | jacquesm wrote:
           | YW, there are some pretty compact representations possible of
           | that data but it will come at a considerable expense in
           | computational overhead.
           | 
           | https://www.ncei.noaa.gov/products/earth-magnetic-model-
           | anom...
           | 
           | Is a good starting point.
        
       | nativeforks wrote:
       | As part of the MBCompass v2 proposal, I'm working on:
       | 
       | - Waypoint tracking (with GPX import/export support)
       | 
       | - GPS speedometer
       | 
       | - Offline maps with offline POI search using GeoPackage (an OGC-
       | compliant standard supporting spatial queries)
       | 
       | I'd love to hear your thoughts or suggestions your feedback is
       | really appreciated!
        
       | spiffytech wrote:
       | I found MB Compass a few weeks ago and it's been very helpful for
       | everyday things. For example, I just moved to a new apartment and
       | I used the app to identify which room would get the best sunlight
       | for my office. Works great!
        
         | nativeforks wrote:
         | That's great to hear! Glad it's helping with everyday use cases
         | like that.
        
       | monegator wrote:
       | It's incredible how small apps get when you throw away all the
       | bullshit: useless frameworks, ads, third party libraries that
       | require you to include a huge binary.
       | 
       | People are always amazed when i show them my apps are 2-5 megs,
       | and that's because there's 2-5 megs of assets.
        
         | nativeforks wrote:
         | Exactly! That's exactly the philosophy behind MBCompass keeping
         | the core functionality focused and lightweight, without
         | unnecessary frameworks or bloat.
         | 
         | People are often surprised by how much you can do in under 2
         | MB.
        
           | monegator wrote:
           | There are also frameworks that don't bring in anything unless
           | required. I use B4X for most of my apps.
           | 
           | It has a fundamental issue, which is being single threaded
           | (with exceptions), but it's truly lightweight and easy to
           | extend, and the team behind it really know their business.
        
       | blamestross wrote:
       | A feature I have been looking for:
       | 
       | Let me indicate a location and point an arrow at it!
        
         | nativeforks wrote:
         | TBH, that's a great idea! It's actually on my roadmap for
         | MBCompass, something like waypoint tracking, where you can mark
         | a location and get a directional arrow to it. Appreciate the
         | suggestion!
        
       | PaganLecturer wrote:
       | I would like to say that an in app way of purchasing the app
       | would be great. Something like what FUTO software does. Just add
       | the card details and click pay button, easy two step process.
       | 
       | If you want to receive compensation for the work you put into
       | making the app, then you need to start treating it as work and
       | call it a payment and not donation.
        
         | nativeforks wrote:
         | Yep, I'm aware that many FOSS projects use in-app payments, but
         | for MBCompass, I want to keep it free on every platform,
         | regardless of the audience. Without funding or community
         | contributions, it's hard to maintain a FOSS project with
         | meaningful features and improvements, rather than just vague
         | "bug fixes/version bumps."
         | 
         | As a FOSS advocate, I started this project as a community
         | contribution to address the gap between user needs and
         | available apps.
         | 
         | I can maintain it long-term without major contributions, but
         | support really helps (especially maintaining in different apps
         | stores). I'm planning a non-intrusive in-app prompt to remind
         | users about donations something subtle, because many users
         | forget once they start using the app, rather than only seeing
         | the donation info in the README.
        
       | getpokedagain wrote:
       | This is a wonderful app. Thanks for making builds available via
       | Obtainium. You will be getting a donation shortly. I will
       | assuredly use this when I go hiking and fishing.
        
         | nativeforks wrote:
         | Thank you so much that really means a lot!
         | 
         | Beyond donating, the best way to support MBCompass is simply
         | spreading the word. That helps more people discover it,
         | contribute to it, and make it better for everyone.
        
       | rapnie wrote:
       | Just installed. It looks very neat, but I wonder how accurate the
       | compass is. I am in a train now on a completely straight track
       | and I get compass deviation of >60deg as if the train is making
       | curves all the time. OpenStreetmap places me in New York instead
       | of Netherlands.
        
         | nativeforks wrote:
         | > but I wonder how accurate the compass is
         | 
         | MBCompass uses sensor fusion for accuracy, combining sensor
         | data from the accelerometer, gyroscope, and magnetometer.
         | 
         | It is one of the most accurate compass apps. Don't trust my
         | words, try it with different apps on Google Play and with some
         | FOSS options like Compass by Philip Bobek:
         | https://f-droid.org/en/packages/com.bobek.compass
         | 
         | And importantly, for true compass accuracy, I'd recommend you
         | use the "true north" (magnetic declination) function, which
         | requires location access. It takes some time to lock GNSS hold
         | (the same goes for the current location button on the map view,
         | default map location is Paris, France), but if you're moving,
         | it locks pretty quickly and shows your current location with
         | tracking (if you're moving.)
        
         | cachius wrote:
         | Is it an electric train with power lines above? They produce
         | huge magnetic fields and will cause any compass to deviate.
        
       | ratmice wrote:
       | > Proprietary use, commercial redistribution, or publishing
       | modified versions with ads or tracking is strictly prohibited
       | under GPLv3 or later.
       | 
       | These all sound to me like "Further restrictions" which the GPL
       | says:
       | 
       | > If the Program as you received it, or any part of it, contains
       | a notice stating that it is governed by this License along with a
       | term that is a further restriction, you may remove that term.
       | 
       | It seems like if you want those clauses that GPL doesn't seem
       | like the license you want?
        
         | nativeforks wrote:
         | The reason I included that note is that, as an open-source
         | developer, I've seen many projects that weren't actively
         | maintained get picked up by bad actors as they modify the code
         | and publish it on Google Play with ads or IAPs. I wanted to
         | discourage that.
         | 
         | Other than this notice, MBCompass is fully licensed under GPLv3
         | or later.
        
           | ratmice wrote:
           | The sum of the note and the gpl doesn't behave as though the
           | notice has any precedence over the gpl. It behaves as
           | additional restrictions and a license that allows you to
           | ignore the additional restrictions. I'm no lawyer but it
           | seems like it isn't achieving what you want.
        
           | jasonvorhe wrote:
           | Maybe look into dual licensing. You could allow all free use
           | but require a custom license fee for all commercial use.
        
       | raybb wrote:
       | What a cool project and I really appreciate the way you are
       | emphasizing the foss nature of it.
       | 
       | Have you had any luck using vector maps? I know for the web SDKs,
       | vector maps are finally getting some love for OpenStreetMap, but
       | I'm not sure what the situation is on Android or if something
       | like https://openfreemap.org/ can be used.
        
       | z2 wrote:
       | Nice and thank you! I think there's a great opportunity to apply
       | the same love and care and compete with utility apps that tend to
       | come with ads and exploits today. Thinking of music
       | tuners/metronomes, barcode scanners, unit converters, bubble
       | levels, flashlight strobe apps.
        
       | maelito wrote:
       | Not many people know that compass on the Web is possible.
       | 
       | https://cartes.app/nord
       | 
       | Works on most Android phones.
       | 
       | I discovered that when I figured out that a Web map without a
       | position arrow is missing something.
       | 
       | Turns out, it was easy to implement. The Web has been so
       | forgotten for the profit of app stores that entreprises don't
       | even bother to check how capable it is.
       | 
       | I know offline maps (think Comaps) is possible on the Web, there
       | just isn't anyone that did implement it yet.
        
       ___________________________________________________________________
       (page generated 2026-01-14 23:01 UTC)