I'm a Staff Software Engineer who's been building with Flutter since before 1.12 shipped in December 2019 — 6+ years now creating efficient, scalable mobile experiences for iOS and Android. Outside of app work, I spend most of my open-source time writing Dart dev tooling — CLIs, code generators, and infrastructure that makes other Dart/Flutter projects easier to build and maintain.
These three are my active focus right now, designed to work together across Dart mono-repos:
|
revali
revali.dev Dart backend framework inspired by NestJS — decorators, DI, and structure for building APIs in Dart. |
sip
CLI to manage Dart mono-repos — run scripts, tests, and pub commands across every package from one place. |
hooksman
Git hooks and tasks defined as Dart scripts or shell commands — a Dart-native alternative to Husky/lint-staged. |
Also experimenting with recently:
- import_ozempic 💉 — trims unused/bloated imports from Dart codebases
- barreler — generates and auto-updates barrel files as you add or remove files from a Dart project
- pub_version_plus — CLI for incrementing
pubspec.yamlversion numbers - bloc_enhancer — annotation package that streamlines Bloc event/state classes and simplifies state type checks
Packages I've published and kept maintained over time:
| Project | Description | |
|---|---|---|
| minesweeper | Classic Minesweeper, recreated for the command line | |
| change_case | Transform strings between camelCase, snake_case, PascalCase, and more |
|
| autoequal / equatable_gen | Code generation for Equatable — auto-builds props getters |
|
| go_router_paths | Type-safe path definitions for the go_router package |
|
| snake | Classic Snake, recreated for the command line | |
| pnv | Encrypt/decrypt secrets and manage env files for Dart & Flutter projects |
All packages are published under pub.dev/publishers/mrgnhnt.com.
Clean code, practical tools, and a healthy obsession with Hyrule. 🗡️
Star something you like, open an issue, or say hi — always happy to connect with fellow devs.




