Skip to content
Grus[Latin for crane]Beta

Yet another travel diary. But the good one.

Upload photos, import GPS tracks or record them on the go: Grus automatically assigns everything to the right trip, draws the route and plays it back as a slideshow. Free defaults come built in; your own accounts and storage are there if you want them.

  • Your own accounts
  • Your own storage
  • Self-hostable
  • AGPL-3.0
  • No AI involved
01 · Diary

A diary that fills itself

Photos and videos fall into order by capture time and place, read from the Exif data. The Inbox suggests which trip they belong to.

02 · Map

Routes drawn for you

The locations of your shots (from the Exif data) join up into a route. Add via-points, ferry and flight legs or a GPS track.

03 · Stage

Play it back

Full-screen photos and videos, start and end cards, captions. Or as split screen: photo and map at the same time.

04 · Sharing

Private until you share

Keep it private, send a link or publish it. Invite friends as viewers or editors.

How it works

Photos in, diary out.

You add the photos and tracks. Grus lays the trip out for you, and you stay in charge of what is shared.

  1. Add your photos and tracks

    Drop in photos and videos, import GPS tracks or record one in the app. Time and place come from the files themselves.

  2. The diary builds itself

    A timeline by day, a map and a route appear on their own. You add the words and fix what needs fixing.

  3. Play it back

    Watch the trip as a full-screen slideshow, or in split screen with photo and map at the same time.

  4. Share it, or don't

    Every trip starts out private. Invite people, send a link or publish it when you are ready.

Your data, your control

Your trips, your rules.

  • Private by default

    A new trip is visible to you alone until you decide to share it. Your files are stored encrypted.

    Security & privacy details
  • Your own accounts, or none

    Use your own map, routing and weather accounts, or just the free defaults: nothing to set up. Your photos can even live in your own storage.

    Accounts & storage details
  • Take everything with you

    Download every trip and original file as a ZIP, or run the whole thing on your own server: it is open source (AGPL-3.0).

    Self-hosting details
Get started

Your photos become a travel diary.

Upload the photos from your last trip and Grus turns them into a diary with timeline, map and slideshow. With your own accounts and storage, if you like.

Free with 512 MB of storage. Your account stays active as long as you sign in at least once every 12 months.

Roadmap

What is coming next.

Planned, roughly in order. No dates.

  1. Now

    In progress
    • A better full-screen viewer

      Controls that fade out while you look, double-click and pinch zoom, the next photo preloaded and sharper images on 4K screens.

    • Smarter flights and ferries

      Better recognition of flight and ferry legs from your photo times and places.

    • The Android app on more phones

      Testing GPS recording and uploads in the background on real devices from different makers, so they survive battery savers.

  2. Next

    Planned
    • Your own stops on the map

      Add free points with a title, date and note. They show up on the map and as cards in the slideshow.

    • Push notifications

      Optional notifications in the installed app, for example for an invitation or a finished export. Generic text only, never photo titles.

    • An iOS app

      The same app as a native app for iPhone and iPad.

    • App store releases

      Install from Google Play and the App Store instead of a direct download.

  3. Later

    Under consideration
    • Hide single photos from public trips

      Mark individual photos as not public in a trip you share by link or publish.

    • A desktop app

      A native app for Windows and macOS. The approach, and whether it should work offline, is still open.

This roadmap can change at any time. Nothing here is a commitment.

Early beta

Still growing, and honest about it.

Grus is in an early public beta. It already does what this page promises, but it is not yet rock-solid.

  • Things will change

    Features, screens and settings can still move, and something may break now and then. Expect rough edges.

  • Keep your originals

    Keep your own backup of every original photo and track. The file storage relies on the durability of its provider and has no second copy yet.

  • Feedback welcome

    Found a bug, or is something missing? Tell us. Every bit of feedback shapes what comes next.

Newsletter

Now and then, news from the crane.

Occasional emails about what's new in Grus. No tracking, no spam, and one click to unsubscribe.

More you can do

Go a little deeper.

