class DatVu extends SoftwareEngineer {
@override
final String role = 'Software Engineer · Mobile & Flutter';
final String company = 'Linagora';
final String location = 'Ha Noi, Viet Nam 🇻🇳';
final List<String> focus = [
'Cross-platform apps: Android · iOS · Web (Flutter)',
'Clean architecture, testing & release quality',
'Protocols & networking: JMAP · DNS · IP',
'AI agents that automate the software lifecycle',
];
@override
String get motto => 'Ship clean code. Measure. Automate the rest.';
}- 🏆 #1 contributor to Twake Mail (3.6k+ commits), an open-source, multi-platform email client on the JMAP protocol.
- 📦 Maintaining Dart & Flutter packages on pub.dev (see below), from UI widgets to a DNS/IP networking stack.
- 🤖 Learning, researching and building AI tools that automate the software lifecycle, from spec to review, QA and release, to cut delivery time without lowering the quality bar (more).
- 🌱 Currently researching multi-agent orchestration, MCP integrations and LLM evaluation & guardrails.
Mobile & Cross-platform
Web & Data
DevOps & Tools
Mission: automate every repeatable step of software delivery with AI agents, so engineers spend their time on design and judgment, not on toil.
Principle: AI proposes, deterministic checks decide. Every agent output is verified by tests, policies or a human before it ships.
flowchart LR
A["📝 Spec"] --> B["💻 Code<br/><sub>coding agents</sub>"]
B --> C["🔍 Review<br/><sub>review agent</sub>"]
C --> D["🧪 QA<br/><sub>generated tests</sub>"]
D --> E(["🚦 Gate"])
E -->|GO| F["🚀 Ship"]
E -.->|NO_GO| B
| Tool | What it automates |
|---|---|
| 🧪 qa-agent-kit | Evidence-driven QA for pull requests: permission test matrices, a checksummed evidence registry and a GO / NO_GO release gate. AI drafts tests and triages failures; only validated results can pass the gate. |
| 🔍 Branch review agent | A Claude Code skill that reviews any MR/PR (GitHub, GitLab, Bitbucket) for architecture, correctness, performance, ReDoS, security and memory leaks, then posts line-anchored comments, fixes the branch or fills missing unit & e2e tests. |
| 📏 Agent guardrails | Shared engineering rules for coding agents: ReDoS checks measured on every regex engine, a content review before every push, consistent commits and review comments. |
| 🔄 Self-updating profile | This README: a GitHub Action ranks my projects and contributions from the GitHub and pub.dev APIs every day. |
| ✅ AI quality gates in CI | CodeRabbit and CodeScene on every PR, so humans review intent while machines catch smells and regressions. |
- 🕸️ Agentic workflows & multi-agent orchestration: splitting delivery into planner, coder, reviewer and tester agents.
- 🔌 Model Context Protocol (MCP): connecting agents to issue trackers, repos, design files and CI.
- 📐 Spec-driven development: turning specs into tasks, code and tests an agent can verify.
- 🧮 LLM evaluation & guardrails: measuring agent output with deterministic checks instead of trust.
- 🧠 Context engineering: skills, memory and project rules that make agents reliable on large codebases.
| Project | Description | Stars | My contribution |
|---|---|---|---|
| 📬 Twake Mail | Multi-platform JMAP email client for Android, iOS and Web | ⭐ 660 | #1 contributor · 3.6k+ commits · 1.1k+ merged PRs |
| 🔌 jmap-dart-client | JMAP protocol client library in Dart, the foundation of Twake Mail | ⭐ 41 | #1 contributor · 101 commits · 48 merged PRs |
| 📁 LinShare Mobile | Flutter mobile app for LinShare, an open-source secure file-sharing platform | ⭐ 17 | #2 contributor · 221 commits · 96 merged PRs |
| 📅 flutter-date-range-picker | Cross-platform custom date range picker | ⭐ 11 | #1 contributor · 16 commits · 6 merged PRs |
| ✍️ rich-text-composer | Unified rich text composer powering the mail composer | ⭐ 6 | #2 contributor · 21 commits · 10 merged PRs |
| 🖋️ html-editor-enhanced | WYSIWYG HTML editor for Flutter (Summernote + InAppWebView) | ⭐ 6 | 45 merged PRs |
| 🎨 linagora-design-flutter | Enterprise UI design language & Flutter component library | ⭐ 3 | #1 contributor · 76 commits · 24 merged PRs |
| 📝 enough_html_editor | API-based HTML editor for Flutter | ⭐ 2 | 21 merged PRs |
| Package | Description | Stars | pub.dev |
|---|---|---|---|
| 🏷️ super_tag_editor | Tag editor widget for Flutter | ⭐ 17 | v1.1.0 · 👍 43 · ⬇️ 3.8k/mo |
| 🌐 super_dns_client | DNS-over-HTTPS (DoH) lookups with multiple resolvers | ⭐ 4 | v0.3.11 · 👍 4 · ⬇️ 4k/mo |
| 🖼️ flutter_super_html_viewer | Cross-platform HTML viewer widget | ⭐ 2 | v0.1.0 · 👍 19 · ⬇️ 152/mo |
| ✂️ middle_ellipsis_text | Middle-ellipsis text for filenames & URLs | ⭐ 2 | v1.0.0 · 👍 3 · ⬇️ 2.6k/mo |
| 🧬 super_dns | DNS protocol: query parsing, encoding and responses (IPv4/IPv6) | ⭐ 1 | v0.1.1 · 👍 0 · ⬇️ 3.6k/mo |
| 📏 super_file_size | Human-readable file sizes from raw bytes | ⭐ 1 | v1.0.0 · 👍 1 · ⬇️ 7/mo |
| 🧱 super_raw | Write, read and debug binary data efficiently | ⭐ 1 | v0.1.0 · 👍 1 · ⬇️ 3.6k/mo |
| 📡 super_ip | IP protocol stack: IPv4, IPv6, ICMP, TCP, UDP | ⭐ 1 | v0.1.0 · 👍 0 · ⬇️ 3.6k/mo |
| Project | Description | Stars | Stack |
|---|---|---|---|
| ⏱️ ChronoWork · live | Work-hour logging, leave tracking & weekly performance reports | ⭐ 1 | TypeScript |
| 🧪 qa-agent-kit | Evidence-driven PR QA: deterministic permission tests, evidence registry and a GO/NO_GO release gate | ⭐ 0 | TypeScript |
| 🔹 github-stars-radar · live | Top-starred new GitHub repositories of the week, month and year: AI tools, AI agents, mobile, web and languag… | ⭐ 0 | JavaScript |
| ♟️ ai-chess-master | Online Chinese chess (Xiangqi): Alpha-Beta search engine, Gemini-powered move analysis & hints, leaderboard | ⭐ 0 | React · Gemini |
🔄 Project tables are refreshed daily from GitHub and pub.dev, ranked by stars, then by contributions.




