Row-Level localState Cannot Carry Nested Edits: Reworking Offline Sync with KMP + SQLDelight + Supabase

Row-Level localState Cannot Carry Nested Edits: Reworking Offline Sync with KMP + SQLDelight + Supabase

A user edits a checklist on the subway: adds two levels, renames one of them, deletes the one they do not want. The whole thing happens offline and only uploads once they are back above ground.

2026-09-28 · 6 min · 1254 words · Trevor Wang
Building My Own PikPak Client with KMP: Not a Single expect/actual

Building My Own PikPak Client with KMP: Not a Single expect/actual

A couple of days ago a post about a niche piece of software crossed my feed — a project called Piko, posted by its own developer: an open-source third-party PikPak client, Android and Windows, sharing both UI and business code across the two.

2026-09-27 · 10 min · 2024 words · Trevor Wang
Scheduling Tasks for Your Agent: dsh Gives You Three Tools and Deliberately Skips Cron

Scheduling Tasks for Your Agent: dsh Gives You Three Tools and Deliberately Skips Cron

You want the agent to remind you to review a PR in a bit, or come back every hour while a build runs.

2026-09-26 · 7 min · 1473 words · Trevor Wang
The Official DeepSeek Harness Desktop App: No Download Page, and a 355MB Build Shipping the Whole Time

The Official DeepSeek Harness Desktop App: No Download Page, and a 355MB Build Shipping the Whole Time

@deepseek-ai/dsh-desktop 404s on npm, the last five releases in the official repo have zero attachments, and searching the whole site for “download” turns up nothing. Follow those three leads and you conclude: there is no official desktop app.

2026-09-25 · 8 min · 1572 words · Trevor Wang
4,287 Plugins in 6 Weeks: How the DeepSeek Harness Ecosystem Keeps Itself in Check

4,287 Plugins in 6 Weeks: How the DeepSeek Harness Ecosystem Keeps Itself in Check

awesome-dsh-plugin.com has a search box at the top with 4287 / 4287 in the corner. Below it, a row of category tags: UI 731, tools and capabilities 567, development and runtime 312, sessions and messaging 281, workflow 260, usage and billing 226, models 206, memory 202…

2026-09-25 · 5 min · 2080 words · Trevor Wang
DeepSeek Harness Ships an Official Desktop App: Sign In With Your Account, Voice Input Runs on Your Own CPU

DeepSeek Harness Ships an Official Desktop App: Sign In With Your Account, Voice Input Runs on Your Own CPU

dsh is a web app: run npx to start the server, it takes port 3080, open a browser tab and work with the agent there. It works, but switch windows or close the browser and you have to go find it again. It always feels like living in someone else’s house.

2026-09-24 · 9 min · 1729 words · Trevor Wang
Your Coroutine Crashed and the Stack Is Blank: Getting the Lost Call Chain Back with Decoroutinator

Your Coroutine Crashed and the Stack Is Blank: Getting the Lost Call Chain Back with Decoroutinator

Production threw an IllegalStateException. You open the stack trace and see this:

2026-09-23 · 8 min · 1538 words · Trevor Wang
ADK for Kotlin 1.1 + Ktor 3.6: An AI Agent Primer for KMP Developers

ADK for Kotlin 1.1 + Ktor 3.6: An AI Agent Primer for KMP Developers

Python’s agent frameworks have already cycled through several generations — LangChain, LlamaIndex, and now Google’s own ADK. Kotlin has been quiet the whole time — not because nobody wanted to build one, but because there was nothing official to lean on, and nobody quite dared put it in production.

2026-09-22 · 11 min · 2214 words · Trevor Wang
Does ADK for Kotlin Support iOS? I Took Its Gradle Metadata Apart to Check

Does ADK for Kotlin Support iOS? I Took Its Gradle Metadata Apart to Check

When I introduced ADK for Kotlin 1.0, I wrote that “if iOS support lands later, that’s one codebase reused across three platforms.” That wording was slippery — placed next to “KMP core,” it reads way too easily as “iOS should just work.”

2026-09-22 · 4 min · 1731 words · Trevor Wang
KMP's Fourth Leg: Running Inside WebAssembly

KMP's Fourth Leg: Running Inside WebAssembly

Android, iOS, desktop: the three places KMP has covered solidly for years. The fourth leg is WebAssembly, and last week’s Chasm 2.0 is on that line.

2026-09-21 · 5 min · 2359 words · Trevor Wang
How Much of Your Code Do AI Coding Tools Actually Upload? Starting with the Zhipu ZCode Incident

How Much of Your Code Do AI Coding Tools Actually Upload? Starting with the Zhipu ZCode Incident

While cleaning up his disk, tech blogger ferstar noticed the ~/.zcode directory was taking up a lot of space – over 700MB.

2026-09-21 · 15 min · 3024 words · Trevor Wang
Meta Muse Did Not Read Your DMs, but It Cannot Explain What It Did Read

Meta Muse Did Not Read Your DMs, but It Cannot Explain What It Did Read

Last week Inc Magazine contributing editor Jason Aten posted some screenshots on Threads. He was chatting with Meta’s new AI assistant Muse, and partway through something felt off — Muse started asking him questions about conversations in his Messages.

2026-09-20 · 6 min · 1191 words · Trevor Wang