Skip to content

Lichess Mobile

Open source contributions to the Lichess mobile chess app — iOS widgets, puzzles, openings explorer, and UX improvements.


Open source contributor to the Lichess mobile app (Flutter), the official client for the world’s most popular free chess platform. 34 merged pull requests spanning native iOS widgets, puzzle features, openings explorer, app infrastructure, and UI polish.

iOS Widgets

Built three native iOS home screen widgets from scratch:

  • Daily Puzzle Widget — displays the daily chess puzzle with interactive tap-to-open (#2965, #2984, #2983, #2982)
  • Blog Feed Widget — surfaces the latest Lichess blog posts with kid mode support (#2834, #2936, #2935)
  • Broadcasts Widget — live tournament broadcasts at a glance (#3007)
Daily Puzzle WidgetPuzzle Widget Config

Daily Puzzle widget on the home screen (left) and its configuration with rating toggle (right).

Blog Feed WidgetBlog Widget Gallery

Blog Feed widget on iPhone (left) and the widget gallery showing all three blog feed variants (right).

Broadcasts WidgetBroadcasts Widget Catalog

Broadcasts widget on iPhone (left) and widget catalog preview (right).

Puzzle Widget Theme Support

Daily Puzzle widget supports all Lichess board themes and piece sets, synced from the app.

Puzzle Features

  • Puzzle Dashboard showing strengths and improvement areas (#2651, #2690)
  • Search in puzzle themes (#2948)
  • Puzzle UI fixes (text overflow, theme sync, iPad layout) (#2759, #2983, #2982)

Game & Analysis

  • Load custom position (FEN) when playing against the computer or over the board (#2832, #2947)
  • Variant picker improvements: icons, descriptions, ordering (#2760, #2780, #2799)
  • Clock low time warning animation (#2788)

Openings Explorer

  • Share FEN of the current position (#2632)
  • PGN sharing from the openings explorer (#2664)

App Infrastructure

  • App logs with search, 7-day TTL persistence, pagination & infinite scroll (#2808, #2833, #2852, #2802)
  • User Activity Widget improvements (#2618)
  • Kid mode state fix (#2930)

UX & Polish

  • Pull to refresh on user screen (#2803)
  • Resign/undo button reordering, clock leading zero fix, tournament overflow fix (#2946, #2765, #2809)
  • Unit tests for app link routing and analysis deep linking (#2626, #2669)
  • Xcode indentation standardization in iOS folder (#2957)