Tien Len
Tien Len is a native iOS version of Tiến Lên, the Vietnamese climbing card game also known as Thirteen. You can play it three ways: offline against computer opponents, pass and play with friends on a single device, or online against other people with matchmaking, private lobbies, and a ranked ladder.
Why I Built It
Tiến Lên is the game my family plays. The versions on the App Store were either buried in ads, got the rules subtly wrong, or forced an account on you before you could deal a single hand. I wanted one that felt like a well-made iOS app: fast, native, correct about the rules, and playable the moment you open it without signing up for anything.
Key Features
- Play offline, instantly: Games against the computer and pass and play both run entirely on your device, in airplane mode if you like, with no account and no connection
- Online multiplayer: Quick match, private lobbies you can share by code, and a ranked mode with a public leaderboard
- No email, no password: Online play uses a display name you choose and a random identifier your device generates, so there is nothing to sign up for and nothing to forget
- Passkeys for recovery: Add a passkey to sign in on your other devices with Face ID, with an optional email fallback for the times a passkey cannot reach
- Correct rules: A dedicated rules engine handles chops, bombs, instant wins, and the combination logic the game actually depends on
Technical Approach
The app is SwiftUI throughout, backed by a Swift server. The backend is built with Vapor and runs the matchmaking, lobbies, ranked ratings, and game history. The game logic itself lives in a shared Swift package used by both the app and the server, so the rules are enforced in exactly one place rather than reimplemented on each side. It is the same end-to-end server-side Swift approach I have written about throughout this site.
Links
- Privacy Policy
- Support
- Coming soon to the App Store