Apps

Everything we’ve built

Everything published under the SnowyLakes developer account, and everything being built toward it. Each page covers what the app does, the mechanism behind it, and the decisions that shaped how it behaves — and where an app is not on a store yet, its page says so.

Dogoos

Live

Know how they feel

An Android app that turns a short clip of your dog into a structured read: one of six affective states, a real confidence score, the observable cues behind it — and an honest refusal when the clip isn't good enough.

Real confidence scores — never simulated

Android2026
The Dogoos home screen, showing the active dog and a Live Read card

QR Protector

In development

Check the code before you trust it

A QR scanner that works out where a code actually goes before you open it — resolving the redirect chain as a phone, reading the destination's HTML and certificate, and reconciling Google Web Risk, content and AI signals into one plain-English verdict.

Dangerous needs corroboration — never a single weak signal

AndroidiOS2026
Read the full page →Coming soon to Android and iOS.
A completed QR Protector scan showing a verdict and the reasons behind it

The template

What an app page actually covers

One shared template renders every app page, and a section only appears when the app genuinely has that thing. There are no empty states and no coming-soon panels.

The argument for it existing

Each page opens with the problem the app was built for, before a single feature is mentioned.

The mechanism, step by step

The pipeline the app actually runs, annotated with the filenames, functions and values it runs on.

Where it refuses to guess

Each app has a point at which it declines to answer rather than invent an answer. That moment gets a section of its own.

How it is put together

Client, backend, data and third parties, layer by layer — including the parts with no interface at all.

Support & privacy

The pages a store asks for

Every app page links to support and to a privacy policy, and an app with a policy of its own gets a URL that does not move. All of them are static pages that resolve whether or not the app has shipped.