in-progress· ongoing
Lattice
Local-first task graph for build systems
TypeScriptNode.jsSQLiteS3
Why I built this
Monorepo build tools are either too rigid (Bazel) or too leaky (Turborepo). I want fine-grained caching with TypeScript-native configuration.
The problem
Caching is the unsolved problem of monorepos.
target users: Monorepo maintainers.
Core features
- Function-level memoization
- Remote cache via S3
- Dependency graph visualization
Technical challenges
- Hashing inputs without reading every file
Engineering decisions
Why SQLite for local cache
Process-local, transactional, embeddable. No daemon to manage.
Lessons learned
- Content-addressed caching is a religion. Once you commit, you commit fully.