← Back

Tree

A content-discovery tool where people compose their own cross-format feeds from contextual concepts.


Project overview

  • Type: Product · 8-week 0→1 · web (responsive)
  • Project type: 0→1 · Content Distribution · Search & Personalization · Consumer
  • Role: Lead Product Designer · Opportunity Framing · UX Research · Experiment Design
  • Methods: Continuous discovery (opportunity solution tree) · JTBD interviews · A/B
  • Tools: dscout · Otter.ai · Figma + Dev Mode · Amplitude · Statsig
  • Case thesis: Designing a discovery tool where users compose their own cross-format feeds from contextual "concepts," filled by indexing and linking to the open web, giving people direct control over what they consume.

The context

Algorithmic feeds optimize for engagement, so a user scrolls through a lot of low-interest content to reach the occasional piece worth their time, with little say over the mix. Keyword search returns generic results that miss the specific slice of a topic a person cares about. Tree's bet was to let people build their own recurring feeds, called presets, from concepts (contextual themes that carry more than a keyword), across every format, including text, audio, video, and images.

The problem

A topic is not an interest. In a feed-relevance test, users could name a topic in seconds, but a feed built from that topic label tested as only 38% "worth my time," sitting at the level of the algorithmic feeds they said they wanted to leave (behavioral, feed-relevance test). When asked what they wanted within the topic, users listed a median of 5 contextual qualifiers (era, region, format, length, treatment, specific figures) that the topic label threw away. The value of the product lived in capturing that context, and a topic-level feed discarded it.

The goal

Let a user turn a fuzzy interest into a feed precise enough to return to, and keep it improving, measured by feed relevance, presets a user keeps and reuses, and retention, rather than by how many content formats the platform indexed.


Empathize — Users named a topic in seconds but wanted a specific slice of it, and a topic-level feed tested as generic as the algorithm

In this section: Research foundation · Key insights

Research foundation (method)

  • Phase 1 — Interviews (n=20, ~40 min, recruited via dscout, transcribed in Otter.ai): what people follow, where current feeds fail them, and how they describe an interest.
  • Phase 2 — Survey: ~1,093 panelists invited; 200 analyzable responses (18.3% response rate); ~138 completed every item (12.6% completion rate). Attitudinal percentages are computed on the 200 analyzable responses; question types (select-all vs single-select) are labeled per question in the appendix.
  • Phase 3 — Feed-relevance test (n=28): each user rated three feeds on the same interest — an algorithmic feed, a feed built from a topic label, and a feed built from the same topic plus their stated context — on a "worth my time" scale, presented blind and counterbalanced.
  • Phase 4 — Prototype pilot (Amplitude-instrumented, web, 75 users): behavior on the concept-builder and presets, including the setup A/B.

Key insights

1. The contextual slice is the interest, and the topic label loses it. Asked "what do you like?" users gave a topic; asked "what about it?" they produced several qualifiers that changed everything. Triangulation:

  • Behavioral: topic-only feeds rated 38% worth-my-time — level with the algorithmic feeds users were leaving — while the same topic plus the user's stated context rated 81% in the concept test.
  • Verbatim (P6, documentary viewer, history hobbyist) — coded: Topic underspecifies: "I don't want 'history,' I want the fall of specific empires told as long documentaries, not hot takes."

2. Users recognize a good concept faster than they can author one. People struggled to write down what they wanted from a blank prompt, then immediately confirmed or rejected a feed once they saw it. Recognition was fast; authoring from nothing was slow.

  • Observational (setup sessions): the median user wrote a vague first concept and only sharpened it after seeing example results.
  • Verbatim (P14, design-news reader) — coded: Recognition over authoring: "I couldn't have told you what I wanted, but the second I saw the feed I knew which half to throw out."

3. The supply has to be full from the first session. Users abandoned a new feed that returned thin results, regardless of how well it was configured, so the platform could not wait for user-generated content to accumulate.

  • Attitudinal (survey): the top reason respondents gave for dropping a new app was an empty or repetitive feed.

Dashboard — A topic is not an interest

A topic is not an interest
Scope: feed-relevance test (n=28) + survey (n=200)
Guiding question: How much does context change feed relevance?

  Feed rated "worth my time"
    Algorithmic feed ......................... ~37%
    Topic label only ......................... 38%
    Topic + user's stated context (concept) .. 81%

  Contextual qualifiers users named per topic .. 5 (median)

Key Insight: A topic label barely beats the algorithm; the relevance jump is
the context the topic discards, so the product's job is to capture that
context rather than the topic alone.

Define — The feed had to be built from the contextual slice of an interest, captured as a concept

In this section: POV · How Might We · Principles · Insight→decision map

POV statement. A person leaving algorithmic feeds needs to compose a feed from the specific contextual slice of a topic they care about, because a topic-level feed returns content as generic as the feed they left.

How Might We

  1. How might we help a user turn a fuzzy interest into a concept precise enough to fill a good feed?
  2. How might we capture contextual qualifiers (era, region, format, length, treatment) without making setup feel like work?
  3. How might we keep a feed converging on the user's taste as they use it?

