Status Post 9: Running out of catchy names
Apr 23, 2026

Completed Tasks
User Journey Script
Person Responsible: Gavin
Due Date: April 15
Scene 1
Visual: Paul in bed, phone glowing on his face. The sun moves across the sky outside his window. His feed stretches impossibly long — out the door, down the hall, to the moon.
VO: "Paul loves his phone. Maybe a little too much." VO: "He scrolls through things he doesn't care about, posted by people he barely knows on apps designed to keep him there forever."
Scene 2
Visual: Paul at a hangout, visibly exhausted. His friend walks up, carabiner on his bag. Paul's eyes are half shut.
VO: "Then his friend noticed."
FRIEND: (to Paul) "Dude, you look terrible." PAUL: "...I haven't really been sleeping." FRIEND: "You should delete that app. Try Loam." (taps carabiner)
Visual: Friend pulls up his Loam profile. Paul leans in, suddenly a little more awake.
VO: "And just like that, Paul was awake."
Scene 3
Visual: Paul setting up his profile, answering prompts, adding friends, building branches.
VO: "Setting up Loam took about three minutes. He answered a few prompts, added his friends, and made his first branch." VO: "No algorithm. No ads. Just... his people."
Scene 4
Visual: Paul opens the app the next day. He reaches the end of the feed. He pulls to refresh — nothing new. He stares at the screen.
VO: "The next day, something strange happened." VO: "He ran out of feed."
Visual: Paul shrugs, opens the camera. Posts a fridge shelfie.
PAUL: (typing) "What should I cook?" Visual: Comments flood in with suggestions. Paul laughs.
Visual: Paul posts something that goes completely wrong — blurry, badly lit. Comments roast him lovingly.
VO: "So he just... started posting. The good, the bad, and the fridge."
Scene 5
Visual: Paul posts "anyone want to hang out?" — cuts to photos of them actually hanging out, commenting, laughing.
VO: "Loam didn't fix Paul's sleep schedule." VO: "But it did remind him why he liked his phone in the first place."
End card - Loam logo
VO: "Loam. Where the scroll ends."
User Journey Storyboard sketches
Person Responsible: Ella
Due Date: April 15

Dev Updates
Person Responsible: Ella and Max
Due Date: April 23
Feed API (/api/feed/+server.js)
Replaced
auth.getUser()withauth.getSession()— eliminates an outbound HTTP call to Supabase's auth server on every feed loadMoved
status: 'approved'filter into the DB query (was filtering all statuses in JS)Removed 3-level sequential fallback query chain
All secondary queries (profiles, reactions, branch ownership, branch membership) now run in
Promise.all— parallel instead of sequentialReactions are now bundled into the feed response — eliminates N individual
/api/posts/[id]/reactionscalls on page load (was 1 invocation per post)
Reactions API (/api/posts/[id]/reactions/+server.js)
auth.getUser()→auth.getSession()in both GET and POSTRemoved separate
profilesround-trip — reactions summary only needsuser_id + emoji, not author display namesReturns aggregated
{ emoji, count, reacted_by_viewer }instead of raw rowsAdded
Cache-Control: private, max-age=10, stale-while-revalidate=30response header
Comments API (/api/posts/[id]/comments/+server.js)
auth.getUser()→auth.getSession()in both GET and POSTTop-level comments and replies now fetched in parallel (replies scoped to
post_idinstead of waiting for comment IDs)Profiles + connections queries now run in parallel
Two separate connections queries (requester/receiver) merged into one with compound
.or()filter
Feed page (+page.svelte)
Consumes pre-bundled reactions from feed response —
fetchReactions()is skipped for all posts where reactions were already returned
Other Changes
Direct to cloudinary image transformation, still does a local check, next will be to node transform first then cloudinary. - image processing size limit brought up to 10mb
10 posts to a profile limit
upped the comment input font size to 16px, should prevent the zoom from happening on mobile.
Updated New reaction visibility design
Added anonymous comment visibility
Social Posts
Person Responsible: Chem and Enoch and Max
Due Date: Ongoing
We've started posting reels and loam-style posts, we also posted our initial "about loam" posts.


Open Tasks
User Journey Assests
Person(s) Responsible: Whole team
Due Date: ongoing
We're building out our assets for the User Journey

Social Posts
Person Responsible: Chem and Enoch and Max
Due Date: Ongoing
We're finishing up an intro to loam reel, enoch is working on other reel content as we continue the current formats for posts.
MVP Interviews
Person Responsible: Dom
Dom has been conducting MVP interviews over the last couple weeks, a few more to come.
https://docs.google.com/document/d/1vCaT3krhaDJVhep53ax1k-Km09j3dhNbbzPrC6jcAXE/edit?tab=t.0
Notifications Copy + Design
Person Responsible: Joe
Due Date: April 24
Draft for a daily bundle
draft for how we communicate prompts
Designs for how they would look in an email and in app
Pre-Presentation Survey
Person Responsible: Dom
Due Date: April 24
We are preparing a survey that can be sent to active users before the presentation to get updated statistics
Privacy Policy / Terms of service
Person(s) Responsible: Max
Due Date: April 16
Finalizing the privacy policy and terms of service. Require making a loam email that users can contact for support. Also requires adding a DMCA takedown process. This is a low priority item.
https://docs.google.com/document/d/19mT2rZI0tXf_tP8kqETRBja1sj_iJjyD/edit
Launch Party Poster
Person(s) Responsible: Chem Enoch
Due Date: ongoing
Senior project fund-raiser Location: Florida Philadelphia (DM for address)
Date: Saturday, May 16
Time: 2pm doors music at 3pm
Lineup
Double Pump
Laurel & Yanny
Charnews
DJ Null
$10 notaflof Food and Drink
Free caribiner
Landing Page
Person(s) Responsible: Max
Due Date: April 24
Finishing this up.
T-shirt design
Person(s) Responsible: Chem and Ella
Due Date: April 24
Chem and Ella are working on a way to bleach t-shirts to make our our designs.


Exploring post and profile customization
Person(s) Responsible: Dom
Due Date: April 30
We got some feedback that users want more customization with what they can post, Dom is exploring what that could look like.
New Tasks
Presentation Planning
Person(s) Responsible: Whole team
Due Date: ongoing
start printing carabiners
look at ordering shirts/stickers/other material
Plan out what information we want on the presentation
User Journey Scene Building
Person(s) Responsible: Chem and Ella
Due Date: April 30
Build out the different scenes with our vectorized assets
User Journey Animation
Person(s) Responsible: Dom
Due Date: April 30
Meetings
2026-04-16, In Person
Whole Team
Agenda
Animation asset brainstorm
Social media check-in and brainstorm
Dev check-in and planning
MVP interview check-in
2026-04-022, Zoom
Whole Team
Agenda
Assignment check in
Dev walk through / planning
T-shirt review
Social media planning
Project
About
Blog
Contact
Resources
GitHub
Team
Status