Solitaire app icon: ace of spades over a navy card back on green felt

Solitaire for macOS

A native Klondike laid on a felt of gradients — every card is drawn in code. Classic pips, ornate face cards, a navy lattice back. Not a single image asset.

⬇︎  Download for macOS View on GitHub

Free & open source (MIT) · macOS 14+ · signed & notarized DMG · 100% SwiftUI

Solitaire running on macOS: green felt table, seven tableau columns of hand-drawn cards, foundations, score bar

Features

🂡 Full Klondike

Draw 1 or draw 3, standard scoring, timer and move counter. The rules you know, the way you expect them.

🖐️ Real drag & drop

Move single cards or whole sequences. Invalid drops glide back; valid ones snap into place instantly.

⚡ Double-click to play

Double-click any eligible card and it flies to its foundation. Click the stock to draw, click again to recycle.

🎬 Animated everything

Cascading deal, 3D card flips, springy card flights — and confetti when you win.

↩️ Unlimited undo

⌘Z takes back any move, ⌘N deals a fresh game. No penalties, no nagging.

🪄 Auto-complete

Once the whole board is face up, one click on the magic wand finishes the game for you, card by card.

Every card, drawn in code

Pips sit where a real deck puts them. Each rank from 2 to 10 uses the classic printed layout — mirrored bottom half included — positioned in SwiftUI from a table of unit coordinates.

Face cards are typographic. Jack, Queen and King are serif letterforms framed by a gold-lined inset — an engraving reduced to its essence.

The back is a Canvas. Navy gradient, gold diagonal lattice, spade medallion — drawn with a few paths, crisp at any size.

Even the app icon is a script. Scripts/make-app-icon.swift renders the ace-over-back artwork at every size, pixel-exact, no design tool involved.

Build from source

brew install xcodegen
git clone https://github.com/vincentlauriat/Solitaire.git
cd Solitaire
xcodegen generate
open Solitaire.xcodeproj   # then ⌘R

The engine, the rendering and the interactions are three small layers — a pure-logic KlondikeGame, a Design folder that paints the cards, and one GameView that wires the drag & drop. Start with the README.