This is a real-time collaborative todo list powered by the Forerunner Protocol. Every change syncs instantly across all connected clients through decentralized synchronizer nodes — no server code required.
Architecture:
TodoModel — shared deterministic state (todo array with id, text, done)TodoView — local DOM rendering + event handlersadd, toggle, delete, clearDonethis.random() for deterministic uniquenessclass TodoModel extends Multisynq.Model {
init() {
this.todos = [];
this.subscribe("todo", "add", this.onAdd);
this.subscribe("todo", "toggle", this.onToggle);
this.subscribe("todo", "delete", this.onDelete);
}
onAdd({ text }) {
const id = Math.floor(this.random() * 1e9).toString(36);
this.todos.push({ id, text, done: false });
}
onToggle({ id }) {
const t = this.todos.find(t => t.id === id);
if (t) t.done = !t.done;
}
}
Build your own: startsynqing.com