About Artivy
Artivy is an independent, one-person game studio based in Indonesia. It makes small puzzle games for Android and for the browser, and it is run by a developer who writes every line of them.
What we make
Every game here is a puzzle or an arcade puzzle, and all of them are meant for short sittings. PawDoku is a one-cat-per-row logic puzzle with a guaranteed unique solution. Kata·Word is a word game in English and Bahasa Indonesia at three word lengths. StackO! is a block-stacking arcade game about precision. 2048 is the sliding-tile classic. Rekta is Shikaku, a Japanese pencil puzzle of rectangles and clues. PourFect! is a water-sorting puzzle with a solver behind it.
Each one exists in two forms: an Android app on Google Play, and a browser version on this site that needs no download and no account. The browser versions are not ports. The rules were rewritten from scratch in JavaScript from what each game actually does, because the Android builds are written in Dart, Java and GDScript and none of that runs in a browser. That means a separate implementation of every game's rules, which is more work than a port — and the reason for it is that a website should not be able to break a game on Google Play, nor the other way round.
How the games get made
Puzzles are generated, then proved
Several of them generate their own puzzles rather than shipping a list of hand-made levels, which means the levels never run out. But a generator that can hand out an impossible board is worse than no generator at all, so generation is only half the job: PawDoku checks every board for a second solution and throws it away if one exists, and PourFect! runs a solver over every board and deals another if the solver cannot finish it. In both cases the level you are given has been proved solvable before you see it.
The reason to care is not tidiness. In a logic puzzle with two solutions, a player can reason perfectly, arrive somewhere consistent, and be told they are wrong — and there is no way for them to tell whether the fault was theirs. A puzzle has to be trustworthy before it can be enjoyable.
Difficulty is measured where it can be
"Harder" is easy to fake by making a board bigger and easy to get wrong by guessing. PourFect! counts forced moves — the positions where exactly one pour keeps the board winnable — because that is much closer to what difficulty feels like than solution length is, and its early levels are declared to contain none rather than merely happening to. Rekta raises the largest block it hands out as levels climb, which reduces the number of clues and therefore the number of things to anchor a deduction on; it stops raising it at a point past which the puzzles stop being harder and start being guesswork.
Colour is a constraint, not decoration
PourFect!'s palette is built on the Okabe–Ito set, chosen so the colours stay distinguishable under the common forms of colour blindness, and the game caps itself at nine liquid colours for that reason alone — a tenth would be identical to another for some players. Wider boards get harder by giving each colour more bottles instead. The ordering of hues per level was searched rather than eyeballed, so no two consecutive levels give the collector tube the same colour.
What we deliberately leave out
None of the games has an in-app purchase. There is no real-money currency anywhere in any of them, no loot box, no energy meter that refills over time, and no bottomless timer designed to make waiting unpleasant. The Android builds carry advertising, and where a game offers a reward for watching one it always asks first and names the reward before any video plays — a labelled button is not consent.
The browser versions here are the games without the meta around them. No coins, no store, no trophies, no themes, no daily challenge, no hints. Kata·Word's daily word, PawDoku's timed daily and Rekta's rewarded hint are all absent. Each game's privacy page says so explicitly, because the app store listing describes purchases and rewarded adverts that simply do not exist on this site.
The games are also playable offline, on the phone entirely and in the browser once the page has loaded. Nothing waits for a server, because nothing is on a server.
Privacy, plainly
The browser versions store your progress in your own browser and nowhere else — no account, no sign-in, no upload. There is no analytics and no crash reporting on these web builds. If a browser refuses to store data, the page says so out loud rather than losing your run in silence.
The Android apps do differ, and they differ from each other, which is why each game has its own privacy page rather than one shared boilerplate: some carry Firebase Crashlytics only, some add Analytics, and one is a native game that needs crash reporting at the native level too. Every page lists what that specific app collects, and where a game reports named analytics events, the page names them. Advertising is served by Google AdMob on the apps and Google AdSense on this site.
| Game | Type | Privacy | Terms |
|---|---|---|---|
| PawDoku | Logic puzzle | Privacy | Terms |
| Kata·Word | Word game | Privacy | Terms |
| StackO! | Arcade | Privacy | Terms |
| 2048 | Sliding tiles | Privacy | Terms |
| Rekta | Shikaku puzzle | Privacy | Terms |
| PourFect! | Water sort | Privacy | Terms |
How this site is built
No framework, no bundler, no build step. The pages are plain HTML with plain ES modules, served as files, which means the site can be checked by opening it. Each game's rules live in a model.js with no DOM in it, and beside each one is a self-test page that prints pass or fail for the rules that would otherwise cost a player their game quietly — duplicate-letter scoring, merge order, whether a generated board is actually solvable.
That is a deliberate ceiling rather than an unfinished state. A site whose deploy is "copy the files" cannot break in the ways a pipeline can, and a puzzle whose rules are testable without a browser is a puzzle whose rules can be trusted.
Get in touch
Bug reports, questions about a game, or anything about privacy and data: see the contact page. Reports that name the game and the phone or browser get answered fastest.