hover to warp // click to ripple
Open to opportunities

I build developer tools, mobile apps and local AI agents.

Full stack developer from Cambodia working across Flutter, Python and the web, currently focused on tool-using LLM agents that run on your own machine.

01

About

I like software that removes busywork. That has meant publishing a Dart code generator so Flutter developers never mistype an asset path again, and building agents that call real tools with guardrails instead of guessing.

Lately I've been working with retrieval-augmented generation, the Model Context Protocol and local models through Ollama, focusing on keeping them predictable, permissioned and offline-friendly.

Languages
Dart Python TypeScript JavaScript C++
Frameworks
Flutter Next.js Spring Boot Vue Astro Tailwind CSS
AI & Data
LangGraph LangChain LlamaIndex vLLM Fine-tuning Ollama MCP RAG ChromaDB Qdrant
Tooling
Claude Code Codex Git build_runner uv Bun
02

Projects

● Live 2026

Lazy Asset Generator

A Dart code generator that turns Flutter asset folders into typed accessors with IDE autocomplete, so asset paths are checked at compile time.

  • Published on pub.dev
  • Supports any file format: images, SVG, JSON, fonts, audio, video
  • Deterministic output and explicit naming-collision reports
  • Selected for the XERJ Corpus Hub, a reference corpus for AI coding agents
DartFlutterbuild_runnerCode generation
● Live 2026

Simple Safe Agent

A command-line shopping assistant where a local LLM calls catalog tools over MCP, with role-based permissions and argument checks before every tool call.

  • Local MCP server exposing catalog tools
  • Customer and admin roles with per-tool permissions
  • Runs fully offline on Ollama
PythonMCPOllamauv
● Live 2026

Chat with Documents

A local retrieval-augmented generation app that ingests, chunks, embeds, retrieves and answers questions about your documents from the terminal.

  • All five naive-RAG stages implemented end to end
  • ChromaDB vector store built automatically on first run
  • Shows retrieved chunks alongside each answer
PythonChromaDBOllamaRAG
03

Experience

  1. 2026 — Present

    Software Development Trainee · 14th Generation · Korea Software HRD Center (KSHRD)

    Selective full-time software development training program in Phnom Penh, covering full stack web development alongside AI work such as RAG pipelines and tool-using LLM agents with MCP.

    Spring BootNext.jsAI agents
  2. 2024

    Mobile App Scholarship Student · ANT Technology Training Center

    Completed the C++ OOP course and co-built a Sports Ground Management System as the final team project.

    C++OOPTeamwork
04

Contact

Let’s build something.

Whether it’s a role, a collaboration or a question about one of my projects, my inbox is open.

Send an email
Email copied to clipboard