Highlights
CRDT Versioning Deep Dive
View DetailsI spent days trying to understand how version history works in CRDTs. Turns out snapshots don't store content at all—they're 20-50 byte mathematical reference points. Here's everything I learned about StateVectors, DeleteSets, and why diffing in Yjs is fundamentally different from git.
Plane Wiki launch
View DetailsAnnouncement post.
GSoC'24 Mentor
View DetailsRocket.Chat project.
GSoC'23 Rocket.Chat
View DetailsServer side npm components
Testimonials





Joseph Jacks
Founder and General Partner OSS Capital
Palani is very gifted and driven. In all my interactions with him at Plane, he has been exceptionally creative, swift and elegant in delivering solutions that move the product forward. Both at a very low level in code and also design and communication. I cannot recommend Palani more highly. He will bring transformative results to any organization that he graces.
Projects
Writing
View allOn Work-Life Balance: Reframing How I Live
Moving beyond the false binary of toxic hustle vs. disconnected work-life balance. How I structure the 24 hours I have, and why treating time as a finite budget changes everything.
Yjs 2‑step sync
State vectors and sync.
ProseMirror internals
Efficient tree lookups.
#RealtimeSync notes
CRDT learning logs.