Lisbon → Porto
May 4 – May 10
1267 days313 km
PrivateTrack
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.
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.
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.
Play it back
Full-screen photos and videos, start and end cards, captions. Or as split screen: photo and map at the same time.
Private until you share
Keep it private, send a link or publish it. Invite friends as viewers or editors.
You add the photos and tracks. Grus lays the trip out for you, and you stay in charge of what is shared.
Drop in photos and videos, import GPS tracks or record one in the app. Time and place come from the files themselves.
A timeline by day, a map and a route appear on their own. You add the words and fix what needs fixing.
Watch the trip as a full-screen slideshow, or in split screen with photo and map at the same time.
Every trip starts out private. Invite people, send a link or publish it when you are ready.
A new trip is visible to you alone until you decide to share it. Your files are stored encrypted.
Security & privacy detailsUse 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 detailsDownload 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 detailsUpload 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.
Planned, roughly in order. No dates.
Controls that fade out while you look, double-click and pinch zoom, the next photo preloaded and sharper images on 4K screens.
Better recognition of flight and ferry legs from your photo times and places.
Testing GPS recording and uploads in the background on real devices from different makers, so they survive battery savers.
Add free points with a title, date and note. They show up on the map and as cards in the slideshow.
Optional notifications in the installed app, for example for an invitation or a finished export. Generic text only, never photo titles.
The same app as a native app for iPhone and iPad.
Install from Google Play and the App Store instead of a direct download.
Mark individual photos as not public in a trip you share by link or publish.
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.
Grus is in an early public beta. It already does what this page promises, but it is not yet rock-solid.
Features, screens and settings can still move, and something may break now and then. Expect rough edges.
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.
Found a bug, or is something missing? Tell us. Every bit of feedback shapes what comes next.
Tap a card for the details and a look at how it works.
Just upload
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.
Travel diary
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.
Map & routes
The locations of your shots, read from the Exif data, join up into a route. Correct it where the real trip went differently.
Smart suggestions
When a photo lacks its location or date, Grus offers matching suggestions. Pick one and it is filled in.
Slideshow stage
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.
GPS tracks
Import the track of a hike, ride or drive. Distance, ascent and elevation profile sit next to the photos taken along it.
Own accounts and storage, self-hosting and license, security and privacy: everything the short version leaves out.
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.
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.
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.
Everything marked as built in works without an account or key. If you add your own key, it is tried first.
Built in, no key needed
Bring your own key
Built in, no key needed
Bring your own key
Built in, no key needed
Bring your own key
Built in, no key needed
Bring your own key
Built in, no key needed
Bring your own key
Built in, no key needed
Bring your own key
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.
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.
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.
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.
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 analytics, no ads, no tracking scripts. Map tiles come from the provider you choose.
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.
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.
How your files are encrypted, what stays private, and where the protection ends.
It protects against
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.
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.
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.
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.
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.
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.
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.
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.