Robot Rabbit

Robot Rabbit

translated from Russian via ChatGPT RU EN BunnyFleet
#17

Finally found time to return to my project. I slightly refined the UI and added a Command Palette to quickly access frequently used contextual actions. By default, if no object is selected, it includes search and some basic actions and settings.

Click to Play
Preview
...
#16

I think I know why I love working with maps. It's the feeling that you're observing everything from above and can move to any point in just a few seconds.

Click to Play
Preview
...
#15

It turns out that creating a convenient real-time cache invalidation mechanism for clients is far from a trivial task. It all started with react-query and cache invalidation after mutations + periodic updates at intervals.

...
#14

It ended with a custom aggressive cache and a react hook for smart batching on the client side, a change queue, and web sockets in combination with LISTEN/NOTIFY at the database level. By the time I got to this, I had the chance to try logical replication and wal2json.

...
#13

It almost works well, but I'm left with more questions than confidence that I understand how it works. I've gone back to classic triggers and a change log table.

...
...
#11

WIP: markers and cards refactored

Preview
...
#10

Prototyping route optimization 🚴‍♂️

Preview
...
#9

Which side are you on?

Preview Preview
...
#8

WIP

Preview
...
#7

NewProfilePic

Preview
...
...
#5

Got access to the public beta of Mapbox Optimization API. Excited to compare it with OR-Tools, VROOM, and jsprit 🐇

...
#4

New object explorer

Preview
...
#3

Implementing real-time UIs in not about WebSockets and protocols, it's mostly about state management and cache invalidation. Moreover, WebSockets and pg LISTEN/NOTIFY introduce a new level of complexity and problems. Proper events and polling make the problem almost trivial.

...
#2

Just dropped a new task filter. The courier_id field on the task table was a bad idea so introduced a new entity called run to model task sequences.

Preview
...
#1

The first preview of a new last-mile delivery platform. There's still so much to do 🚀

Preview