Studio software

Push Latte

2026 · End-to-end-encrypted relay for links, notes and files between your own devices — web app, Chrome extension and Android · Sole developer and publisher

A private, end-to-end-encrypted relay that moves links, notes and files between your own devices — no account, and a relay that never reads them.

Open Push Latte ↗

Push Latte — production still

Notes from the producer

I built Push Latte alone, and I built it for the people Pushbullet's broken Chrome extension left behind — myself included. The first prototype in February 2026 had every bad habit of a quick build, so in July I threw it away and started a monorepo with the cryptography first and the interface last. The decisions I stand by are the boring ones: there is no account because an account would be the first thing that could leak; the relay never receives plaintext because a relay that can read your messages is a promise it will one day break; and paying does not buy bigger limits because I did not want the free web app to be a crippled version of anything. What you buy is the phone client, and since 2.1.1 one purchase covers every device you pair, through a signed grant the relay never sees.

I will be straight about where it stands. The web app, the extension and the Android app are live at 2.1.1 in both stores as of 3 September 2026, the source is published under AGPL, and the comparison pages say where Pushbullet, ntfy and KDE Connect still beat me. What I have not done is launch: the Show HN and Reddit posts are still drafts, the store counters are in single digits, I have not yet walked the entitlement flow on two real phones with different Google accounts, and the terms have not been near a lawyer. This is a product I use every day, priced so that nobody has to think about it.

- Matija Radeljak

The story

Push Latte began on 18 February 2026 as a one-person answer to a gap Pushbullet left behind when its Chrome extension broke under Manifest V3: people who pushed a link, a note or a file from browser to phone and back were left choosing between e-mailing themselves and trusting a cloud account that could read the content. The first months were a prototype — a PHP relay, then a Cloudflare Worker, a tag manager, remote fonts, no content-security policy. On 19 July 2026 Matija Radeljak discarded it and started again as a TypeScript monorepo. July alone holds 240 commits: envelope encryption, a SQLite Durable Object mailbox, WebRTC peer links, chunked file transfer, web push, a Manifest V3 extension, a passphrase-wrapped recovery kit and a written threat model.

What runs today is one codebase producing four artifacts: the installable web app at psh.lat, a Chrome and Edge extension, a Capacitor Android app that wraps the same bundle with native plugins for the share sheet, push, file saving and Play Billing, and the Worker relay on Cloudflare. Devices pair by comparing a six-digit code, protected by a commit-reveal handshake so a man-in-the-middle cannot grind it offline, then talk directly whenever both are awake; when one is asleep the message waits as ciphertext in a mailbox for up to seven days and a content-free push wakes it. Since 2.1.0 on 31 August, scripts, servers and LLM tools can notify a phone the same way through a local agent with a CLI, a loopback API and an MCP server — a send-only capability bound to one device, encrypted locally, revocable from the phone. The relay sees routing, sizes and timing, and the site says so beside every encryption claim.

The commercial shape is deliberate. The web app and extension are free; the Android app is the paid client — a 15-day trial, then EUR 0.49 a month or EUR 4.99 once, sold through Google Play by Aning Film d.o.o. Paying raises no limit: 300 MB a month through the relay, seven days of retention, 100 MB per file, 2,000 messages and 500 wake pushes a day are identical for every device. Version 2.1.1, hosted on 2 September, made "one purchase unlocks every paired device" literally true without an account: the paid phone signs a 30-day entitlement grant, hands it to each verified peer and renews it on every connect, and the relay never sees one. The licence is AGPL-3.0-or-later because its network clause obliges anyone running a modified copy as a service to offer the source; the terms name that published source as the honest answer to what a one-time purchase is worth if the service ever stops.

The first public release, 1.9.9, reached Google Play, the Chrome Web Store and the web on 15 August 2026. Within two weeks the landing page became a site: a page registry generates 24 pages in English, Spanish, French and Croatian — transcreated, not translated — with pricing, FAQ, changelog, a press kit, seven head-to-head comparisons against Pushbullet, its extension, ntfy, Join, KDE Connect, LocalSend and Pushover that state where Push Latte loses, and a developer hub with pages for Claude Code, Cursor, Codex and Gemini CLI. Every number on those pages is pinned by a test against the constant that enforces it; measurement is first-party daily counters with no cookies. The AlternativeTo listing went live on 2 September and both stores published 2.1.1 on 3 September.

What is unfinished is written down as plainly as what works. The Show HN, Reddit and Product Hunt drafts are still unposted, so by mid-September the store counters show only a handful of installs; the entitlement flow has not yet been exercised on two real phones with different Google accounts; App Links verification waits for the Play signing certificate; the terms have not had a lawyer's review; the automation agent is not on npm. For the studio, Push Latte is proof that one person can carry a product from the cryptographic envelope to store listings in four languages, and a record of a method in which every public claim is tested against the code that makes it true.

Milestones

  • 2026-02-18 — First commit of the v1 prototype
  • 2026-07-19 — v2 rewrite begins as a TypeScript monorepo, crypto core first
  • 2026-07-24 — Version 1.0.0 packaged for the Chrome Web Store
  • 2026-07-26 — Named Push Latte; psh.lat becomes the origin; Android app packaged
  • 2026-08-13 — Source mirror public on GitHub under AGPL-3.0-or-later
  • 2026-08-15 — 1.9.9: first public release on Play, Chrome Web Store and web
  • 2026-08-31 — 2.1.0: private automation channels for scripts and LLM tools
  • 2026-09-02 — 2.1.1: one purchase unlocks every paired device; 24-page site live
  • 2026-09-02 — AlternativeTo listing approved and live
  • 2026-09-03 — Google Play and Chrome Web Store both publish 2.1.1

Outcomes

  • Live in both stores — Google Play and the Chrome Web Store have served version 2.1.1 since 3 September 2026; the hosted web app and relay since 2 September.
  • Four artifacts, one codebase — Web app, Chrome/Edge extension, Android app and the Cloudflare relay come from one TypeScript monorepo of 380 commits between February and September 2026.
  • Same quota, paid or free — 300 MB a month, seven-day retention and 100 MB per file are identical for every device; a purchase buys the phone client, not bigger limits.
  • Site in four languages — 24 registry pages plus five legal pages in English, Spanish, French and Croatian — 116 URLs — including seven head-to-head comparisons.
  • Launch still ahead — Only the AlternativeTo listing is posted; on 19 September 2026 the counters showed 1+ Play downloads and 5 extension users.

Credits

  • Matija Radeljak — Founder, sole developer and director of the seller
  • Aning Film d.o.o. — Publisher, seller and data controller, Zagreb
  • Cloudflare — Relay infrastructure: Workers, Durable Objects, R2 and TURN
  • Google — Google Play distribution and billing, Chrome Web Store, FCM wake path
  • GitHub — Host of the public AGPL source mirror

Press & links

Aning Film