Live Gold & Silver Prices:
a data app rebuilt for mobile.
A price-tracking app for gold, silver and currency rates, published on Google Play for the Turkish market. BBR designed and built it, then rewrote it as a dedicated mobile app when the first approach reached its limits.
- Product
- Precious-metal and currency price tracker, BBR’s own app
- Market
- Türkiye (Turkish-language interface)
- Platform
- Android, on Google Play; iOS project in the same codebase
- Stack
- Capacitor, HTML, CSS, plain JavaScript
- Device features
- Local notifications, haptics, splash screen, status bar
- Store title
- Canlı Altın Gümüş Fiyatları
Prices people act on have to be right.
In Türkiye, physical gold is an everyday savings instrument. People check the price of gram gold, quarter coins and silver the way others check a bank balance, and they buy and sell at jewellers whose prices include a margin over the raw market rate.
That last point shapes the whole product. An app that shows the international spot price converted to lira is technically correct and practically useless, because it is not the number a user will be quoted at the counter. The app’s job is to show prices that match what users encounter, update them through the day, and let users track what they own.
A wrapped website was not enough.
The first release wrapped the existing price website in a mobile shell and patched it for small screens. This is the fastest way to reach a store and it is a reasonable first step. It also has a ceiling: the page was built for desktop browsers, depended on external resources loaded over the network, and every mobile improvement meant fighting markup designed for something else.
For version two we stopped patching and wrote a dedicated mobile application: its own interface, stylesheet and application code, with no dependency on the website’s front end. Fonts and assets are bundled inside the app rather than fetched from a CDN, so the interface appears immediately and works on poor connections.
The general lesson. Wrapping a website is a valid way to test whether anyone wants the app. Once they do, a purpose-built mobile front end on the same data is usually a small project relative to the improvement it brings.
Decisions that mattered.
One source of truth for prices
The app reads a single periodically refreshed data feed that already contains the correct retail-adjusted rates. A faster streaming source exists, but overwriting the feed’s figures with raw streaming prices would silently remove the retail margin and show users a number they cannot actually trade at. So the stream is used only to derive how far the market has moved since the last refresh, and that movement is applied to the trusted figures. Users get prices that tick between refreshes without the numbers losing their meaning.
Alarms without a server
Users can set price alarms. These are delivered as local notifications scheduled on the device, so the feature needs no push infrastructure, no accounts and no user data leaving the phone.
Local-first user data
Favourites, portfolio entries, alarms and theme preference are stored on the device. When we rewrote the app, the storage formats from version one were kept readable and older entries are migrated automatically, so existing users kept their portfolios across the update. Quietly losing user data in a rewrite is one of the easiest ways to earn one-star reviews.
Removing a feature
An earlier build included cryptocurrency prices. The available free data source proved unreliable, and showing prices we could not stand behind was worse than showing none, so the section was removed entirely.
Asking for reviews politely
The app asks for a store rating only after several sessions across more than one day, and backs off for a week if the user declines. It is a small detail that respects the user and tends to reach people who actually have an opinion.
Relevance to client work.
- Domain detail beats technical purity. The retail-margin issue is invisible in a specification and obvious to every user. Finding that kind of detail is what discovery is for.
- Serverless where possible. Local notifications and on-device storage removed the need for accounts, a push service and a user database, along with the privacy obligations they bring.
- Rewrites must respect existing users. Data migration was planned as part of the rebuild, not discovered after release.
- Cross-platform from one codebase. The same Capacitor project contains Android and iOS targets. We explain when this approach fits in native vs cross-platform app development.
We do not publish download or revenue figures. The app is live on Google Play. If you are planning something with live data, alerts or a store release, our mobile app development and API integration pages describe how we would approach it.
Have a data-driven app in mind?
Let’s scope it.
Live data, alerts, offline behaviour and store release are all things we have worked through on our own products. Tell us what yours needs to do.
Discuss your project ↗