Product & Strategy

The Product Desk

The Signal

California's under-16 rules fine infinite scroll and autoplay up to $1M per child.

Named interaction patterns are the tractable half of this: a designer can walk the app in an afternoon and list every surface that loads more without being asked. The harder half is that most of the obligations only bind once the product knows how old the user is, and the vendors selling age proof keep getting breached. So the decision in front of you this quarter is not a feed redesign. It is which age signal you are willing to depend on, and what the product does on the day that signal is wrong, stale, or gone.

In Play

  1. California's Pre-Launch Gate For AI Features

    California now requires operators of AI chatbots to complete a risk assessment before launch, and Governor Newsom signed a companion law creating a registry of independent AI auditors that Anthropic backed, per Techpresso. MIT Technology Review's Download reports the same package bans addictive feeds for under-16s, naming infinite scroll and autoplay explicitly, with fines up to $1M per child for large platforms found negligent. Neither account publishes an effective date, so scope the work now and treat the timing as unresolved.

    Ask Clarity
    Try
  2. The Inference Floor Dropped Again

    Uber disclosed that its cost per 1,000 model requests is down almost 34% from peak even as agent usage climbed, and Ramp's index shows AI spend per employee dipped in August, per Newcomer. Pivot 5 reports DeepSeek's V4.1 Flash reset the floor to a fraction of a cent per million tokens, sending MiniMax and Z.ai down more than 8% in a day. Your COGS model and your killed-on-cost backlog are both stale. Term Sheet's deal flow points the other way: 53% of the week's disclosed venture dollars funded power and wiring.

    Ask Clarity
    Try
  3. Seat Pricing Breaks When Agents Do The Work

    ServiceNow is moving off seat-based licensing to consumption pricing because AI is squeezing SaaS business models, per Computerworld. Seats monetize humans who log in, and agents do work without logging in, so every agent your customers deploy quietly deflates your own contract. Gartner projects at least one in three AI-eliminated roles will be restored by 2029 at higher cost, which is the counter-narrative your buyer's CFO may already hold. Pricing mechanics and timeline are undisclosed, so treat it as directional.

    Ask Clarity
    Try
  4. Shopify's Native Rewrite Resets Build-Twice Math

    Shopify is rebuilding its mobile apps in Swift and Kotlin six years after going all-in on React Native, and its stated reason is economic: coding agents made building the same feature twice cheap enough to stop avoiding, per React Status. One of Expo's founders called the move political rather than technical and named the confound — an old-architecture app benchmarked against a fresh rewrite. Your nearer-term exposure is ownership of FlashList, React Native Skia and Restyle, now in maintenance limbo.

    Ask Clarity
    Try

Deep Dives

California Turned Your GA Checklist Into Statute

The obligations are enumerable, which makes them a sprint; the hard part is that most of them key off a user's age, and the vendors who sell age proof are the ones getting breached.

Why this is scopeable, and where it stops being scopeable

Every prior wave of platform regulation policed what users post. This one polices what you built, and it does it by naming interaction patterns. That is unusually good news for planning: a named list is an inventory, and an inventory is a sprint. Walk each consumer surface, list every scroll loop, autoplay trigger, streak and re-engagement notification, and pick one of three outcomes per item — block for under-16, degrade, or default off.

Then you hit the variable that makes it expensive. Almost every obligation keys off a user's age, and most products do not know it. MIT Technology Review's Download frames this precisely: unknown-age users are where age assurance stops being a backlog item and becomes an infrastructure dependency. The moment you need an age signal, someone in a procurement meeting starts shopping for a document-scanning vendor.

That is the trap. Techpresso notes that IDScan confirmed a breach exposing more than 150 million driver's licenses, as these rules push platforms toward verification. If regulation routes you into an identity vendor, you inherit that liability class permanently. Specify age assurance that retains as little as possible — attestation, on-device signals, delete-after-match — before the vendor choice is made for you on a compliance deadline.


Where the two accounts agree, and what neither settles

Both reads converge on the same relocation: this is product surface area, not trust-and-safety overhead. Techpresso emphasizes the mechanism — a documented assessment completed before launch, plus the independent-auditor registry Anthropic backed, which means an outside party will define what "adequate" looks like. The Download emphasizes the category: companion chatbots are a regulated product class in the US, and reporting indicates federal appetite is rising.

What neither settles is timing. No effective date, no enforcement posture, no guidance on what a sufficient assessment contains. Treat that asymmetry the way you would any dependency with a known requirement and an unknown date: build the artifact once, build it globally, and stop guessing at the calendar.

A named prohibited pattern is a backlog item. An unknown user age is an infrastructure dependency.

The failure mode that has no retrofit

The Download also carries the sharpest cautionary case: Meta AI allegedly used years of Facebook posts to identify creator Kalie Roberts' children and locate where her family lives. That is not a breach — nothing leaked. It is retroactive inference over legacy user content, and it is far more sympathetic to a jury and a feed than any data-loss story. It also cost nothing to prevent at design time and cannot be fixed after launch.

The cheap counter is a template change, not a program: any feature that trains on or infers from existing user-generated content requires explicit opt-in for historical data and a hard exclusion for anything depicting minors. Pair it with the posture that separates pre-compliers from retrofitters — Meta agreed to pay up to $18 billion settling child-addiction claims brought by California and 28 other states, then publicly argued that tailored experiences make its apps valuable for teens. Teams that ship youth-safety credentials get to market them; teams that don't get to build them under a deadline someone else sets.

