Lichobile
lichess.org former mobile application / new one -> github.com/lichess-org/mobile
Install / Use
/learn @lichess-org/LichobileREADME
[!WARNING]
End-of-life notice
This repository is obsolete and will no longer be updated. It was officially replaced by a complete rewrite, which you can find here. If you are unable to install the new app, we suggest you use the mobile website.
lichess.org/mobile

Lichess mobile is the lichess.org official application. It is written in TypeScript, with a bit of Kotlin and Swift. It is a web application that accesses the native SDK, thanks to Ionic capacitor. The rendering library is mithril.js. It talks to a native Stockfish engine, supporting multiple variants, through a capacitor plugin. Multi-variant chess library is brought by a JavaScript version of scalachess.
Download
<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80"> <img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="80">
or get the APK from the Releases section
Required dependencies
- node latest LTS version
- ionic capacitor dependencies
Android:
- in addition to capacitor dependencies, android ndk for stockfish compilation (to install with Android Studio).
Setup project
Make sure to install all dependencies:
$ npm install
Capacitor needs the web app before sync, so build it:
$ npm run build
Sync capacitor:
$ npx cap sync
Running in the browser
$ npm run serve
Will serve assets at http://localhost:8080.
Once the server is up, browse to http://localhost:8080/www.
You should use a chromium based browser to be close to the android webview which is based on chrome.
Be sure to Toggle Device Mode or else you won't be able to click on anything.
Running in a device/emulator
Be sure to install all the dependencies and follow the steps above in the Setup project section.
In order to build Stockfish, you need to download the current stockfish plugin NNUE file and save it to the proper location for each platform:
$ npm run fetch-nnue
Android
Using command line:
$ npx cap run android
Using android studio:
$ npx cap open android
More information available here.
Free version
By default, the output APK will rely on Firebase Cloud Messaging to support push notifications. However, it is possible to remove this dependency if you don't care about push notifications.
To build the free version:
$ npm run patch-nonfree
$ npx cap update android
$ cd ./android
$ ./gradlew assembleDebug
iOS
You will need a GoogleService-Info.plist file in order to compile iOS project.
You can download a dummy one from the firebase open-source project.
Put it in the ios/App/App/ folder.
Only debug builds are allowed with that example file. Push notifications
won't work, but you will be able to run the app on a simulator just fine.
Using command line:
$ npx cap run ios
Using Xcode:
$ npx cap open ios
More information available here.
Advanced setup
See the wiki.
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Writing Hookify Rules
109.9kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
review-duplication
100.4kUse this skill during code reviews to proactively investigate the codebase for duplicated functionality, reinvented wheels, or failure to reuse existing project best practices and shared utilities.