Tap a card for the details and a look at how it works.

  • Just upload

    Just upload. The rest comes pre-sorted.

    Just drop photos and videos into the Inbox. Using capture time and place from the Exif data, it groups them into trips and suggests the matching one, or a new one. All that is left is to confirm.

    • A pause of more than 36 hours or a jump of over 300 km starts a new trip
    • If an existing trip covers those days it is preselected, otherwise a new one is suggested
    • Nothing moves until you confirm
  • Travel diary

    The timeline builds itself

    Grus reads day, time and place mainly from the Exif data of your photos. The trip is laid out by day, place names and weather are added. You add the words.

    • Dates and places come from the Exif metadata of your photos, nothing to type in
    • Edit titles, captions, dates and covers right on the page
    • Place names and weather come from your own accounts or from free defaults
  • Map & routes

    From photo spots to a route

    The locations of your shots, read from the Exif data, join up into a route. Correct it where the real trip went differently.

    • Routed legs between your photo spots, plus ferry lines and flight arcs
    • Drag via-points to bend a leg
    • Free OpenFreeMap maps, or with your own key MapTiler styles and satellite imagery
  • Smart suggestions

    Missing info? One suggestion is enough.

    When a photo lacks its location or date, Grus offers matching suggestions. Pick one and it is filled in.

    • Location suggestions from the photos before and after, the point in between and other photos of the trip
    • Date suggestions from the file name, from photos nearby on the same day and from the file's modified date
    • Or search a place (with your own account if you like), tap the map or type coordinates
  • Slideshow stage

    Your trip, played back

    A focused stage for the photos and videos of each day. Switch to split screen and you see the photo and the map at the same time.

    • Photos and videos full-screen, with a thumbnail strip to jump around
    • Start and end cards with your own words
    • Split screen on phone and desktop: photo and map at once, with a draggable divider on the desktop
  • GPS tracks

    GPS tracks next to your photos

    Import the track of a hike, ride or drive. Distance, ascent and elevation profile sit next to the photos taken along it.

    • Import GPX, KML and GeoJSON files
    • Record a track in the app while you travel
    • Tracks follow the trip's sharing: readers only see them if locations are shown
  • Sharing & collaboration

    Private until you say otherwise

    A new trip is visible to you alone. From there you choose: invite people, send a link or publish it.

    • Private, a secret link, or public
    • Invite people as viewers or editors — only you can delete or publish
    • Hide locations from readers with a single switch
For the technically curious

The details, if you want them.

Own accounts and storage, self-hosting and license, security and privacy: everything the short version leaves out.

Own keys & own storage

Bring your own keys (BYOK) for maps, routes and weather, and keep your files in your own S3 bucket.

BYOK (bring your own keys) from end to end: address search, places, routes, weather and maps can run on your own accounts, and your files can live in your own S3 bucket.

Your own provider for every service

Add your own keys for place search, place names, routes, weather and map tiles. You decide whose quota is used, and no service is tied to one fixed provider.

  • One ordered chain per service: if a key is rejected or used up, or the provider is unreachable, the next one takes over
  • One key can serve several services. It is stored encrypted and never shown again
  • Free defaults come last in the chain, and you can switch them off
  • Optionally lend your keys to a trip so editors can use them too (off by default)

Your own S3 bucket

Keep your files in an S3-compatible bucket you control instead of the instance's storage. It is yours, and so is the responsibility: the instance keeps no copy.

  • Any S3-compatible provider. The connection is tested before it is saved, the credentials are encrypted
  • Only ciphertext lies in the bucket, every file encrypted with your own key
  • No silent fallback storage: if the bucket is unreachable, uploads are refused instead of landing on the server in secret
  • Your recovery key decrypts the bucket even without this instance

Who is on board

