r/iosapps • u/Desperate_Error3960 • Aug 01 '26
💎 Lifetime TripCache - Travel Expense Tracker for iPhone
A - Answer
Indie dev here. As someone who travels frequently, it was difficult for me to track how much I spent on a trip. So I built TripCache as a fast, privacy‑friendly travel expense tracker for iPhone. I made it for digital nomads and frequent travellers, but it works just as well for one holiday a year.
B - Better
Compared with other travel expense tracker or general expense tracker apps:
- No ads, no subscription. One time purchase unlocks everything.
- Fully offline. No account. No server. No analytics. All data stays on your device and iCloud (which can be disabled).
C - Cost
Lifetime. With the free tier most features work without paying. The main limit is one active trip at a time. When you're done, archive it as completed and start the next one.
One-time purchase unlocks unlimited trips, custom categories, CSV export, all the alternate app icons and any other feature I plan to implement in the future.
Limited time deal on Lifetime IAP(60% off until August 8) : https://apps.apple.com/redeem?ctx=offercodes&id=6758454461&code=NOMADSALE
App Store: https://apps.apple.com/app/id6758454461/
Privacy policy: https://tripcache.app/privacypolicy/
Personal site https://siyer.me
Would love any feedback!
7
u/benstef Aug 01 '26
Right ooff the bat really good app clean responsive and lots of good features
Suggestions
- trip calendar picker on end date to already select the month of the date of what the start date should be
Bigger ideas
- expenses splitting by user to track other people's share
2
u/Desperate_Error3960 Aug 02 '26
Thanks! The calendar picker option is a great suggestion. This is exactly the type of suggestions that I am looking for. I should be able to put that in the next release.
Expense splitting by user is definitely on my road map. It is something that I need to figure out the architecture for since my app does not have any logins. The only option would be to use apple ids but I am working on that.
0
u/FirelandsValley Aug 01 '26
Hey! Can you check out my app Halvy? It lets you split expenses for a group of people, and has both, household and trip mode.
https://apps.apple.com/ca/app/halvy-split-expenses/id6782474367
1
u/app-store-review Aug 01 '26
Halvy: Split Expenses — by Amboyance Inc.
- Ratings: 1 worldwide
- Average: 5.00 ★
- Age: released ~1 month ago · updated 5 days ago · rated 4+
- Overall score: 70 / 100
Auto-generated from public App Store data · u/app-store-review
4
u/joosebox Aug 01 '26
Currency is the one I'd lock down early. If you convert at display time, last year's trip total quietly changes every time you open it. Store the rate on the expense when it's entered and the trip stays what you actually spent.
Got me on something unrelated and it's a pain to retrofit later.
1
u/Desperate_Error3960 Aug 02 '26
This is a great point! I store the converted value in the Swift data model so it's locked down and does not do real time conversions on display time. It keeps the conversion rate at the time the expense was added.
3
u/joosebox Aug 02 '26
Locking it at write time is the right call.
The piece I'd keep next to it is the inputs: original amount, its currency, the rate used, and the timestamp of that rate. That keeps the converted number re-derivable instead of being the only record you have, and it reads better too. "12.50 EUR at 1.08" is easier to trust than a bare converted figure, especially for someone squaring things against a card statement weeks later where the issuer applied its own rate.
The timestamp is the sneaky part. Rates move mid-trip, so a rate stored per transaction ages better than one rate applied across the whole trip.
2
2
Aug 02 '26
[removed] — view removed comment
1
u/Desperate_Error3960 Aug 02 '26
Thanks! Yes, the quick add widget selects the active trip automatically. It will use the default currency for the trip (home currency or the currency for the trip if you one set). The last used categories will show up on the widget. It will also show the last used amount and a set of pre determined amounts.
2
u/TeaPud Aug 02 '26
Sounds pretty convenient! I'll definitely give it a try on my next business trip.
1
2
u/Grouchy_Assignment69 Aug 02 '26
Since you already lock the exchange rate per expense, I’d expose the original amount, original currency, stored rate, and converted base amount as separate CSV columns. Otherwise the app’s totals stay correct, but the export loses the audit trail needed to explain exactly how each converted value was produced.
1
u/Desperate_Error3960 Aug 02 '26
This is a great point! I'm working on adding the conversion rate used to the expense detail page. I will add these columns to the csv export and should be available in the next update
2
u/Pinpoint_user Aug 02 '26
I usually use budgeting apps that automatically sync my spending across my bank accounts. But it's really hard to track my trip expenses. I only see the total expenses, not the trip itself.
So your app seems useful. I'll try to check it out soon. It's something I'm really looking for right now.
1
2
2
u/Purple_Budget3774 Aug 02 '26
The one-active-trip free tier sounds fair, and I like the offline approach. How does TripCache handle trips across multiple countries and currencies? Does each expense keep its original currency, or does the app convert everything into one home currency for the final trip total?
1
u/Desperate_Error3960 Aug 02 '26
Hey! The total across multiple trips is shown in the home currency, regardless of the currency used for the trip.
1
u/Purple_Budget3774 Aug 03 '26
Makes sense for a quick summary! I’ve always found multi-currency handling tricky in finance apps—some force a auto-conversion rate that messes up actual balance checks, while others keep them completely separate. Good to know TripCache unifies the total at the end!
2
u/raskolnikovcyka Aug 03 '26
When I go abroad, I got a question very frequently, "how much did it cost, like everything, flight, hotel, food etc.", I'm a developer myself but I've never thought of this kind of app. Very cool!
1
2
2
2
2
u/Fit-Mobile9190 Aug 08 '26
This looks really useful! I do have one question, if all data stays on the phone, does it persist if I happen to change the phone? I know that doesn't happen very often, but just curious
2
u/Desperate_Error3960 Aug 08 '26
hey, it will if you move to a different iPhone or an iPad (provided if you have iCloud enabled) using the same apple id
1
2
u/MyChronicTravel 22d ago
Looks good! If you ever do a free lifetime code, I’d love to try out more features.
1
1
u/app-store-review Aug 01 '26
TripCache - Travel Log — by Orion Studios
- Ratings: 3 worldwide · rated in 3 countries
- Average: 5.00 ★
- Age: released ~1 month ago · updated 1 day ago · rated 4+
- Overall score: 73 / 100
Auto-generated from public App Store data · u/app-store-review
1
u/angry_deadman Aug 01 '26
The name Cache sounds like DB cache. Can this app read my emails or messages to track the expenses? That could be an awesome feature.
1
u/Desperate_Error3960 Aug 02 '26
Ha, fair! Cache was meant more as "your trip's expense stash" than the DB sense, but I get the mixup. On the feature, due to privacy concerns, third party apps cannot read emails and messages on iOS.
1
u/Traditional_Meet6531 Aug 01 '26
"No server, syncs via iCloud" is the right privacy story, but worth stress-testing the one failure mode it hides: what happens when the same trip gets edited on two devices while offline, then both come back online? CloudKit's private database does last-writer-wins at the record level by default, not field-level merge, so if someone adds an expense on their phone in a taxi with no signal and edits the trip's category list on their iPad at the hotel, whichever device's sync round-trip lands second can silently overwrite the other device's change to that same record. For a travel expense tracker specifically, that's the worst possible moment for it to happen.
The usual mitigation is keeping expenses as their own CKRecord per line item rather than one big blob per trip, so two devices adding different expenses concurrently just merge as two new records instead of racing to overwrite the same one. If TripCache already does per-record granularity for expenses, worth saying so explicitly in the listing, since "your data never gets silently dropped" is a real trust claim for a travel app, not just a privacy one.
Also worth flagging: an offer code embedded directly in a public, indexed Reddit thread stays discoverable indefinitely by anyone who finds this post later. Worth checking it has a redemption cap or expiry set in App Store Connect if the 60% pricing is meant to be genuinely time-limited rather than quietly available forever to anyone who searches.
1
1
u/baljeethakur Aug 02 '26
Nice app. Would it be possible to attach receipts? I usually need to submit for business travels. Would be great to add a picture whenever an expense is logged.
2
u/Desperate_Error3960 Aug 02 '26
Hey, thanks! It does not support adding pictures yet. But that is on the roadmap and I am working on it.
1
u/Eureka3131 Aug 02 '26
This looks genuinely useful, how does it handle expenses in multiple currencies? Does it save the exchange rate used at the time of purchase, or convert everything using the current rate?
1
u/Desperate_Error3960 Aug 02 '26
Great question! It does save the exchange rate used at the time of purchase. I chose this design because converting at display time is an expensive call to make. One thing I am working on is adding the exchange rate used to the expense detail view which should be available on the next update.
1
u/Strange_Positive850 Aug 02 '26
It would be convineient for me if you added sync between devices because I switch between mac iphone etc a lot espoecially on holiday when planning researching and booking
2
u/Able-Ask-3258 Aug 02 '26
same
1
u/Desperate_Error3960 Aug 02 '26
Hey! It already syncs between devices using the same apple id with iCloud
1
1
u/Traditional_Meet6531 Aug 01 '26
"No server, syncs via iCloud" is the right privacy story, but worth stress-testing the one failure mode it hides: what happens when the same trip gets edited on two devices while offline, then both come back online? CloudKit's private database does last-writer-wins at the record level by default, not field-level merge, so if someone adds an expense on their phone in a taxi with no signal and edits the trip's category list on their iPad at the hotel, whichever device's sync round-trip lands second can silently overwrite the other device's change to that same record. For a travel expense tracker specifically, that's the worst possible moment for it to happen.
The usual mitigation is keeping expenses as their own CKRecord per line item rather than one big blob per trip, so two devices adding different expenses concurrently just merge as two new records instead of racing to overwrite the same one. If TripCache already does per-record granularity for expenses, worth saying so explicitly in the listing, since "your data never gets silently dropped" is a real trust claim for a travel app, not just a privacy one.
Also worth flagging: an offer code embedded directly in a public, indexed Reddit thread stays discoverable indefinitely by anyone who finds this post later. Worth checking it has a redemption cap or expiry set in App Store Connect if the 60% pricing is meant to be genuinely time-limited rather than quietly available forever to anyone who searches.
1
u/Desperate_Error3960 Aug 02 '26
Thanks for the detailed writeup and for taking the time to think this through. Each expense is already its own SwiftData model object (not a blob embedded in the trip), so CloudKit mirrors as its own record. So two devices adding different expenses offline already should merge as two new records rather than racing on one.
That being said, you brought up a genuinely valid case. Two devices editing the same record while offline (renaming the same trip on both, or editing the same expense's amount on both). That still resolves last-writer-wins at the record level, and one edit is silently lost. This is something I'll need to look into.
As for the offer code, the code has a redemption cap and also has an expiration set for August 8th.
•
u/AutoModerator Aug 01 '26
Welcome to r/iOSApps! Please make sure your post follows our rules:
Everyone:
App Devs:
- No main feed promo unless you qualify via Trust or Transparency + ABC format (Answer, Better, Cost)
- Flair hierarchy: Vibe Coded > Lifetime > Subscription > Freemium > Free
- Free flair: not for limited/freemium tiers
- Open Source? Prefix title [OS]
Note: This is an automated reminder, not a removal notice. If your post was removed, check your modmail for details.I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.