I Rebuilt ICQ 5 as a WhatsApp Client — and the Download Page Tells You It Might Get You Banned - DEV Community

DEV Community

Felix Helleckes
Felix Helleckes

Posted on AI-assisted

I Rebuilt ICQ 5 as a WhatsApp Client — and the Download Page Tells You It Might Get You Banned

A desktop messenger that puts your real WhatsApp and Telegram chats behind the 2003 interface, uh-oh sound included. Open source, unsigned, and honest about what it costs you.

The Retrogram contact list: WhatsApp and Telegram as tabs, groups folded at the top, unread counters per chat, in the dark teal ICQ 5 skin.

Screenshot from the running app. Contact names are blacked out; nothing else is retouched.

ICQ's servers went dark for good on 26 June 2024. Every contact list on them went with it.

I did not want ICQ back. Rebuilding the network would have given me a beautiful client with nobody in it — which is how most nostalgia projects die. What I wanted was the interface: the dark teal, the separate window per contact that you arranged across your desktop like index cards, the flower icon, and that one sound.

So Retrogram is ICQ 5's interface sitting on top of the messengers you already use. Your contacts are already there, because they are your actual WhatsApp and Telegram contacts. It is Electron 29 and React 18, and it runs on Windows, macOS and Linux.

And before any of the fun parts, the part that matters.

It might get your WhatsApp account banned

Retrogram speaks WhatsApp's multi-device protocol directly, the same way other third-party clients do. WhatsApp's Terms of Service permit their official apps and nothing else, and they do act against unofficial clients.

I cannot promise you otherwise, and neither can anybody else who ships something like this. So: do not use it on an account you cannot afford to lose.

I put that sentence on the download page, above the buttons, in the same size as everything else. It costs me downloads. I have watched the number and it is not imaginary. But a retro messenger is not worth somebody losing the account their family group chat lives in, and anyone who buries that warning in a FAQ footer knows exactly what they are doing.

Telegram is a different situation — it has an official API for third-party clients and this kind of thing is expected there.

Three questions, answered properly

People downloading an unsigned .exe from a stranger on the internet ask the same three things, and they deserve straight answers.

Who can read my messages? No server of mine is involved anywhere. The app connects from your machine straight to WhatsApp and Telegram. Your logins and chat cache sit in a local ICQ-Data folder. The whole source is on GitHub — you do not have to believe me, you can read it, and if you would rather, you can build it yourself in four commands.

Why does Windows warn me? Because the builds are not code-signed. A certificate costs money that a hobby project does not have, so SmartScreen flags every unknown publisher. More info → Run anyway. On macOS, right-click the app and choose Open. I would love to tell you this is fine and normal; it is normal, and you should still be suspicious of unsigned binaries in general.

Is this ICQ coming back? No. Independent project, no connection to ICQ or AOL, no revived network.

What actually got rebuilt

The separate chat window per contact is the feature everything else hangs off. Modern messengers put every conversation in one window with a sidebar, which is efficient and completely flattens the sense that each conversation is its own place. In ICQ 5 a chat was an object on your desktop. You moved it. You left it open in a corner. You could glance at three of them at once.

Getting that to work with modern messaging was most of the project. Each window needs its own state, its own typing indicator, its own read receipts, and they all have to stay in sync with one connection underneath.

What made it across: images, videos, GIFs, stickers (animated ones on Telegram), voice messages, read receipts with WhatsApp's four acknowledgement states, the live typing indicator, a media lightbox, collapsible groups, unread badges, drag-and-drop file transfer, and profile pictures loaded in the background.

Three skins, all pure CSS variables: ICQ Retro Dark in the original teal, ICQ Retro Light in green, and an MSN Messenger blue-and-white for people whose nostalgia points somewhere slightly different. One click re-skins everything.

There are also two games in there, Slide a Lama and Pool, which exist for no defensible reason.

And the uh-oh. Obviously the uh-oh. In Germany, where ICQ was genuinely enormous, that sound does something to people in their late thirties that no feature list can explain.

The unglamorous engineering notes

Early versions bundled a browser to drive WhatsApp Web. That is how most of these projects start and it is miserable: heavy, fragile, and on Linux it dragged in a pile of runtime dependencies. The app now speaks the protocol directly, which removed the browser, the Linux dependency mess, and a whole category of bugs where the thing broke because a web interface moved a button.

Sessions survive restarts — scan the QR once. Telegram takes QR or phone number with 2FA. Neither service needs an API key or a developer account from you.

The portable Windows build is a single .exe whose login lives in its own folder, so you can carry it. You can run it on several machines at once; each links as its own device.

It is small, and that is fine

Nine stars. A few dozen downloads per release. I am not pretending this is a movement.

But the people who do use it send me the kind of email you do not get for a utility — mostly one sentence about where they were in 2003. That is a reasonable return on a side project.

If you want to look at it: the whole thing is on GitHub, issues included. The build instructions are four lines and I have kept them working, which is the one courtesy every open-source project owes and about half of them deliver.

Retrogram is an independent project with no connection to ICQ, AOL, Meta or Telegram.

Download · Source on GitHub


Felix Helleckes — QA & Test Automation Engineer in Cologne. More of what I build: felix-helleckes.github.io

Top comments (0)