Everything marked as built in works without an account or key. If you add your own key, it is tried first.

  • Routes

    Built in, no key needed

    • OSRM

    Bring your own key

    • OpenRouteService
    • Geoapify
  • Place search

    Built in, no key needed

    • Nominatim

    Bring your own key

    • Geoapify
    • MapTiler
  • Place names

    Built in, no key needed

    • Nominatim

    Bring your own key

    • Geoapify
  • Weather

    Built in, no key needed

    • Open-Meteo

    Bring your own key

    • Open-Meteo
  • Maps & satellite

    Built in, no key needed

    • OpenFreeMap
    • Mapterhorn · terrain

    Bring your own key

    • MapTiler
    • Google Maps · satellite
  • File storage

    Built in, no key needed

    • Instance storage

    Bring your own key

    • Your own S3 bucket (any S3-compatible provider)

This is the current list. More providers may follow later, or on request.

No key or bucket at hand? Free defaults and the instance's storage keep everything running. BYOK is an offer, not a requirement.

Self-hosting & license

Run it on your own server, open source under the AGPL-3.0, where the public instance runs and how you leave with your data.

Run it yourself, choose your services and your storage freely, and leave with your data whenever you like.

  • Self-hostable

    Two Docker images (web and CMS), a PostgreSQL database and an S3 bucket are enough. A guide for Coolify is included, other hosts work too.

  • No fixed provider

    Place search, routes, weather and maps are swappable: your own keys, fallback chains and free defaults as the last net. If one service fails, the next one takes over.

  • Free to leave

    Download trips and every original file as a ZIP. With the recovery key and a small script in the repository you decrypt your own bucket even without this instance.

  • No tracking, no ads

    No analytics, no ads, no tracking scripts. Map tiles come from the provider you choose.

Where the public instance runs

Both parts run in Germany, in data centres in Frankfurt.

  • App and server

    Hostinger · Frankfurt, Germany

    The website, the app and its server run on a Hostinger server in Frankfurt.

  • File storage

    Intercolo · Frankfurt, Germany

    Photos, videos and GPS tracks are stored in an S3 bucket at Intercolo in Frankfurt, encrypted at rest with your personal key.

That describes the public instance. If you host it yourself or connect your own S3 bucket, your data lives where you decide. Files are encrypted at rest. To show them to you, the server decrypts them, so whoever operates an instance could in principle open them.

Free software under the AGPL-3.0

The source code is licensed under the GNU AGPL-3.0: you can read it, audit it, run it yourself and adapt it. Anyone who offers it as a service must also publish their changes.

  • AGPL-3.0
  • Self-hosted
  • Own keys & storage
  • No tracking scripts
Read the license

Security & privacy

How your files are encrypted, what stays private, and where the protection ends.

What “encrypted at rest” means

It protects against

  • A leaked or misconfigured storage bucket
  • A stolen copy of the stored files
  • Anyone who gets only the files or only the database

What it is not

This is not end-to-end encryption. To show you your photos the server decrypts them, so whoever runs it and holds the instance key could in principle open them. Pick an operator you trust, or run it yourself.

Your key is itself locked with the instance key, which lives in the server's configuration, apart from files and database.

  • Encrypted at rest

    Every original and every resized version is encrypted with AES-256-GCM before it is stored, so files sit in storage only as ciphertext. Each person has their own random key.

  • No public files

    The storage bucket is never public. Photos are served through signed links that expire after one to two hours, handed out only to people allowed to see the trip.

  • Private by default

    A new trip is visible to you alone. Invite people as viewer or editor, share a link or publish it. Only the owner can share, publish or delete.

  • Locations stay private

    People you share a trip with only see where a photo was taken if you switch that on. Your saved home location is never part of a shared view.

  • Your keys, sealed

    API keys for place search, routes and weather, and the credentials of your own bucket, are sealed with your personal key and never shown again. You lend keys to a trip only if you agree.

  • Two-factor authentication (2FA)

    Protect your account with an authenticator app and recovery codes. Once 2FA is on, it is required on every way in, the admin area included.

  • Your data, your call

    Download your trips and every original file as a ZIP whenever you like. Delete your account with a grace period (14 days by default) to change your mind.

  • Open source
  • Self-hosted
  • Encrypted by default

© 2026 Grus

  • Location data © OpenStreetMap contributors
  • Weather data by Open-Meteo.com
  • Map tiles by OpenFreeMap, map data © OpenStreetMap contributors
  • Licensed under GNU AGPL-3.0