Design principles (each traceable to an insight)

  • The concept carries the context. A concept holds facets (subtopic, format, length, region, era, treatment), so the feed targets the slice the user means. (Insight 1)
  • Elicit, then tune by example. Setup proposes facets and lets the user sharpen by reacting to real results. (Insight 2)
  • The user owns the feed. Presets are transparent, editable, toggleable, and offer a chronological option. (the goal)
  • Supply from the open web, by reference. Tree indexes existing content and links to it on its source, so feeds are full on day one without re-hosting. (Insight 3 + rights model below)
  • Each format consumed at its best. A distraction-free reader, a native audio player, and full-bleed video present each format optimally.

The vocabulary, made precise (so the model is unambiguous)

  • A facet is one contextual qualifier (e.g., format = documentary, length = long, era = antiquity).
  • A concept is a bundle of facets on a subtopic (e.g., "the fall of specific empires, as long documentaries").
  • A preset is one or more concepts saved together as a reusable feed (e.g., a "long-form history" preset).
  • The active feed is the sum of whichever presets the user has toggled on.

Insight → decision map

Insight (from Empathize) Concrete design decision
Topic-only feeds rated 38%; context lifts to 81% A concept is built from facets, so the feed targets the contextual slice, and several concepts compose one preset
Users recognize a good concept faster than they author one Setup seeds from a sentence or an example piece, proposes concept facets, and tunes via "more / less like this" on real results
New feeds die when results are thin The web-indexing layer fills any new concept immediately, linking to each source, so a first preset is never empty

Ideate & Craft — A concept builder elicited the facets of an interest and tuned the feed by example

In this section: Design execution · Supply model & rights · Before → after · Other deliverables

Design execution

  • Concept builder — a user seeds a concept with a sentence or an example piece they like; Tree proposes facets (subtopic, format, length, region, era, treatment) drawn from what it indexed, and the user accepts, edits, or adds. The feed updates live as facets change.
  • Presets — a preset holds one or more concepts; toggling presets reshapes the active feed, so a person can keep separate feeds for basketball, editorial design, or long-form history and switch between them.
  • Example-based tuning — "more like this" and "less like this" on real items converge the feed on the user's taste over a few sessions.
  • Filters and order — feeds filter by location, format, and duration, and offer a chronological view alongside the recommended one.
  • Optimal per-format consumption — text opens in a distraction-free reader, audio in a native player, video full-bleed, and places and events render with map and time context.

Supply model & rights (the load-bearing constraint, made explicit)

Tree is a discovery and link layer, not a content host — the same posture as a search engine. It indexes content that lives on its original servers, shows a title, source, and snippet, and sends the user to the origin to consume it, crediting the creator. It respects robots.txt and publisher opt-outs, and for audio and video it relies on official APIs and embeds (which carry their own playback and attribution terms) rather than scraping or re-hosting media. This is what makes "index the open web" defensible: attribution plus link-out plus official embeds is a referral relationship, not republication. The design treats the source link and credit as a first-class, non-removable part of every item — a rights requirement that doubles as a trust signal.

Before → after

Before (algorithmic feed / keyword search) After (Tree)
What shapes the feed An engagement algorithm, or a single keyword Concepts the user composes from facets
Specificity Topic level The contextual slice the user means
Supply One platform's user-generated content The open web, indexed and linked, with attribution
Consumption One format, one surface Each format presented at its best

Other deliverables

Built in Figma with Dev Mode handoff: the concept-builder facet system, the example-based tuning pattern, the preset switcher, the per-format consumption views, and the source-attribution treatment for indexed content.

Dashboard — What the concept builder produced (Variant B cohort, in-product)

What the concept builder produced
Scope: Last 30 days · web · pilot builder cohort (Variant B)
Guiding question: What did the seed-and-refine builder deliver in use?

  Feed relevance ("worth my time") ...... 82%
  Saves or opens per 10 items shown ..... 4.3
  Presets kept and reused at 7 days ..... 81%

Note: these are the builder cohort's absolute results. The A/B section below
compares them head-to-head against the one-shot freeform variant.

Prototype / Test — A one-shot "describe what you want" box was fast and produced feeds users abandoned; a seed-and-refine loop produced feeds they kept

In this section: The experiment · What it taught

The most appealing first idea was a single freeform box: the user describes what they want in a sentence and Tree builds the feed. It felt flexible and modern — and it is the naive-AI approach many products ship by default — so it was A/B tested against the seed-and-refine concept builder in Statsig across the pilot.

The failed variant. The freeform box was the fastest path to a finished feed, but a single sentence underspecified the interest (users wrote vague descriptions and did not know how much context the system needed), so feed relevance landed at 44% — only a few points above a bare topic label — and 63% of those feeds were abandoned or edited into the ground within a week. Capturing taste needed more than one sentence could hold.

One sentence is fast and underspecifies the feed
Scope: Statsig A/B · web · pilot (75 users; ~37 / arm)
Guiding question: Which setup produces a feed the user keeps?

  Variant A — One-shot freeform description
    Time to a finished feed ......... fastest
    Feed relevance ("worth my time") 44%
    Feeds kept at 7 days ............ 37%

  Variant B — Seed + facet refinement + example tuning
    Time to a finished feed ......... +90 sec
    Feed relevance ("worth my time") 82%
    Feeds kept at 7 days ............ 81%

