99 Francs
sales@99francs.agency

HQ Paphos, Cyprus · worldwide

Case study · Our own product

Timeslide: a world clock we designed and built natively for four platforms.

Each city is a card. Drag any card sideways and one shared time moves across all of them, with the weather for that hour on every card — so 10:00 in New York becomes Dubai and Tokyo at a glance. iPhone, Android, Mac and Apple Watch, each built natively. Timeslide is in beta, with the App Store and Google Play release coming.

Timeslide on three iPhones — night-sky city cards, cards with clouds and raindrops, and Home Screen widgets — with the Apple Watch app and the Mac menu bar window in front
ProductOur own product · built and run by 99 FrancsCyprus
PlatformsiPhone, Android, Mac, Apple Watch
StatusIn beta · App Store and Google Play coming soon
StackSwiftUI, Kotlin + Jetpack Compose
Languages8 in the apps and on the site
Direct answer

Our own world clock — one gesture, four native platforms, designed and built by 99 Francs.

Timeslide is a SwiftUI app for iPhone with WidgetKit widgets, a Mac menu bar app and an Apple Watch app, plus a Kotlin and Jetpack Compose app for Android with Glance widgets. One drag moves one shared time across every city card in 15-minute steps. It is in beta now; the App Store and Google Play release is coming.

Why we built it

Time zones, without counting on your fingers.

Remote teams, families abroad and frequent flyers all count hours on their fingers or fill in a converter form. We wanted one screen where you slide to a time and every city answers — and a product of our own to design and build on every platform it belongs on.

One gesture, one shared time

The model holds a single selected instant; empty means live now. Every card renders that instant in its own zone, so dragging any card moves all of them, in 15-minute steps.

Native on every platform

SwiftUI on iPhone, Mac and Apple Watch, Kotlin and Jetpack Compose on Android. The two phone apps are feature-for-feature ports, with file names that map almost one to one.

No accounts, no ads, no trackers

Weather requests carry only a city’s coordinates. Cities move between devices by a QR code or a link, and the 70,000-city search runs offline inside the app.

Timeslide onboarding: Slide — time moves everywhere, with a hand dragging the Amsterdam card
The gesture

Slide once. Every city moves.

A drag adds up raw minutes and snaps them to 15-minute steps. Dates roll over, skies change, and each card shows the hourly forecast for the moment you picked. A Now pill shows how far you have moved and takes you back to live time in one tap.

  • Swipe sideways → move time
  • Long-press and drag → reorder; the top city is home
  • Tap → change, rename, make home or remove
How it was built

One product, built natively four times.

One team did all of it: the product design, four native apps and their widgets, the shaders, the store screenshots and the landing site.

01

Product and design

One screen of city cards and one gesture. The first city is home; every other card shows its offset from it. Then five themes, from Light to a live Sky.

02

iPhone app and widgets

SwiftUI for iOS 26 and later, with WidgetKit Home Screen and Lock Screen widgets — city, pair, list and forecast — each with its own city, theme and 12/24-hour setting.

03

Android port

Kotlin 2.0 and Jetpack Compose, feature for feature, with Glance widgets. A change on one platform almost always ships on the other.

04

Mac and Apple Watch

A macOS menu bar app and an Apple Watch app where the Digital Crown moves time in 15-minute detents. iCloud keeps cities and look in step across iPhone, Mac and Watch.

05

Weather, shaders and cities

Open-Meteo hourly weather from yesterday to a week ahead, refreshed every 30 minutes. Clouds, rain on glass and a liquid-metal button are Metal shaders, ported to AGSL on Android.

06

Languages, site and listings

8 languages switchable inside the app, a landing site in the same 8, and App Store and Google Play screenshot sets with keyword research per locale.

Five themes

The same cards, five ways. One of them is the real sky.

Light and Dark for every day, Vivid Light and Vivid Black for colour, and Sky, where each card paints the sky over its city at that hour. Raindrops run down the glass and clouds drift past when the forecast says so.

Timeslide in the Light theme — white cards for Amsterdam, Dubai and New York with soft clouds and raindrops
Light
Timeslide in the Dark theme — charcoal cards with a ruler slider and green and red hour offsets
Dark
Timeslide in the Vivid Light theme — orange, pink and violet gradient cards on a light screen
Vivid Light
Timeslide in the Vivid Black theme — the same gradient cards on a black screen
Vivid Black
Timeslide in the Sky theme — each card shows the sky over its city at that hour, from night blue to dawn pink
Sky
Beyond the phone

On the wrist, in the menu bar, on the Home Screen.

The Watch moves time with the Digital Crown; the Mac with a sideways drag, a two-finger scroll or the sun on its arc. Cities travel between iPhone and Android by QR code, with no account on either side.

