Skip to content

Repository files navigation

πŸ“± WP Launcher

Bringing the Windows Phone "Live Tiles" Metro experience back to modern Android

WP Launcher live preview

Platform Kotlin Jetpack Compose minSdk UI License: MIT Status Download APK


πŸ“₯ Download

⬇️ Download the APK (v1.0-beta) and install it on any Android 6.0+ device β€” or browse all releases.

It's a debug build, so Cortana runs fully offline (no Gemini key needed). Enable install from unknown sources, open the .apk, and you're back on Windows Phone. πŸ“±


πŸ’œ Why this exists

Windows Phone was discontinued years ago, but for many of us its Metro design language never stopped feeling like the future: bold typography, flat color, motion with purpose, and a home screen made of Live Tiles that breathed with your day.

WP Launcher is a love letter to that era. It is an Android home-screen launcher that faithfully recreates the Windows Phone / Windows 10 Mobile experience and replaces your Android home screen entirely β€” the tilting tiles, the flip animations, the jump-list app drawer, the Action Center, the Metro lock screen, even a "Cortana" you can chat with. It is free and open source, because that design deserves to live on.

If you ever missed your Lumia, this is for you.


🎬 Demo video

A full ~53-second narrated walkthrough is included in the repo, in both languages:

WP-Launcher-presentation-EN.mp4

The animated preview at the top of this page (presentation/demo.gif) gives you a quick taste.


✨ Features

🟦 Live Tiles home screen

  • Dynamic tiles that tilt in 3D under your finger as you press them.
  • Tiles flip in 3D to reveal back content β€” weather, calendar, photos, and more.
  • Three tile sizes: SMALL, MEDIUM, and WIDE.
  • An edit mode to pin, resize, reorder, and unpin tiles.

πŸ”€ All Apps & search

  • Alphabetical A–Z app list with a jump-list index for fast navigation.
  • Built-in search to find any installed app instantly.

βš™οΈ Windows 10 Mobile-style Settings

  • Categorized settings list with authentic WP-style toggles.
  • About a dozen accent colors to personalize the whole system.
  • Wallpaper and parallax options.

πŸ—£οΈ "Cortana" assistant

  • An in-app chat assistant backed by the Google Gemini API (in French).
  • Text-to-speech voice replies.
  • Works offline too: with no API key configured, Cortana falls back to canned local answers, so the app is fully usable without a key.

πŸ”” Action / Notification Center

  • Pull it down for quick toggles β€” Wi-Fi, Bluetooth, Airplane mode, Location.
  • Metro-style notifications.

πŸ”’ Lock screen

  • Metro lock screen with a live clock and your next calendar event.

⚑ Performance mode

  • Auto-detects modest hardware and offers to simplify animations to stay fluid: the 3D tilt becomes a zoom, the 3D flip becomes a fade.
  • Also available as a manual toggle in settings.

🎨 Windows Phone icon pack

  • Renders app icons as flat white Metro glyphs.
  • Smart transparency detection so full-bleed icons keep their original look.

🏠 True launcher integration

  • Registers as the default HOME launcher via Android RoleManager.ROLE_HOME.
  • Hides the real Android status bar to avoid duplication with its own WP-style status strip.

🧰 Tech stack

Layer Technology
Language Kotlin
UI Jetpack Compose + Material 3
Architecture Single-Activity MVVM
Persistence Room (local database)
Async / state Kotlin Coroutines + StateFlow
Networking Retrofit + Moshi
Codegen KSP
AI assistant Google Gemini API (with offline local fallback)

πŸ”¨ Build it yourself

Requirements

  • Android Studio (or a standalone Android SDK + an installed gradle).
  • An Android device or emulator running Android 6.0 (API 23) or newer.

⚠️ No Gradle wrapper is committed to this repository. Use Android Studio's built-in Gradle integration, or an installed gradle from your command line (./gradlew will only work if a wrapper is added later).

Build the debug APK

gradle :app:assembleDebug

Or simply open the project in Android Studio and run the app configuration.

Property Value
minSdk 23
targetSdk 36
versionName 1.0

πŸ”‘ Gemini API key (optional)

The "Cortana" assistant can use the Google Gemini API, but it is completely optional β€” without a key, Cortana answers using local fallback responses, so the app builds and runs with no configuration.

To enable the online assistant:

  1. Copy the example env file:
    cp .env.example .env
  2. Set your key in .env:
    GEMINI_API_KEY=your_key_here

The key is read from .env at build time and exposed to the app. When it is missing or left as the placeholder, the offline fallback is used automatically.


πŸ—‚οΈ Project structure

A single-module Android app:

wp-launcher/
β”œβ”€β”€ app/                     # The launcher application module
β”‚   └── src/main/java/com/example/
β”‚       β”œβ”€β”€ MainActivity            # Single Activity, hosts the whole UI
β”‚       β”œβ”€β”€ viewmodel/              # LauncherViewModel β€” owns all UI state
β”‚       β”œβ”€β”€ repository/             # LauncherRepository β€” tiles, settings & installed apps
β”‚       β”œβ”€β”€ data/                   # Room database, entities, DAO, Gemini service
β”‚       └── ui/
β”‚           β”œβ”€β”€ screens/            # Start, All Apps, Settings, Cortana + overlays
β”‚           └── theme/              # Metro colors & typography
β”œβ”€β”€ presentation/            # demo.gif and narrated promo videos (FR / EN)
β”œβ”€β”€ gradle/                  # Version catalog (libs.versions.toml)
└── LICENSE                  # MIT

The app is built around a single Activity and a single LauncherViewModel that owns all UI state as StateFlows; screen switching is done in-app (no Navigation library). Room persists home tiles and settings, while the repository also queries PackageManager for the installed-app list.


🌍 A note on language

The product is French, so the entire UI is in French. If you are an English speaker, the design and interactions will still feel familiar β€” Windows Phone is Windows Phone in any language β€” but the on-screen text is French. The codebase and this README are in English.


πŸ—ΊοΈ Roadmap

  • More Live Tile back-content types and richer dynamic updates.
  • Additional accent colors and theming options.
  • Expanded Cortana capabilities.
  • Broader device compatibility and performance tuning.

Suggestions and feature requests are welcome β€” open an issue!


🀝 Contributing

Contributions are warmly welcomed β€” whether it is a bug fix, a new tile type, an extra accent color, or just polishing the Metro feel.

  • Open an issue to report a bug or suggest a feature.
  • Send a pull request with your improvements on GitHub.
  • Keep new UI text in French to match the rest of the product.
  • Follow the existing code conventions (4-space Kotlin indentation, PascalCase composables/classes).

If you loved Windows Phone, help us keep it alive. πŸ’œ


πŸ“Š Status

v1.0-beta β€” free and open source. No paid services are required (Gemini is optional). Feedback, issues, and pull requests are very welcome.


πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.


Built by Jeremy Fievet (@UnixSafe)

Repository: github.com/UnixSafe/wp-launcher

⭐ If you miss Windows Phone, give this a star!

About

windows phone launcher Android

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages