When I started writing QuickChat, I was only 15.
First version was just 90 lines of pure console code.
Now - it is 900+ lines with a full GUI, custom protocol and Windows 2000 up to 11 support.
And project is still maintained.
Here's the story of entire project.
Beginning: P2P Messenger 1.0

Screenshot of P2P Messenger 1.0
The project originally was named "P2P Messenger". First version released on 24 May 2025.
It was very simple prototype:
- Console
- TCP pipe
- No GUI, no names, no sounds
- No error handling
Just two computers exchanging text.
P2P Messenger 1.0g.

Screenshot of P2P Messenger 1.0g
The first graphical version appeared in May 2025.
But it was just a prototype, which gave starting point.
P2P Messenger 1.1

Screenshot of P2P Messenger 1.1
It was the first version with a real GUI. It was released on 27 May 2025
It had:
- A proper window
- Username based on computer name
- User list
This version was no longer a prototype - it became a fully working messenger.
P2P Messenger 1.2 will be skipped because it was a minor update - replaced LISTBOX with EDIT
P2P Messenger 1.5

Screenshot of P2P Messenger 1.5
At this point, the project had grown into a proper messenger:
- Sounds - join, leave, new message
- Menu bar - Sesson, Help
- Chat logging - now it can record chat and events
- About dialog - every app needs at least one
- Fonts - Tahoma for UI, Lucida Console for messages
- Icon - because it became proper messenger, it got its icon.
Also it finally got:
- Removing trailing whitespaces and newlines
- Join and leave message
But there was one big problem - it lacked error handling at all.
As result, the app just would crash or continue as is.
P2P Messenger 2.0 also skipped because it was mostly empty update - just changed header to "winsock2.h" and nothing else.
Some early dates were lost during migration from one PC to another (NTFS -> FAT32 flash drive). The code survived. The timestamps didn't.
P2P Messenger 2.1 Beta
2.1 Beta was supposed to be the final, most complete version.
It had a lot of new features and new utility "Server Stop" (it existed only as part of P2P Messenger 2.1). Sounds good, right?
Actually, no - it was a mess.
The code was hard to navigate, features was on top of each other, error handling was inconsistent. Architecture was filled with a problems.
Every time I was adding something new, something else would be broken.
It worked, but barely.
Chat2
After P2P Messenger 2.1 Beta, I renamed the project to Chat2.
The only version was from 2 June 2025
It was intended to be a fresh start and make it more secure.
It had several changes:
- Added security dialog - users now could accept or reject connection.
- Fonts was simplified to just Tahoma.
- Tried to make code cleaner.
But it didn't helped - code still was messy. Adding features didn't fixed broken foundation.
The Legacy: WinP2P and WinChat
After failed Chat2, the project was renamed again - WinP2P.
It had a lot of small updates:
- Added error handling
- Changed port from 8888 to 50000 (to avoid conflicts with HTTP proxies and servers)
- Tried to implement tray notifications (failed)
- Switched fully to WinSock 2.0
Then came WinChat - a much simplified version:
- Removed user list
- Removed window flashing (will return later)
But it didn't last long. After several hours it got its final name - QuickChat.
QuickChat Legacy (November 2025 - January 2026)
At this time, QuickChat was growing very fast:
November 2025:
- Implementation of XOR
- Window resizing
December 2025:
- Buffer extended to 4096 characters
- Added Close Connection (for server only)
- Logging became optional
- Millisecond precision in logs
January 2026:
- XOR became optional
- Protocol selection dialog
- Sound, Always on Top, Window Flash toggle
- Computer Info, Clear Chat
Legacy era ended on 6 January 2026.
QuickChat Modern (January 2026 - Present)

Screenshot of latest QuickChat
Just hours after Legacy ended, Modern began.
It added a lot of features:
- Separated ports: QCS (65501), QC (65502)
- QC/QCS protocol shows in title bar
- Protocol got its marker:
QC:PCNAME\0 - Ping command: QCPING/QCPONG
- Full Unicode support
But at that time, it was still private.
The first public release happened on 12 July 2026.
16 July 2026 - source code was opened.
18 July 2026 - security fixes.
26 July 2026 - build system update.
MicroChat - Minimalistic framework
Alongside QuickChat, I was building MicroChat - a lightweight framework based on the same engine.
It was QuickChat but without extras:
- No XOR
- No protocol
- No sounds
- No flash
- TCP and basic GUI
Sometimes you don't need all the features - just need to exchange text over network.
Initial release was on 15 January 2026, but it still was private.
First public release was on 14 February 2026.
18 July 2026 - full Unicode and dropping Windows 9x support.
26 July 2026 - minor build system update.
MicroChat was also the testing ground for features later added to QuickChat.
What I learned
- Document everything - even if no one reads it, it still worth documenting
- Be honest - XOR is obfuscation, not encryption
- Trust yourself - you don't need permssion to start something
Links
QuickChat: https://github.com/WinXP655/quickchat
MicroChat: https://github.com/WinXP655/microchat
P2P Messenger (archive): https://github.com/WinXP655/p2pmsgr
QuickChat Full Changelog: CHANGELOG.md
MicroChat Full Changelog: CHANGELOG.md
Questions?
If you have questions, you're welcome to ask me.


Top comments (0)