What to do

  1. Add a documented pre-launch AI risk assessment to the GA checklist for every conversational, generative or personalized surface now, before your next release locks a date.

  2. Inventory every scroll loop, autoplay trigger, streak and re-engagement notification this sprint, and mark each one block, degrade or default-off for users whose age you cannot establish.

  3. Specify age assurance that retains no ID images — attestation or on-device signals with delete-after-match — this quarter, before procurement selects a document-scanning vendor.

The Cost Floor Fell Again And Your Dashboard Will Bank It Wrong

Unit prices are deflating fast enough to reopen a closed backlog, but the metric most teams use to judge AI infrastructure rewards the layout that finishes less work.

A controlled test published in Daily Dose of Data Science pushed identical traffic through two serving layouts for the same fine-tuned models: one shared endpoint hosting a base model plus three adapters, versus three endpoints each hosting a full fine-tuned copy — the comparison, not any specific figure, is what the sourced material supports.

What to do

  1. Re-score every AI feature killed on inference cost in the last 18 months this sprint, starting with always-on concepts, and return the top three with a per-user cost ceiling written into the PRD.

  2. Replace GPU spend with cost per completed request on your AI dashboard before your next infrastructure review, and split the latency SLO into time-to-worker-pickup and inference time.

  3. Ask your ML platform lead in writing this week whether fine-tuned variants are merged model copies or adapters on a shared base, and get the current always-on warm-worker count.

Shopify Says Agents Killed The Cross-Platform Argument

The retreat rests on an economic claim about duplicate build cost that nobody has measured on your team — and the libraries it orphans are already in your dependency graph.

Start with the bill you already own

Before the platform debate reaches your exec staff, there is a concrete exposure to price: FlashList, React Native Skia and Restyle are Shopify-maintained libraries that sit deep inside a large share of production React Native apps, and React Status flags them as now facing owner uncertainty. That is not a strategy question. It is a table with three rows — fork cost, replacement cost, blast radius — and it should exist before a release forces the question at the worst possible moment.

The strategic claim is more interesting and much weaker. Shopify's stated justification for rebuilding in Swift and Kotlin is not that React Native degraded; it is that coding agents cut the cost of building the same feature twice until cross-platform's core return no longer cleared the bar. A companion post documents a 12-week rewrite of the Shop app with before-and-after metrics on startup time, stability and app size.


The methodology problem, and why it should feel familiar

The rebuttal is public and specific. One of Expo's founders called the decision "more of a political decision than a technical one" and attacked the comparison directly: Shopify measured an old-architecture React Native app against a fresh native rewrite. Expo has an obvious commercial interest in that objection, and the objection still stands on its own — a rewrite of anything beats a six-year-old codebase.

Notice that this is the same error that shows up in AI cost reviews: two things measured under different conditions, one number reported, wrong architecture rewarded. Rewrite gains are not framework gains, exactly as billed spend is not cost per completed unit of work.

Expo's own shipping behavior complicates both sides. Expo Modules 2.0 introduces annotation-based Swift and Kotlin classes for native modules, which reads as a concession that native authoring is unavoidable rather than optional. So the honest read is not "React Native is finished." It is that the duplicate-build cost curve moved, and nobody outside Shopify has measured where it moved for a team of your size.


The estimation number worth more than the headline

The most reusable figure in this story is Discord's, not Shopify's: in its React Native New Architecture migration, only 14% of tickets covered the migration itself — the other ~86% was long tail. That is a roughly sevenfold multiplier on the visible work, and it applies to any platform migration you scope. Evil Martians make the same point from the other direction: they moved off Gatsby to Astro in under 9¾ days while keeping their React components, but only after substantial preparation. Gate migration dates on prep-complete, never on kickoff.

Shopify didn't prove the framework got worse — it argued that agents made duplication cheap, and that is a throughput claim about your team, not a fact you can inherit from a blog post.

Two things to harvest while the argument is unresolved. React 19.3 graduated View Transitions and Fragment Refs out of experimental, added use(browser()) for per-component SSR opt-out, and shipped Trusted Types support — which retires a recurring enterprise security-review objection and revives polish and focus-management items you deferred. And expect stakeholders to quote velocity numbers at you: the Next.js team closed 1,500 GitHub issues in a month using agents, and the oxc Rust port of the React compiler moved a 1,000-file app from 14.3s to 0.81s. Both are real; neither is evidence about your platform choice.

What to do

  1. Publish a one-page dependency risk table for FlashList, React Native Skia and Restyle this sprint, with fork-or-replace cost and blast radius per library.

  2. Measure per-platform feature cost with agent assistance across the next two sprints, then apply Discord's roughly sevenfold ticket-tail multiplier to any migration scenario before it enters a planning doc.

  3. Circulate a counter-brief this week naming the old-architecture-versus-fresh-rewrite confound, before the post reaches exec staff as a platform decision.

The bottom line

Three separate floors have dropped — the price of a token, the price of a parsed page, the price of doing the same work twice — and in every case the expense simply moved somewhere your dashboard does not look: a document you must produce before launch, a number you must defend per completed unit of work, an owner for the code someone else stopped maintaining. That breaks the habit of treating cost as the thing that gates a roadmap, because clearance and ownership gate it now. Pick the AI surface closest to general availability, and put its launch-clearance artifact and its per-completed-unit cost on the same page before your next review.