<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title>k-forge blog</title>
<subtitle>Notes from building walker: GPS, offline maps, batteries and your data, and the maths behind it.</subtitle>
<link href="https://k-forge.dev/blog/feed.xml" rel="self"/>
<link href="https://k-forge.dev/blog"/>
<id>https://k-forge.dev/blog/feed.xml</id>
<updated>2026-09-28T00:00:00Z</updated>
<author><name>Malik</name></author>
<entry>
<title>Offline map of Tyrol for hiking: districts and sizes</title>
<link href="https://k-forge.dev/blog/offline-map-of-tyrol"/>
<id>https://k-forge.dev/blog/offline-map-of-tyrol</id>
<published>2026-09-28T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="For walkers"/>
<summary>Tyrol's nine districts measured: how big each map and its terrain are to download, which ones a trip from Innsbruck needs, and how to test them offline.</summary>
</entry>
<entry>
<title>Record a hike with your phone: what the recording needs</title>
<link href="https://k-forge.dev/blog/record-a-hike-with-your-phone"/>
<id>https://k-forge.dev/blog/record-a-hike-with-your-phone</id>
<published>2026-09-28T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="For walkers"/>
<summary>Location, battery, an offline map and free space: set up once, try it on a short test walk, then check the track and keep a copy of it.</summary>
</entry>
<entry>
<title>TopPlusOpen and aerial photos offline: official maps</title>
<link href="https://k-forge.dev/blog/official-topographic-maps-offline"/>
<id>https://k-forge.dev/blog/official-topographic-maps-offline</id>
<published>2026-09-28T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="For walkers"/>
<summary>What Germany's official topographic map and the states' aerial photos show, what their open licences allow, the credit they ask for, and where they stop.</summary>
</entry>
<entry>
<title>An app with no server</title>
<link href="https://k-forge.dev/blog/an-app-with-no-server"/>
<id>https://k-forge.dev/blog/an-app-with-no-server</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="Under the hood"/>
<summary>walker has no server, no account and no sync. How it keeps everything on the phone, how its encrypted backups work, and what that costs.</summary>
</entry>
<entry>
<title>Cleaning GPS tracks with a factor graph on a phone</title>
<link href="https://k-forge.dev/blog/cleaning-gps-tracks-with-a-factor-graph"/>
<id>https://k-forge.dev/blog/cleaning-gps-tracks-with-a-factor-graph</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="Under the hood"/>
<summary>How walker cleans GPS tracks on the phone: a hand-rolled factor graph with steps, the barometer and raw satellites, and what it measured.</summary>
</entry>
<entry>
<title>Hiking with offline maps on Android</title>
<link href="https://k-forge.dev/blog/offline-maps-for-hiking-on-android"/>
<id>https://k-forge.dev/blog/offline-maps-for-hiking-on-android</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="For walkers"/>
<summary>Why your hiking map should work without signal, how to download and test it before you go, and what an offline map can and can't do.</summary>
</entry>
<entry>
<title>Making contour lines and hillshading on the phone</title>
<link href="https://k-forge.dev/blog/contour-lines-and-hillshading-on-the-phone"/>
<id>https://k-forge.dev/blog/contour-lines-and-hillshading-on-the-phone</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="Under the hood"/>
<summary>How walker turns open lidar terrain into hillshading and contour lines on an Android phone: Horn's method, marching squares, Douglas–Peucker and MVT.</summary>
</entry>
<entry>
<title>Own your walks: GPX export and backups</title>
<link href="https://k-forge.dev/blog/own-your-walks-gpx-and-backups"/>
<id>https://k-forge.dev/blog/own-your-walks-gpx-and-backups</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="For walkers"/>
<summary>What a GPX file is, how to get your walks out of Strava, Komoot or Garmin Connect, and how to keep a backup that outlives any app or phone.</summary>
</entry>
<entry>
<title>Using every satellite your phone measures</title>
<link href="https://k-forge.dev/blog/every-satellite-your-phone-measures"/>
<id>https://k-forge.dev/blog/every-satellite-your-phone-measures</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="Under the hood"/>
<summary>How walker uses Android's raw GNSS measurements from five satellite systems and two bands on the phone, and what it gained on a real ride.</summary>
</entry>
<entry>
<title>What your walking app knows about you</title>
<link href="https://k-forge.dev/blog/what-your-walking-app-knows"/>
<id>https://k-forge.dev/blog/what-your-walking-app-knows</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="For walkers"/>
<summary>A walk track shows where you live and when you are out. Real cases of fitness data exposing people, and the settings that keep your home private in any app.</summary>
</entry>
<entry>
<title>When Android stops your tracker in the background</title>
<link href="https://k-forge.dev/blog/when-android-stops-your-tracker"/>
<id>https://k-forge.dev/blog/when-android-stops-your-tracker</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="For walkers"/>
<summary>Keep your hike's track whole: why Android stops a recording in the background, which phone settings prevent it, and how to tell when it happened.</summary>
</entry>
<entry>
<title>Why every app shows a different elevation gain</title>
<link href="https://k-forge.dev/blog/why-elevation-gain-differs"/>
<id>https://k-forge.dev/blog/why-elevation-gain-differs</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="For walkers"/>
<summary>Same hike, three different climbs. Why GPS height, the barometer, terrain maps and sea level all disagree, and which figure to trust.</summary>
</entry>
<entry>
<title>Why your GPS track is longer than the walk you took</title>
<link href="https://k-forge.dev/blog/gps-track-longer-than-the-walk"/>
<id>https://k-forge.dev/blog/gps-track-longer-than-the-walk</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="For walkers"/>
<summary>GPS noise makes almost every recorded walk too long. Why that happens, why two apps disagree, and how cleaning a track takes the extra out.</summary>
</entry>
<entry>
<title>Writing a whole Android app in Rust</title>
<link href="https://k-forge.dev/blog/android-app-in-rust"/>
<id>https://k-forge.dev/blog/android-app-in-rust</id>
<published>2026-09-27T00:00:00Z</published>
<updated>2026-09-28T00:00:00Z</updated>
<category term="Under the hood"/>
<summary>walker is an Android app written in Rust: egui on wgpu, offline vector maps, an embedded SurrealDB and a little Java. What worked and what hurt.</summary>
</entry>
</feed>