Read with care: ~37 users per arm. The relevance and 7-day "kept" gaps are
large and consistent; the 30-day retention figure (below) is directional.

Reconciliation: the freeform variant (44%) edges a bare topic label (38%)
because a sentence carries some context; the builder (82%) lands on the
concept test's prediction (81%) — two methods agreeing.

Key Insight: The extra ninety seconds of refinement is what turned a feed
the user dropped into one they returned to. Variant B shipped.

What it taught. A blank natural-language box looks flexible and captures little, because users cannot state intent they have not yet seen results for; taste is captured through a seed plus an example-driven loop that converges. The seed-and-refine builder shipped.


Outcomes & reflections

In this section: Causal chain · Limitations · Competitive context · Reflections · References

Causal chain (pilot, 75 users; the comparison is the shipped builder vs the rejected freeform variant)

The numbers below compare the two pilot cohorts: Variant A (the one-shot freeform box — the naive-AI baseline) against Variant B (the concept builder that shipped). They are not a product-vs-world comparison; the algorithmic/topic-only baseline was measured separately in the relevance test (~38%).

Within that A/B, the concept builder elicited contextual facets and tuned by example, so feed relevance rose from 44% (freeform) to 82% (builder) "worth my time," which got users saving and opening more of what they saw (saves or opens per 10 items 1.6 → 4.3) and returning to their feeds, which lifted weekly active presets per user from 1.4 → 3.2 and day-30 retention from 41% → 60% (directional, given ~37 per arm). Across both cohorts, the web-indexing supply meant a new user's first preset returned a full feed immediately, removing the empty-platform start that ends most new feeds.

Metric Freeform (Variant A) Builder (Variant B) Δ
Feed relevance ("worth my time") 44% 82% +38 pts
Saves or opens per 10 items shown 1.6 4.3 ~2.7×
Presets kept and reused at 7 days 37% 81% +44 pts
Weekly active presets per user 1.4 3.2 ~2.3×
Day-30 retention (directional) 41% 60% +19 pts

Reading note: the win here is that a considered design beat the naive one-sentence box, not that Tree beat the open algorithmic feed. The thesis that concepts beat topics is carried separately by the relevance test (38% → 81%).

Scale note: in discovery, relevance compounds into habit — a feed worth returning to becomes a daily surface, where a generic one is abandoned after a session.

Limitations (stated, because a portfolio claim is only as strong as what it concedes)

  • Small pilot. 75 users, ~37 per A/B arm. The relevance and 7-day "kept" gaps are large and consistent; the 30-day retention lift is directional, not statistically powered.
  • Two baselines, two methods. The thesis (38% topic vs 81% concept) is self-reported in the relevance test; the A/B (44% vs 82%) is in-product behavior. They agree, which strengthens the claim, but neither is a long-horizon measurement.
  • Supply depends on index coverage and rights. Day-one fullness assumes the index is broad and that source APIs/embeds remain available; a publisher opt-out or an API term change narrows supply for the affected formats.
  • Curator layer is out of core scope. Letting people subscribe to feeds others compose adds a social/moderation surface — the exact axis that complicated comparable products — and is deliberately deferred, not designed here.
  • Interest data is sensitive. A user's concepts and presets are a precise map of their interests; the product needs an explicit stance on what is stored, shared, and retained.

Competitive context

Discovery is a crowded space with a notable graveyard. Artifact — the AI-driven news-discovery app from Instagram's co-founders — wound down in 2024 after concluding the market opportunity wasn't large enough and after drifting from a reader into a social network with moderation overhead. Feedly, Google News, Flipboard, Ground News, and RSS readers occupy adjacent ground. Tree's wedge is user-composed control: the feed is built and owned by the user from explicit, editable concepts, across formats, sourced by reference from the open web — not an opaque algorithm and not a social network. The lesson taken directly from Artifact's arc is to keep the social/curator layer out of the core and let the value sit in control and relevance, not in a feed of other people to moderate.

Reflections (transferable principles)

  • In discovery, the unit of value is the contextual slice of an interest, and the design's job is to elicit that context, because users recognize a precise concept faster than they can author one from a blank prompt.
  • Capturing taste takes a seed plus an example-driven refinement loop; a single freeform description looks flexible and underspecifies what the system needs to return a feed worth keeping. (The A/B is the evidence: the naive box lost to the considered one.)
  • Indexing existing web content by reference gives a new platform full supply from its first session, solving the cold-start problem that empties feeds before a user base exists — and treating the source link and credit as non-removable is both the rights model and a trust signal.

References (for the external claims)

  • Artifact, the AI news-discovery app by Instagram's co-founders, announced wind-down in 2024, citing insufficient market opportunity; coverage notes its drift toward a social network and moderation overhead (TechCrunch, Engadget, The Verge, 2024).
  • Search-engine-style indexing (index, snippet, link to source) versus re-hosting, and the role of robots.txt and official media APIs/embeds, frames the rights posture of the supply model.