Inspiration

As Android developers, we've run into this more times than we wanted: kick off a long Gradle build, something crashes halfway through, and your editor session is gone with it. GridLock came from that frustration.

The problem isn't limited to compilers - video editors, image processors, long-running test suites, bundlers, and custom data jobs can all peg the CPU, freeze the UI, or crash the process that launched them, often at the worst possible moment when you've been heads-down for hours without a clean save or checkpoint. Saved checkpoints only take you to the state of the program BEFORE the task, meaning you still have to run the job again, with no guarantee that it won't happen again.

What it does

GridLock protects your development workflow from jobs by isolating heavy tasks from your editor session. Heavy work runs on other machines that are otherwise idle - desktops in the corner, a teammate's idle box — so your primary machine keeps your editor, browser, and unsaved buffers stable instead of riding the same failure domain as the job.

  • Sandboxed workers -> builds and applications run in a sandboxed, isolated container
  • Auto-recovery -> detects hangs and crashes, retries automatically with checkpoint support
  • State preservation -> persists logs and intermediate artifacts so you can resume, not restart

GridLock isn't tied to one stack. If you can express a job as a command with inputs and outputs, you can run it through the same isolated worker path: mobile builds, web bundlers, backend jobs, game builds, data processing, video rendering, and more.

In office or lab environments this becomes a clear win-win: you're surrounded by powerful computers so when yours isn't powerful enough, you never lose progress.

How we built it

GridLock is a lightweight orchestration layer between the IDE-triggered build command and the actual build workers.

  • A coordinator service dispatches compile tasks to isolated workers
  • Crash-safe logging + artifact snapshots preserve useful state after failure
  • A small UI layer reports status and recovery options in real time

This architecture separates "developer environment stability" from "build process instability." Workers are just processes on any reachable host, so we can route jobs to underused hardware without everyone needing identical dev boxes.

We also added a Solana integration for teams that want verifiable provenance and micropayments for worker time. The coordinator can publish job metadata and artifact hashes to a Solana program so teams have an immutable timestamped record of what ran where. Workers can earn small payments for accepting jobs. The on-chain layer is optional and fully abstracted behind the coordinator — projects that don't need it can ignore it entirely.

Challenges we ran into

  • State recovery is hard — deciding what is safe to cache or reuse after partial failure
  • False positives — distinguishing a slow build from a deadlocked or crashed one
  • Toolchain variance — handling different Gradle and project setups consistently

Accomplishments that we're proud of

  • Built a working failure-isolation pipeline under hackathon time constraints
  • Reduced full-restart pain by preserving logs and artifacts and enabling resume flows
  • Turned a common "ugh, not again" problem into a practical reliability tool

What we learned

  • Reliability features feel invisible until they fail — then they're everything
  • Developer experience is as much about recovery speed as raw build speed
  • Good observability (structured logs + status signals) is non-negotiable
  • Designing for failure paths early dramatically improves product quality
  • Treating "where the work runs" as separate from "where you think" turns a bad afternoon into a recoverable blip

What's next for GridLock

  • IDE plugins — Android Studio first, with one-click integration
  • Build analytics dashboard — failure patterns, flaky modules, and MTTR
  • Easier idle machine onboarding — pairing, quotas, and "only when idle" rules for home, lab, and office
  • Solana worker marketplace — verifiable job records, artifact timestamps, and micropayment support for third-party and volunteer workers
  • Team features — shared cache strategy, incident history, and policy controls

Built With

Share this project:

Updates