Dinos Theodorou

@dinostheo.bsky.social

Software Engineer @buffer.com 🛠️ In 🇳🇱 from 🇬🇷 ❤️🏀 https://dinos.start.page

The sound of a Greek summer 🇬🇷 This is the τζιτζίκι (tzitziki), the cicada. Not to be confused with tzatziki 😄 It makes a sound all day long and as a kid I found it super annoying. Hearing it again after many years though, made me happy. It just made me realize how much I ve missed Greek summers.

Cicada bug on an olive tree

Haaland's club scoring ratio is ridiculous, but the one with the national team feels unreal. No disrespect to Norway's team 🙏 , lots of talent there and I would love to see them go very far. Just wondering what his numbers would be, if he would be playing for Germany, Spain, France or England

Erling Haaland's scoring performances for his clubs and national team, screenshoted from his Wikipedia page

The best personal experience with AI, is when you are looking for the name of something. You describe how it looks, where you used it, saw it, etc. and gives you a few options. Then you can search in any language, market etc. My latest find is in Dutch, "wisselstift" 😅

Part 5️⃣: Duplicate comments (aka how we shot ourselves in the foot 😅) We almost nailed the data model for Buffer’s Community. Then we broke it and started creating duplicate comments in some edge cases 🫠 ⬇️

The famous spiderman "clone" meme, with 2 spidermen pointing to each other. 
This is as a funny reference to the text writing about duplicates

Part 4️⃣ : Comments trees Have you ever had one of these engineering role interviews where you have to build a tree? Something you most probably never have to do in your role? At @buffer.com, we don’t ask those type of questions. Yet, the irony is that we had to build one for Community 😅

Screenshot of the UI representation Comments contextual tree, in Buffer's Community feature.

Part 3️⃣: How we designed our ingestion pipelines (and why) Our ingestion design is intentionally dead simple 😅 At its core, it’s a classic producer → consumer pattern, with a few variations depending on how data is produced.

A high level system design of an ingestion pipeline. 

Gateway service -> SNS -> SQS -> Consumer worker -> DB

Part 2: When real-time integrations went down just after launch The first week after launching Community at @buffer.com, we experienced 2 major outages with our real-time integrations. Both were outside our control, but still high impact for a newly launched feature.

2 timeseries Datadog charts displaying a outage on 13 and 20 November respectively by pointing to the moment with a red arrow.

Part 1: How we switched ON Community across 6 networks and 8 API integrations On the 12th of November we launched Community at @buffer.com We launched across • Threads • Instagram, 2 different APIs • Facebook • LinkedIn, 2 different delivery mechanisms • Bluesky • X

Monitors of comments traffic across 6 different services, Bluesky, X, Facebook, Instagram, Threads and LinkedIn

Now that the dust has settled from @buffer.com Community launch, I’m starting a mini-series on the engineering work behind the data ingestion and processing pipelines. It’s more of a journal than a guide. Sharing what we built, why we chose certain paths, and what surprised us 😅

Marketing screenshot for the Buffer's community Comments Score feature.

We've been going through some photos from when we first moved into our house and stumbled upon my home office setup from 2018. It took me about ~1.5 year to paint the room, lay the floor and buy a desk. And still I prefer coding from the couch, sitting in some weird position. 😅

Office setup with a desk made of moving boxesOffice desk in a messy room. Tools and books everywhere.

Big day for our team at @buffer.com! We have just launched Community, a calm and focused way to manage your comments across Threads, LinkedIn, Instagram, X and right here on Bluesky. It’s live now and available on every plan, even Free. 💬

Buffer's Community feature launch graphic

Way back I decided to list both my formal name and my calling name on LinkedIn.
 Why? Because outside of Greece, almost nobody knows that Dinos is just the short version of Konstantinos (in Greek, “NT” sounds like “D”).

Collage of screenshot of DMs, which display a name as wrongly fetched from the LinkedIn API.