Writing
Notes on building with AI in real products, plus product, trust & safety, and language.
SmolVLA generated a 50-action chunk in 7.1 seconds. OpenPI Pi0 never reached inference before the host ran out of memory. A reproducible CPU benchmark shows what each result means.
xAI's first EU training-content summary makes Grok 4.5 comparable with other filings. Standardized source categories help, but broad size bands still fall short.
Very large platforms decided 45 million internal complaints in the second half of 2025 and overturned their own original call 39% of the time.
Google turns off the consumer Gemini Code Assist app for GitHub code review today, the last step in winding down the free/individual tier. The post covers what's ending, why Antigravity isn't a straight swap for the PR bot, and which alternatives are worth a look: Copilot, CodeRabbit, Qodo, Greptile, and Claude Code.
Uber's $14.8B offer for Delivery Hero rests on a reported 60 million monthly active users, a figure that appears nowhere in EU DSA transparency data. The one report you can download shows four brands, ~4,500 notices in a year, and zero user counts; the 2025 report link 404s.
The transparency data explorer is now a native Android and desktop app built from one Kotlin Multiplatform codebase, with a mobile-first Compose UI, the same live API, and no SQL. Here's what shipped, why one codebase covers both platforms, and where to download it.
“Own initiative” on Table 6 can be read narrowly (only what a platform proactively detected) or broadly (all provider-initiated moderation). The two differ by orders of magnitude. Across the first harmonised reports (H2 2025), no VLOP filed on the narrow reading. Cross-checked against the Statements-of-Reasons database.
In July 2026 three of China's most-used AI apps said they would pull the user-created companion chatbots (智能体) built on them. A factual look at the new Interim Measures, which target companion chatbots rather than the autonomous "agents" the term literally translates to, what the rule covers, and the translation knot that made "agents" the headline.
The dashboard already had the DSA's aggregated transparency reports. Now it also has every content-moderation Statement of Reasons platforms file to the EU. Here's how ~4 TB of daily dumps became a two-megabyte dashboard.
Article 53(1)(d) makes GPAI providers publish a standardized summary of their training data. I collected the filings into a comparable dataset. The gap between who files and who doesn't is more informative than the numbers.
What began as a dashboard for EU DSA data grew into a single API spanning more than two dozen platform and regulator transparency datasets. Government-request reports, content-moderation stats, and national-law filings are all reachable through one safe, no-SQL query interface.
I asked Claude Code, in a sandboxed web session, to make Simplified-Chinese maps for every stop on a Hong Kong trip. It used raw map tiles, Pillow, and a detour through China's mandatory GCJ-02 coordinate offset, with no browser or Maps API key.
A LayerX engineering post logs its AI prompts and analyzes them like code to find what to automate. It's the same data-first move I've used at Google and since: intuition flags a problem, then data proves it. This time the method is applied to the human–AI workflow itself.
I asked Claude Code, running Anthropic's new Fable 5 model, to security-review my research API. It found and fixed five real issues, including SSRF, CSV injection, and a timing side channel, then fact-checked the bot that reviewed its PR.
Four new tabs, Automated Means, Human Resources, User Reach, and Qualitative Information, complete the dashboard's coverage of every DSA reporting table.
H2 2025 EU DSA transparency reports from 30 VLOP and VLOSE services in a single interactive view. The first cross-platform dataset to follow the Commission's harmonized template in full.
Category definitions aren't standardized across platforms. Data is self-reported. Aggregation methods differ. This post explains what the VLOP dashboard can and can't tell you, and why the limitations matter as much as the data.
Requirement extraction, gap analysis, and draft review are three workflows that have stuck. The post covers where each one breaks down and what LLMs reliably can't do in a compliance context.
Defamation and government criticism have very different country distributions. Removal rate shifts across the 30 reporting periods. And requestor type carries real operational weight.
I turned 30 reporting periods, 178 countries, 61 Google products, and 22 removal reasons into a multi-year trend explorer. Every filter combination generates a time series.
Both laws require social media transparency reports on content moderation. Their data requirements diverge in ways that force separate pipelines, even when review cycles can be shared.
We filed two state social media transparency reports, California AB 587 (H2 2025) and New York S895 (Q4 2025). Running them in parallel shaped how we built the reporting infrastructure.
Article 15 applies to all intermediary services annually. Article 42 adds bi-annual, category-level, timestamped VLOP obligations. That gap shows up in the reporting infrastructure.
Roblox's annual EU DSA transparency report for 2025 is published, covering content moderation activity for 1 January – 31 December. I owned end-to-end delivery.