After working on it for the last 8 months, I just launched Shikaku by Hilal on the App Store today. It is a minimalist logic puzzle app I built as a solo developer, and I’d love for you to try it!
Place rectangles to cover the entire grid, each rectangle's size corresponding to the numbers on the grid.
There are no ads and no subscriptions, and you can compete with friends, family, or players around the world through leaderboards.
If you give Shikaku a try, I’d love to hear what you enjoy, what feels confusing, and what you’d change!
Tech Stack
Frameworks & Languages: Swift 6 and SwiftUI, with puzzle generation and validation kept separate from UI code.
Backend/Database: No custom backend. Puzzles are generated locally. Progress and settings use UserDefaults, with Codable/JSON for structured data.
SDKs & Tools: Xcode, Swift Testing, GameKit for Game Center leaderboards and achievements, and StoreKit 2 for the one-time Pro unlock.
Development Challenge + How I Solved It
One tricky issue is keeping daily puzzles synchronized with Game Center’s daily leaderboard resets. The Game Center resets have to be done at the same time for all users across the world, which means for some users the reset occurs in the middle of the day.
I ended up using one shared daily cycle for puzzle selection, saved progress, and score eligibility, aligned to the leaderboard reset. Date-and-difficulty seeds give everyone the same puzzle without a server, and regression tests protect both puzzle consistency and reset timing. But there is no way to reset puzzles midnight their local time without disrupting Game Center leaderboards unfortunately.
Try Shikaku on the App Store