Skip to content

Fantasy Premier League Kotlin Multiplatform sample using Jetpack Compose, Compose for Desktop and SwiftUI (and Room for local persistence)

License

Notifications You must be signed in to change notification settings

joreilly/FantasyPremierLeague

Repository files navigation

Fantasy Premier League

kotlin-version

Kotlin Multiplatform project with Jetpack Compose, Compose for Desktop and SwiftUI clients (and using Ktor for remote API requests and Room for persistence). Currently running on:

  • Android (Jetpack Compose)
  • iOS (SwiftUI)
  • Desktop (Compose for Desktop)
  • Kotlin Notebook
  • MCP Server

Related posts:

Building

This project currently uses iOS16 features (e.g. Swift Charts) so requires use of at least Xcode 14.

Screenshots

Android

|

iOS

|

Desktop

Screenshot 2023-09-14 at 17 07 32

Kotlin Notebook

Screenshot 2024-04-06 at 11 03 15 Screenshot 2024-04-06 at 11 03 36

MCP Server

The mcp-server module uses the Kotlin MCP SDK to expose an MCP tools endpoint (returning player/fixture info) that can for example be plugged in to Claude Desktop as shown below. That module uses same KMP shared code.

Screenshot 2025-07-16 at 21 17 33

To integrate the MCP server with Claude Desktop for example you need to firstly run gradle shadowJar task and then select "Edit Config" under Developer Settings and add something like the following (update with your path)

{
  "mcpServers": {
    "kotlin-peopleinspace": {
      "command": "java",
      "args": [
        "-jar",
        "/Users/john.oreilly/github/FantasyPremierLeague/mcp-server/build/libs/serverAll.jar",
        "--stdio"
      ]
    }
  }
}

Full set of Kotlin Multiplatform/Compose/SwiftUI samples