Samuel
@samuel.fm
would anyone be interested in a talk about backend-for-frontend architecture
14 4 120
Christopher Jr Riley
I don't think I'm qualified enough to speak about that 😅 ... yet! (Still converting a bunch of the TypeScript and Go code to Swift. Man is this complicated...)
3
Samuel
heh - unfortunately I live in Europe so bit of a trip! but thanks, very kind to offer :)
1 1
Emelia
What are your thoughts about storage local compute? I wrote about this in regards to Solid because we were seeing BFFs that just accumulated people's data because "talking to a pod is too hard"
1 2
Samuel
atproto is heavily architected around a hard separation between data hosting and data aggregation/presentation. we want to keep hosting as cheap as possible - going viral shouldn’t cost you money! I suppose in atproto, the appview *is* a BFF, with the PDS network being the “real” backend
3 7
Samuel
what I’m talking about is BFF in the context of atproto - thinner clients, thicker appviews
dan@danabra.mov· 29 Mar 2025
these generic APIs often have issues with underfetching (not enough data for a screen, need multiple requests or worse — multiple roundtrips) and overfetching (grabbing more stuff that this particular screen doesn’t actually need). the idea with BFF is to be more tailored “server part of the client”
2 6
Emelia
yeah, for solid it was this notion that interacting with a pod and lots of small files was hard, where as "stick everything in a huge postgresql database" was easy, but Solid doesn't really have a way to do sync (there is Linked Data Notifications, but that's not really sync)
1 1
Emelia
So you end up with a postgresql containing data that's incorrect or has been deleted, because it wasn't refetched again, and you have no clear policies on data segregation and use: once your pods' data is in someone's postgresql database, what they do with the data is anyone's guess.
1 1
Emelia
That's probably less of a concern for AT Proto where all data is public and easily sync-able.
3
Emelia
Yeah, for Solid the privacy controls in the pod are really what makes storage-local compute a rather interesting notion — sure, you can always do BFF, but if you're needing to aggregate data or have continuous access to the pod, maybe you're better off paying the pod owner / operator for compute.
1 1
Emelia
It'd actually be bsky paying bsky for Jerry going viral, but if you go viral than bsky would be paying you for the extra load on your infra, maybe? idk.
1
Samuel
oh I’m thinking for Ahoy (the atproto conf). not sure the nitty-gritty about atproto BFF would be relevant for a non-atproto crowd
2 2
Kevin Marks
I'd find a real world post-GraphQL discussion interesting, but I may be less completely frontend orientated
1
stewleach.bsky.social
It would be great if you could provide some use-case and definition of what you mean by BFF. I've worked in this area, so I'm interested, but I fear my experience is biasing me towards thinking I know what context you are talking about.