A network patch panel with numbered ports, one blue cable plugged into port 074 among grey ones

What to Use Instead of Firebase for Chat

Every list of Firebase alternatives is a list of databases. If the thing you built on Firebase is chat, that’s the wrong list. Here are the options for chat specifically, with what each one makes you rebuild and what its bill looks like.

September 18, 2026 · 11 min · Vladimir Cvetić
A hand holding a typed index card at the front of an open library card catalog drawer

What Goes in CLAUDE.md, and What Belongs in an ADR

You read the previous post and pasted the why into CLAUDE.md, and now that paragraph rides along on every task the agent ever runs. The sign belongs there. The reason doesn’t.

September 9, 2026 · 8 min · Vladimir Cvetić
Four walled-off app containers, each holding its own green presence dot, with the links between them severed

Presence Was Supposed to Be Infrastructure

XMPP didn’t lose. The web turned presence into a product and rented it back to us one app at a time. Matrix isn’t the successor — it’s a different bet, and the thing it turned off is the P.

August 31, 2026 · 8 min · Vladimir Cvetić

ADRs for AI-Assisted Codebases: Write Down Why, or the Agent Will Undo It

ADRs were written for the future engineer who asks ‘why is it like this?’ That engineer is now an AI agent, it arrives in minutes instead of years, and it doesn’t ask - it refactors.

August 23, 2026 · 4 min · Vladimir Cvetić
Four-phase software architecture process diagram showing requirements gathering, architectural views, model building, and trade-off analysis in a continuous cycle.

It Depends

“It depends” is not indecision, it reflects the core truth that every architectural decision involves trade-offs. Aim of this post is to show familiarize you with techniques like ATAM and decision matrices to make context-aware, defensible architecture choices.

August 8, 2025 · 9 min · Vladimir Cvetić
Example Structurizr C4 diagram illustrating e-commerce microservices architecture

Documenting System Design with Structurizr & ADRs

Discover how to integrate ‘architecture as code’ using Structurizr and Architecture Decision Records (ADRs) to maintain version-controlled, living documentation for cloud and microservices architectures.

August 7, 2025 · 14 min · Vladimir Cvetić
Why you shoud not use Firebase for your real-time chat. TLDR; Jabber is great

Why you shoud not use Firebase for your real-time chat. TLDR; Jabber is great

Many developers have fallen into the trap of using Firebase as a quick fix for real-time chat. With just a few lines of code, you can push messages to a database and have them sync across clients in real time. It’s a magical feeling – within an afternoon, you can get a basic chat working in your web or mobile app. No server code, no infrastructure headaches. Sounds too good to be true, doesn’t it?

May 27, 2025 · 13 min · Vladimir Cvetić