Timeslide Mac menu bar window with Amsterdam, Dubai and New York City cards and the sun on an arc across the first card
Mac menu bar app
Timeslide on Apple Watch: Amsterdam and Dubai cards with the time, weather and the +2H offset
Apple Watch app
Large Timeslide forecast widget for Amsterdam at 16:00 with the next six hours of weather
iPhone forecast widget
Timeslide on Android: the Transfer to another device sheet with a QR code, share link, copy link, scan code and paste link
Android · transfer by QR code
Hard parts

What a simple clock hides.

None of these show up in a design file. Each surfaced on a real device, and each is now something we plan for in client apps from the start.

Sliding time without fighting scroll

Cards sit in a vertical list, and dragging one sideways moves time. On iOS the pan only begins on horizontal velocity, so a vertical swipe still scrolls; on Android one gesture handler separates swipe, long-press reorder and tap.

Old time zone names

Older devices may only know Europe/Kiev where newer ones say Europe/Kyiv. Every zone goes through one helper, so a city never falls back to the wrong time.

A Mac doesn’t know its city

A Mac’s time zone only names some city in the right offset. On first launch the Mac app finds the real home city by IP geolocation, with a second provider as fallback.

Sync that can’t wipe your list

iCloud sync is newest-wins, but only a user’s own edit stamps the record. A fresh install’s default cities therefore never overwrite the list already in the cloud.

Widgets on Android’s terms

Glance collapses weighted spacers, so widget layouts overlay boxes instead. The clock is a native TextClock, and backgrounds and weather art are drawn as bitmaps.

One source for every string

127 keys in 8 languages live in one strings.json and are generated into Kotlin and Swift, so the two apps can’t drift apart and the language can be switched inside the app.

The apps

Feature for feature, iPhone and Android.

The same cards, weather, themes, widgets and offline search on both phones. Around them: App Store and Google Play screenshot sets, and a landing site generated by a small Node script from one template and a JSON file per language, with an hreflang sitemap and GSAP and Lenis motion.

Timeslide on iPhone: New York, London and Tokyo cards moved 10 hours ahead, with a Now pill to jump back
Timeslide on iPhone with weather on the cards: clouds over New York and raindrops running down the London card
Timeslide theme picker on iPhone: Dark, Light and Vivid Light previews with Amsterdam and Dubai times
Timeslide widgets on the iPhone Home Screen: a forecast widget for New York, a large clock and a New York–London pair
Timeslide city search on iPhone for “Sant”: Santiago, Santo Domingo and Santa Cruz with local time and offset
Timeslide on Android: New York, London and Tokyo cards in the night-sky look, moved 8 hours ahead
Where it stands

In beta, with the store release next.

The iPhone app is in beta through TestFlight, and the App Store and Google Play release is coming. Timeslide will be free for up to 3 cities, with 0 ads, 0 accounts and 0 trackers.

4

platforms, natively

iPhone, Android, Mac and Apple Watch, plus Home Screen and Lock Screen widgets on iPhone and Glance widgets on Android.

8

languages in the apps and on the site

English, German, Spanish, Italian, Portuguese, Russian, Ukrainian and Chinese — switchable inside the app.

~70,000

cities, searchable offline

A GeoNames city database ships inside the app, with Cyrillic names and “city, region” filtering after a comma.

Guides

Further reading

Design → native builds → widgets → store listings

Need an app that feels native on every device it lives on?

We design the product and build it natively for iPhone and Android, with the widgets, watch and desktop companions and store screenshots around it — the way we build our own.

SwiftUI · WidgetKit · Kotlin · Jetpack Compose · Metal · AGSL
A world clock where each city is a card. Drag any card sideways and one shared time moves across every card in 15-minute steps, with each card showing that hour's weather. It is made for anyone whose people live in other time zones: remote teams, families abroad and frequent flyers.
No. It is our own product. 99 Francs designed it and built the iPhone, Android, Mac and Apple Watch apps, the widgets, the store screenshots and the landing site. We build products for ourselves so we know first-hand what it takes to ship and maintain an app.
Not from the stores yet. Timeslide is in beta, with iOS testing through TestFlight, and the App Store and Google Play release is coming. The landing site at timeslide.pages.dev is up in 8 languages.
Swift and SwiftUI with WidgetKit, StoreKit 2 and iCloud key-value sync on iPhone, Mac and Apple Watch, generated with XcodeGen. Kotlin 2.0 and Jetpack Compose with Glance widgets and Play Billing on Android. Weather effects are Metal shaders ported to AGSL. Weather comes from Open-Meteo; cities from a GeoNames database inside the app.
The product lives in widgets, a menu bar, a watch face and GPU-drawn weather. Each of those is a native API — WidgetKit, Glance, the Digital Crown, Metal and AGSL — so we built each platform natively and kept the two phone apps feature for feature.

Yes. The same team designs the product, builds native iOS and Android apps with widgets and watch or desktop companions, and prepares the store listings. See mobile app design, iOS app development and Android app development.