The pipeline ships, the pool had something in it, and I got engaged
Finished the Buffer integration, added cover images to the blog, and spent the week in Hội An and Đà Nẵng. Also asked someone to marry me.

Shorter week, different energy.
The content pipeline is finished
Finished the content pipeline. The last piece was Buffer's GraphQL API. ´createPost´ not ´createIdea´, enums lowercase, one call with the full thread[] array. Admin now has a Threads preview block with editable cards, character counts, and a schedule picker defaulting to next Monday 9am EST. Timezone math with Intl and no extra dependencies, which felt unnecessarily satisfying.
Also fixed JSON extraction that was dying at character 2400 whenever the body had a } inside a string. Stack-based brace scanner from the first {. Works now.
Cover images and real post pages
Added cover image support to posts this week too. Images float right at ~40% width, text wraps around. Took switching the prose from display: grid to block to make floats work, grid silently blocks them. Real /writing/[slug] pages so OG metadata actually reaches crawlers. Cover images also show up in the share preview on Threads, which was the whole point.
Basic flow is done. Still not happy with the modal though. Every time I look at the admin page I like what I see and the post panel feels inferior. Probably migrating to full pages soon.
Hội An, Đà Nẵng, and the engagement
Spent the week in Hội An and Đà Nẵng. Hotel in Hội An had a great pool. Brought my goggles. Found something in the pool that definitely shouldn't have been there. Warned the staff, they cleaned it quickly. Maybe I should've pushed for something in return. Even a thank you would've been nice.
Last post I mentioned the 27th. I asked my girlfriend to marry me on a boat, at night. She said yes. Also ended up with a ring because equal treatment. Onto other adult things.
Đà Nẵng was full of Russians and sunshine. Stayed at the Olwen Hotel, small rooms but good design. Beach too shallow for real swimming. Donald Trung was a bad recommendation. Flight back delayed about an hour. Suitcase wheel nearly gone but survived.
Grab at the new Saigon terminal was a mess. Drivers stand exactly where the Grab pickup is, app open, show you the app price, then close the app and keep everything themselves. I refused and spent a long time actually finding a real Grab even though the stop was full of them.