Many development projects eventually accumulate scripts that need to run for a long time or run repeatedly.
Things like:
- data processing pipelines
- machine learning training jobs
- automation scripts
- maintenance tasks
- build or deployment utilities
In practice, these are often managed with a mix of cron jobs, shell scripts, and long-running terminal sessions. It works, but over time it becomes difficult to answer simple questions:
- What jobs are currently running?
- What failed recently?
- Where can I see logs?
- Which tasks belong to which project?
I kept running into this problem, so I built a tool called Husky.
The Idea: Project-Based Scheduling
Most scheduling tools are system-centric.
For example, cron schedules tasks at the system level, which means jobs from different projects get mixed together. But in reality, developers usually think about tasks in terms of projects, not systems. So Husky takes a different approach: project-based scheduling. Each project defines its own tasks, and Husky manages them through a local daemon.
Instead of thinking: “What jobs are scheduled on this machine?”
you think: “What jobs belong to this project?”
What Husky Does
Husky is a lightweight scheduler designed for local development workflows. It includes:
- a background scheduler daemon
- a CLI for managing jobs
- a built-in web dashboard
- monitoring for running tasks
One design goal was simplicity. The dashboard is embedded directly in the daemon, so there’s no separate frontend service to run. You start the daemon, define your project tasks, and Husky handles scheduling and monitoring.
Where It Fits
There are already excellent orchestration tools like Airflow, Prefect, and others. But those systems are typically designed for distributed pipelines and production environments. Husky is meant for something different:
- local development workflows.
It sits somewhere between cron scripts and full orchestration frameworks and tries to provide better visibility and organization for project tasks.
Example Use Cases
Some scenarios where Husky can be useful:
Running long-lived scripts: Instead of leaving a terminal open for hours, run the task through Husky and monitor it through the dashboard.
Local data pipelines: Schedule ETL tasks that belong to a specific project.
Development automation: Run maintenance or background tasks tied to a repository.
Open Source
Husky is completely open source and still early in development.
GitHub:
https://github.com/husky-scheduler/husky
Docs:
https://husky-scheduler.github.io/husky/
This is my first open source project, so I’d really appreciate feedback or ideas for improving it.
If you’ve dealt with similar workflow problems, I’d love to hear how you manage long-running project tasks.

Top comments (0)