Native iOS app for Quindle
- Swift 89.2%
- Python 10.8%
| Config | ||
| Quindle | ||
| Quindle.xcodeproj | ||
| scripts | ||
| .gitignore | ||
| project.yml | ||
| README.md | ||
Quindle iOS
Native SwiftUI client for Quindle — the invite-only daily word game.
Requirements
- Xcode 15+ with iOS 17 SDK
- A running Quindle backend (local or production)
Backend setup
The main Quindle project needs these endpoints deployed before the app will authenticate:
POST /api/mobile/login— returns a Bearer JWTGET /api/avatar— serves monster avatar SVGs- All existing
/api/*routes acceptAuthorization: Bearer <token>
Deploy the latest quindle backend to production before testing the Release build against https://quindle.quinlan.cloud.
Configuration
| Build | API base URL |
|---|---|
| Debug | http://127.0.0.1:3000 |
| Release | https://quindle.quinlan.cloud |
Change URLs in Quindle/Config/AppConfig.swift.
For a physical device hitting a local backend, use your Mac's LAN IP instead of 127.0.0.1.
Open in Xcode
open Quindle.xcodeproj
If you add Swift files, regenerate the project:
python3 scripts/generate_xcodeproj.py
Alternatively, with XcodeGen installed:
xcodegen generate
Features
- Login and invite-based registration
- Daily and practice games with server-authoritative guesses
- Hint tokens, instructions overlay, share grid
- Leaderboard (all-time / monthly / weekly)
- Profile editing, avatar builder, free placement, password change, account deletion
- Deep links:
quindle://invite/{token}
Deep links
Register custom URL scheme quindle:// is configured in Info.plist. Invite links like https://quindle.quinlan.cloud/invite/{token} are also parsed when opened in the app.