Intent Bus: SQLite job bus for coordinating scripts across devices.
Intent Bus provides a minimal-overhead, SQLite-backed job queue for cross-device automation, eliminating the need for complex infrastructure like Redis or RabbitMQ. It facilitates loosely-coupled scripts—allowing a cloud scraper to post a job (an 'intent') which can then be claimed and executed by a worker on a local device (e.g., Termux on Android).
liveIntent Bus
TaglineSQLite job bus for coordinating scripts across devices.
Platformweb
CategoryDeveloper Tools · Automation
Visitgithub.com
Source
The promise of truly decentralized, cross-device automation often hits a bottleneck: the infrastructure overhead. Developers typically have to choose between brittle cron jobs or adopting heavyweight message brokers like RabbitMQ or Redis Streams. Intent Bus, by leveraging a combination of Flask and SQLite, elegantly addresses this gap. It functions as a simple, persistent job bus, making cross-device script coordination possible with minimal external dependency, effectively turning a shared SQLite database into a robust coordination layer.
Its core mechanism is straightforward: **Push, Claim, Fulfill**. A remote process (the Pusher) posts a structured 'intent' containing a goal and payload to the central Flask API. The workers—which can be anything from a Python script on a VPS to a simple Bash script on a mobile device—then poll the API, attempting to atomically 'claim' a job matching their specific `?goal=`. This atomic lock, backed by SQLite's transaction integrity, is crucial as it guarantees that only one worker can process a given job, even under heavy contention. The workflow concludes when the worker 'fulfills' the intent, allowing the queue to naturally clean up and make the job unavailable.
From an engineering perspective, the thoughtful features elevate this beyond a basic database table. The inclusion of topic routing via the `?goal=` parameter ensures that workers only consume jobs relevant to their capabilities, avoiding unnecessary polling. Furthermore, the built-in retry mechanism—where a job reverts to the queue if not fulfilled within 60 seconds—provides critical resilience against transient failures or unresponsive workers. This architecture makes it ideal for scenarios ranging from cross-platform notification systems (e.g., triggering an Android notification from a remote cloud function) to complex devops tasks, such as running a `git pull` on an old device.
Intent Bus is a powerful piece of developer tooling because its deployment footprint is so small. By keeping the backend dependency stack limited to Flask and SQLite, it drastically lowers the barrier to entry for reliable distributed automation. It allows builders to focus on the logic of their workflows—the *what*—rather than the complexity of message queue configuration, server scaling, or state management—the *how*. For any developer tired of fighting infrastructure complexity for reliable, distributed scripting, this implementation offers a pragmatic and elegant alternative.
Article Tags
indiedeveloper toolsautomation