The platform had millions of trees. Nobody was seeing them.
Redesigned how content is discovered and distributed on Tree-Nation, turning a static hashtag page system into an engagement-driven feed that became the default home for logged-in users.
Redesigned how content is discovered and distributed on Tree-Nation, turning a static hashtag page system into an engagement-driven feed that became the default home for logged-in users.
Tree-Nation didn't lack content. It lacked distribution.
The platform already had a "feed" through hashtag pages, but it was static and ineffective. Content was organized in grids with no clear ranking, weak engagement signals, and no continuity between sessions. Users would land, scroll a bit, and leave.
For B2B clients, this was even more frustrating. They were investing in custom tree content (branded campaigns, tree dedications, corporate forests) with no visibility into whether anyone was actually seeing it.
"When publishing content on the platform, we don't know if anyone is actually seeing it."
Internal stakeholderThe system treated trees as isolated outputs. There was no mechanism to turn them into something that spreads.
The shift wasn't designing a better page. It was redefining how content works in the product.
Trees were already content. They just weren't behaving like it. The platform had built a repository; what it needed was a distribution engine.
Content without a mechanism to spread is invisible. Designing the feed meant designing the rules by which trees become visible, earn attention, and get amplified, not just designing a layout.
The solution was a feed-based model built around two modes: For You and Following. For You surfaces content based on engagement signals, giving every tree a chance to be discovered. Following lets users track specific organizations and campaigns they care about.
Content is ranked by engagement signals: likes, replants, comments, recency. Any tree can surface here. New users land in a curated stream without needing to follow anything first.
Content from organizations and accounts the user has chosen to follow. Intentional and curated. This is where B2B clients have guaranteed reach with their engaged audience.
The engagement loop connects viewing to action. Each step feeds the next: a view creates a signal, engagement amplifies reach, a replant introduces new content to a new audience, and the feed updates to reflect what's resonating.
When a tree is replanted, who gets credit: the original planter or the replanter? Resolving this mattered for two very different motivations. B2B clients needed brand visibility on content they'd paid for, while individual users needed their action to feel meaningful. The header design had to satisfy both simultaneously.
Replanting requires credits. If a user wants to engage but has none, the loop stops cold. The design had to handle the empty credit state gracefully, keeping the action visible and the path to credits clear, so the moment of intent wasn't wasted.
Surface too much engagement bait and the feed loses its environmental credibility. Surface too little and it feels dead. Calibrating what "good engagement" looks like for a tree-planting platform meant defining ranking rules that rewarded genuine interest without incentivizing noise.
The Tree Feed became the default home experience for logged-in users, replacing what had been a static landing page with no engagement mechanism.
B2B clients gained visibility into reach and engagement for the first time. Content that previously sat dormant now had a distribution system that could amplify it based on genuine engagement signals, turning a publishing problem into a distribution asset.
This project taught me that content and distribution are separate design problems, and most products solve the first while ignoring the second. A page can hold content. Only a system can spread it.
The hardest part wasn't the feed layout. It was defining what "good" looked like in a context where engagement signals had to be calibrated to environmental credibility, not just growth metrics.
Building a content surface isn't enough. The harder, less obvious problem is designing the system that decides what spreads, and how. The layout is the last thing you design, not the first.
The credit constraint could have been treated as a blocker. Instead, it became a forcing function that made the engagement loop more intentional, keeping the feed from becoming pure engagement bait.