In this paper, we propose a slot-based protocol that does not rely on global-time synchronization to achieve a self-healing mesh network. With the proposed protocol, each node synchronizes with its neighbors locally by adjusting its time to transmit based on the reception instant of a decoded beacon signal. Also, it determines its slots without any coordinator to avoid collisions. Finally, to communicate the messages over the mesh network, it identifies the forwarding nodes on the shortest path without knowing the entire communication graph. We show that the proposed protocol can effectively resolve collisions over time while enabling nodes to synchronize with each other in a distributed manner. We numerically analyze the performance of the proposed protocol for different configurations under a realistic channel model considering asymmetrical links. We also implement the proposed method in practice with \ac{LoRa} devices. We demonstrate that the nodes adapt themselves to changes in the network and deliver a message from a sensing node to a reference node via multi-hop routing.