378
Colin

@colin #378

cma.xyz. Founder /paragraph, ceo /mirror, previously at Google & Coinbase
342004 Follower 1568 Following
I've fallen down a home server rabbit hole over the past few months:

- purchased an Intel N100 mini PC
- running Proxmox with ~30 LXC containers and VMs
- PiHole for network-wide adblocking
- Paperless for document scanning, storage, and LLM-based retrieval
- Home Assistant for full home automation (lights on/off based on motion, etc)
- Plex for media server
- nginx proxy manager for reverse proxy to expose services to internet

I can understand why people love this hobby
Semi-regular Paragraph annoyances thread: if you could force us to build one feature or fix one bug, what would it be?
Tried 3 new recipes for dinner, two of which ChatGPT came up with:

- saffron rice pilaf
- peach balsamic sous vide chicken thighs
- honey thyme carrots

Turned out very well overall!

Quite impressed with how capable ChatGPT is at coming up with recipes
https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/460da3ad-3948-4ca1-c28a-3421c5bbb000/original
/Food
Good idea for the /paragraph frame

Any other feedback or things we could improve with our frame?
Loading...
Always loved the idea of prediction markets <> publishing
Loading...
We could support 100% automated crossposting from Substack/Medium/your own blog to Paragraph if we built a way to watch your RSS feed.

It’d look like this:

- post on [other site]
- we grab the post from the RSS feed
- we republish it on your Paragraph according to predefined settings you chose (eg deliver it via email)
Loading...
I blame my first point loss on not knowing I could horizontally scroll the avatars

Cc @jc4p it’d be helpful to make it more obvious it’s horizontally scrollable!
https://guess-who.kasra.codes?image=378-1740886296313.png
Very clean frame

Code snippets, nothing more nothing less
Loading...
Dinner last night: salmon coconut curry

Delicious & easy to cook.

Recipe here: https://figandoliveplatter.com/30-minute-coconut-thai-salmon-curry/
https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/0bc4fd78-85c0-4873-eaf0-4ca9cce11b00/original
https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/d2c8739c-65f1-44fe-c416-a1c6aff7f500/original
/Food
Is this the first generative AI mainstream hardware device being rolled out?

I have a mix of Google Homes and HomePods and have been waiting (though not holding my breath) for better AI. They can't hold a candle to ChatGPT advanced voice

https://www.aboutamazon.com/news/devices/new-alexa-generative-artificial-intelligence
Historically I've always believed the composable social graph was the core value prop as a dev building atop Farcaster:

- bootstrap network effects to avoid cold start problem
- better onboarding by pulling in pre-existing user info

Now, I'm undecided on if the warplet + frames v2 are a better value prop:

- distribution rails via in-app notifications + users "adding frame"
- economic rails via Warpcast wallet
- directly meeting users where they are: read, subscribe, mint without ever leaving FC
- tapping into pre-existing user behavior (lots of users are sharing Paragraph links anyways! These links are now supercharged)
- bootstrap network effects & better onboarding as well! Open a frame and you're already logged in + social graph already attained
Loading...
I just minted my Faces of Farcaster. A custom, onchain art collection exclusively for Farcasters by @harmonybot and @sayangel
Cross-posting this here - we shipped lots of improvements with our Farcaster frame!

https://warpcast.com/colin/0x35c8230e
Loading...
Newly launched on Paragraph: we rebuilt our Farcaster frame from the ground up.

- In-app notifications: receive notifications from newsletters you're subscribed to, directly on FC
- One-tap subscribe: subscribe to writers in-frame
- Warpcast wallet: use Warpcast wallet to support writers & collect posts
- Discover great writing: get recommended writing, directly in-frame, based on subscriptions & who you follow on FC

Read more & add the frame: https://paragraph.xyz/@blog/new-paragraph-frame-on-farcaster
Initial thoughts on Claude 3.7 and Claude agent: extremely impressed
Braised chuck roast for 2 hours last night to make birria tacos.

Overall a bit disappointed in the taste given the amount of effort put into cooking it, but alas
https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/9097bc06-3018-4497-78f3-47857fa35900/original
/Food
Feedback on frames v2 docs & specifications after working on the Paragraph v2 frame:

- events are a bit confusing: some code examples reference `Farcaster.events.on` and others reference `sdk.on`
- "see full example" Github link is broken on the specs page
- primaryButtonClick code example at the bottom is wrong; should be `primaryButtonClicked`
- would prefer hooks over callbacks
- provider configuration is confusing: connected set to true by default? immediately tries to connect on provider setup? I had to change a handful of things to get it working
- overall specification is clear but a few things could be a bit clearer (SetPrimaryButton -> what does hidden/enabled do? There's also no mention of loading but there is a loading param in the code)
- unclear why SDK needs to be lazy-loaded using a dynamic component vs just doing nothing on the server-side
- debugging is a struggle: https://warpcast.com/colin/0x61b315b3
Loading...
Inverse of the lean startup:

- raise a ridiculous amount of money
- don't ship product or iterate
- spend a lot of time & effort on a very public, splashy launch
- don't listen to users nor really talk to them at all
Loading...
Feature request: better debugging for frames.

The frame validator / frame embed tools don't provide much information on what's wrong with a given URL. We've struggled with getting frames validated.

I would love a way to drop in a frame URL and it tells you everything that could possibly be wrong. Eg:
- warning, no domain manifest hosted at domain
- error, domain manifest contains wrong domain since it doesn't match host
- error, we detected metatags xyz but we were actually expecting metatags abc

In this example, it works locally via localtunnel but not in prod and the error doesn't indicate why -- image URL is identical between the two

cc @deodad
https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/3350420c-53ef-4955-dc07-690c51ce9200/original
As part of the recent Paragraph redesign we migrated from the NextJS pages directory to the app directory and Next 15 best practices:

- heavy use of React server components + suspense boundaries + fetching as far down the React component tree as possible (versus, before, we blocked the entire page for ~seconds until everything loaded)
- partial pre-rendering, so suspense boundaries load immediately
- fetch-level caching w/ revalidation

Cool to see core metrics improve significantly as a result.
https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/65281e9f-3b64-41c2-f792-3640967b5000/original
https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/546b56dd-d771-4602-7bc8-78ba57467900/original
Flagging that I would love a way to verify frame context data!

Would be great to log users directly into /paragraph when launched into a frame, but since this is spoofable, can't do so without first requiring eg signature.
https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/84e010cd-ea6b-4644-7401-f1eceb8e6a00/original
What's the best way to determine, *on the server side*, if a user is viewing a page within a frame v2?

Client side solutions won't work for us given that we heavily rely on RSCs.

User agent contains Warpcast/462?

cc @deodad