Applied AI Engineer · Taiwan Polar Institute · Taichung, Taiwan

LLM &
Agentic AI Engineering

6+ years across R&D, application development and research. Today I build agentic AI platforms for Taiwan national agencies: MCP servers, tool-calling analysts that cite every source, RAG retrieval, forecasting models and dashboards, shipped as tested, containerized FastAPI services with CI/CD. Underneath sits real applied-ML and GPU depth (PyTorch, CUDA, NVIDIA PhysicsNeMo) from peer-reviewed research, which most LLM engineers don't have.

  • Python
  • LangChain / LangGraph
  • RAG
  • FastAPI
  • Docker
  • CI/CD
  • PyTorch
  • CUDA
  • MCP
  • PostgreSQL
What I do

Three capabilities, one through-line: reliable AI in production.

Agentic AI & LLM Systems

Multi-agent and RAG applications with LangChain / LangGraph and AutoGen. Tool-calling loops, MCP client and server, hybrid retrieval (FAISS + BM25 fused by reciprocal rank), and prompt engineering across OpenAI, Claude, Groq, Mistral, Hugging Face, NVIDIA-hosted and Ollama, with the LLM wrapped around a deterministic, cited, tested core. Shipped a seven-role research crew over one shared workspace, gated on an approved plan.

LangChain / LangGraphHybrid RAGMulti-agentMCP

Production AI Engineering

Systems that ship and survive: FastAPI services, Docker, GitHub Actions CI/CD, benchmark-validated test suites, PyPI packaging, model cards, and live demos. Built so anyone can reproduce the headline number themselves.

FastAPIDockerCI / testsPyPI

Applied & Scientific ML

A real GPU and modeling foundation from peer-reviewed research: PyTorch, CUDA, NVIDIA PhysicsNeMo, neural operators, time-series forecasting, and uncertainty quantification. This is the depth behind the engineering.

PyTorchCUDAPhysicsNeMoNeural operators
Experience

6+ years across R&D, product, and research.

  1. Jan 2025 – present

    Applied AI Engineer

    Taiwan Polar Institute · Taichung, Taiwan

    • Own end-to-end delivery of a multi-year commissioned engagement for Taiwan national agencies: data APIs, forecasting models and dashboards, live since August 2025 behind a public government portal.
    • Build an agentic AI engine that scores 26 research methodologies, validates every step against a method-precondition registry, and auto-executes the pipeline, plus a tool-calling analyst that cites every source behind its answers.
    • Author an MCP server exposing five tools to Claude and Cursor, and 37 REST API collectors that normalize every upstream source into one schema, so downstream analysis is source-agnostic.
    • Ship the platform on PyPI (2,200+ downloads) as sole maintainer, merging contributions from 25+ outside developers; a weekly harvest publishes an open catalog of 67,000+ stations.
    LangChainMCPFastAPIDockerPyPIGitHub Actions
  2. Jun 2024 – present · part‑time

    Founder & Lead Engineer

    POUK YAM · agentic AI and automation consultancy · Ouagadougou, Burkina Faso

    • Deliver custom AI agents, workflow automation, and RAG and document-Q&A systems for commercial clients.
    • Build and operate a construction-site management platform in production for a commercial client (Django, PostgreSQL, React, Azure REST services).
    AI agentsRAGDjangoReactPostgreSQLAzure
  3. Dec 2023 – Dec 2024

    Machine Learning Researcher

    AI Smart Innovation Foundry (ASUS), Feng Chia University · Taichung, Taiwan

    • Led a team of four as principal developer on a physics-informed neural operator for groundwater forecasting, with quantified uncertainty on every prediction, plus a forecaster that trains 14× faster on GPU than on CPU under bf16 mixed precision.
    • Built an LLM agent on a citation-enforced hybrid RAG pipeline (FAISS + BM25, reciprocal rank fusion) over a deterministic core, so every number traces back to source-cited code.
    • Deployed the agent via Streamlit and Telegram behind a typed validation gate.
    PyTorchCUDAPhysicsNeMoFAISS + BM25Streamlit
  4. Jan 2021 – Dec 2023

    Research Assistant

    Institute of Applied Geology, National Central University · Taoyuan, Taiwan

    • Built Python ETL and modeling pipelines over multi-decade sensor data: cleaning, feature engineering, outlier detection, imputation, and gray-box models tracked in Weights & Biases.
    pandas / NumPyETLWeights & BiasesTime series
  5. Dec 2019 – Nov 2021

    Consultant Engineer, R&D Department

    AnCAD Co., Ltd. · New Taipei City, Taiwan

    • Developed ML and signal-processing modules shipped in Visual Signal, AnCAD's commercial time-frequency product: water-level forecasting plus core Hilbert-Huang, Morlet and Fourier components.
    scikit-learnSignal processingCommercial product
  6. Feb 2025 – present · part‑time

    Adjunct Instructor

    Feng Chia University · Taichung, Taiwan

    • Teach numerical analysis and scientific Python to 120+ undergraduates.
    PythonNumerical analysisTeaching
Selected work

Built, shipped, and measured.

The 67,912 public gauges in the AquaScope archive, plotted from the published dataset as of 17 September 2026: dense coverage across the United States, Brazil, Australia, Europe (England, France, Germany, Poland, Ireland, Greece) and Taiwan, with a per-agency count for each source.
Flagship · Taiwan Polar Institute · open source Python · PyPI · MCP · Pyodide / WASM

AquaScope

The open-source platform behind my commissioned work at the Taiwan Polar Institute: water data, hydrology, and agricultural water management in one package. 37 unified data sources (USGS, Brazil ANA, Australia BOM, FAO, GEMStat, EU WFD and more), Bulletin 17C flood frequency, FAO-56 crop water, baseflow separation, and an agentic AI engine that scores 26 research methodologies, checks every step against a method-precondition registry, and auto-executes the pipeline. On top of that sits Studio, a seven-role research crew that takes a problem in plain language and returns a finished deliverable bundle. CAMELS-validated, released on PyPI and citable by DOI.

  • 2,200+ PyPI downloads and 25+ outside contributors, maintained solo
  • An open archive of 67,000+ public gauges across ten countries, harvested weekly and published as GeoParquet
  • 37 REST API collectors normalize every upstream source into one schema, so downstream analysis is source-agnostic
  • Zero-install Explorer: the same Python runs client-side in the browser (Pyodide · DuckDB-WASM · MapLibre), no server at all, and its Ask panel can run on an on-device model (Chrome's built-in Prompt API or WebLLM) with no API key
  • Studio: one plain-language problem and a coordinate run a seven-role crew (consultant, scout, methodologist, analysts, interpreter, critic, author) over a single shared workspace, returning a Word report, an Excel workbook, figures and a runnable notebook. The plan is shown and approved before anything executes, a failed gate fails its step rather than the study, and every finding is graded and points at the result it rests on. My own state-machine orchestrator, not a framework wrapper
  • MCP server exposing 30+ tools to Claude Desktop / Claude Code / Cursor, seven of them driving Studio, alongside a 25+ command CLI
  • HydroGym: a benchmark that scores hydrology agents on real sites, pitting the gated planner against baseline agents (including a plain tool-calling loop) on task outcome, plan quality against hand-written expert plans, and the finished report, with a published leaderboard and per-task cost accounting
  • Maintained in the open: issue triage, PR review, versioned releases, CI with a nightly CAMELS benchmark run, Zenodo DOI
Two charts from the repository's own result files. Training: the same forecaster takes 30.1 s on CPU, 2.77 s on GPU in fp32 and 2.14 s under bf16 mixed precision, 14.1 times faster than CPU at half the GPU memory. Probabilistic skill: median CRPS 45% and 52% below a persistence baseline at 7 and 30 days, with the 90% interval covering 92%, 89% and 85% of outcomes at 1, 7 and 30 days.
ASUS / Feng Chia University, 2023–24 · NVIDIA stack Python · PyTorch · PhysicsNeMo · CUDA

HydroPhysicsAI

The work I led as principal developer at ASUS / Feng Chia University, open-sourced afterwards. GPU physics-informed neural operators for groundwater: a single attribute-conditioned operator that generalizes across sites in place of per-site hand-calibrated models. A real PhysicsNeMo port with .mdlus checkpointing, a CUDA GPU benchmark, leave-one-well-out generalization, and a probabilistic forecast with calibrated intervals. It also reports where it still trails the gray-box baseline.

  • 14× faster than CPU training the forecaster on an RTX 4070 SUPER (bf16 mixed precision), at about half the GPU memory of fp32
  • Calibrated uncertainty: the 90% interval covers 85–92% of outcomes from 1 to 30 days ahead, and CRPS runs about half of persistence's at 7 and 30 days
  • Scored once, out of sample: hyperparameters tuned on an inner pre‑2019 split, the 2019+ benchmark run a single time
  • Live Gradio demo, model card, technical write-up, CI
Agronaut · Telegram open weights · runs offline

photomy tilapia are gasping at the surface this morning

vision: fish at surface, rapid gill movement · guard: no numbers, no prescriptions

ranked differential · 1 candidate Low dissolved oxygen the textbook signature of low DO, especially in the morning
  • time of day: a dawn low points hard at DO
  • aeration actually running, and whether there is any backup
  • water temperature: warm water holds less oxygen
cited · knowledge/dissolved_oxygen_and_aeration.md
Personal project · agentic AI · in the field Python · LangChain · FAISS + BM25 · VLM + ASR · Telegram / WhatsApp · PyPI

Agronaut

A personal agronomy agent for aquaponics, serving 45+ farmers in central Taiwan across 2,000+ consultations. Instead of retrieving what a paper said, Agronaut computes the answer for your specific system: a tool-calling LLM collects facts and routes, while a deterministic, fully tested engineering core does the math, calibrated to your own measured results within published bounds. It remembers your system across sessions and reasons over a curated troubleshooting knowledge base. Every result lists the coefficients it used (with sources) and what it does not model, so you always know the limits of the design.

  • Trust-boundary architecture: a tool-calling LLM agent over a verifiable, cited engine
  • Hybrid retrieval over the knowledge base: a disk-persisted FAISS vector store (rebuilt only when a SHA-256 fingerprint of the corpus changes) fused with sparse BM25 by rank rather than score (reciprocal rank fusion), with recall, precision, MRR and MAP measured against the corpus that actually ships, not assumed
  • Cross-session memory plus a deep troubleshooting knowledge base (DO, nitrogen cycle, pH, nutrient deficiencies, failures)
  • Deterministic core across 5 fish species and 30+ crops, every coefficient cited and calibratable
  • Reaches operators on Telegram or a Streamlit web chat; released on PyPI (v1.1.0) with an interactive first-run setup, so pip install agronaut is the whole install
  • WhatsApp Cloud API adapter on the same channel layer, the way most smallholder-facing programs reach farmers: an HTTPS webhook that verifies Meta's inbound request signatures, carrying text, voice notes, inbound photos and follow-up delivery through the shared command layer. Built and unit-tested; it is waiting on a permanent Meta token, so Telegram is the channel actually carrying traffic today
  • Send a photo or a voice note: a vision model (hosted, or local through Ollama) describes the sick fish or yellowing leaf and a local faster-whisper model transcribes the audio, so it works offline in the field. Both sit behind a deterministic observation guard that strips measurements and prescriptions, and neither can call a tool or emit a number, so the cited engine still owns every answer
  • Guardrails scored in CI: a golden-set safety evaluation runs on every push under a no-network charter
  • Runs on open weights with no proprietary API (Ollama · NVIDIA · HF · any OpenAI-compatible server); design & optimize need no LLM
  • Underlying research registered as Taiwan Utility Model M661364
Claude Code
claude > /paper-agent  review manuscript.docx

 runtime    Claude Code plugin v1.5.0
 citations  Semantic Scholar MCP
 guard      anti-fabrication: 0 invented refs

 manuscript.reviewed.docx
Personal project · Claude Code plugin Claude Code plugin · Semantic Scholar MCP · .docx

paper-agent

A Claude Code plugin that turns the agent into a disciplined manuscript collaborator: five modes (draft, review, revise, proofread, audit), citations resolved through the Semantic Scholar MCP (auto-wired on install), and hard anti-fabrication guardrails with pause-and-confirm after every section. Calibrated for hydrology and IEEE journals, with a generic profile for any quantitative-science field and a clean .docx round-trip.

  • Installable Claude Code plugin (v1.5.0) with bundled try-it demos
  • Auto-wires the Semantic Scholar MCP for real, non-fabricated citations (no API key needed)
  • Hydrology + IEEE journals, plus a generic quantitative-science profile
Install in Claude Code /plugin marketplace add Rekin226/paper-agent /plugin install paper-agent@paper-agent
Mooré-Voice · held-out ASR test split
$ make_results_doc.py

ASR · held-out test · n=564
  MMS-1b mos, fine-tuned  16.8% WER
  MMS-1b mos, zero-shot   31.1%
  Whisper-small, tuned    34.1%

 blind A/B, translation model:
  50% win rate, p = 0.58
  no detectable gain
Personal project · low-resource speech & translation · v0 PyTorch · NLLB-200 · Whisper · MMS · LoRA · Hugging Face

Mooré-Voice

Open translation and speech recognition for Mooré, a language of Burkina Faso with almost no machine-translation or ASR support. I audited what public Mooré data actually existed, built the corpus that was missing, fine-tuned translation and speech models on it, and then ran a blind native-speaker evaluation that contradicted my own automatic metrics. Three models are published on Hugging Face and the repo says plainly where the results do not hold up.

  • 200,000+ pair Fr/En ↔ Mooré parallel corpus, assembled only from redistributably-licensed sources, LID-gated on every Mooré side, fragment-filtered, and decontaminated against the FLORES-200 held-out split. Every source logged with its license, size, collection method and consent status
  • An 85-hour, 37,000+ utterance transcribed Mooré audio corpus alongside it
  • 16.8% WER / 4.3% CER on held-out speech by fine-tuning the MMS-1b mos adapter, against 31.1% for the zero-shot baseline it started from and 34.1% for a Whisper-small fine-tune, all on the same 564-item test set
  • LoRA fine-tunes of NLLB-200 (600M and 3.3B) across all four translation directions, scored with BLEU and chrF++ on FLORES-200 devtest
  • The honest result: a blind A/B against the zero-shot model found the translation fine-tune undetectable overall (50% on 22 decided pairs, p = 0.58) despite a +2.8 chrF++ automatic gain, with 30% of pairs rated “both bad”. BLEU is not tracking perceived quality for Mooré, and the results doc leads with that rather than the flattering number
  • Three published Hugging Face models; repo MIT, weights CC-BY-NC-4.0 inherited from the base checkpoints
client platform · production
$ deploy site-platform --env azure

 stack      Django · React · PostgreSQL · Azure
 modules    sites · crews · materials · GIS
 status     live · commercial client

 construction-site management, shipped
Commercial · shipped Django · React · PostgreSQL · Azure · GIS

Construction-site management platform

Client delivery through POUK YAM, my part-time agentic-AI and automation consultancy: scheduling, crews, materials, and GIS-based site tracking in one Django / React application on Azure REST services. I designed it, built it, deployed it, and I support it in production. Client and product details stay confidential.

  • Full-stack Django + React + PostgreSQL, deployed on Azure
  • GIS-based site characterization and tracking
  • In production for a commercial client
Toolbox

The stack behind the work.

Languages

PythonSQLJavaScript

Backend & APIs

FastAPIFlaskDjangoREST APIsWebhooks (signature-verified)microservicesPostgreSQLSQLiteasync PythonETL / data pipelines

Agentic AI / LLM

RAGHybrid retrieval (FAISS + BM25, RRF)Persisted FAISS vector storeRetrieval evaluationLangChainLangGraphAutoGenMulti-agent systemsMulti-agent orchestration (role crews)Agent evaluation & benchmarkingTool-calling loopsTrust boundaries & tool permissionsLLM guardrails, CI-scored safety evalMCP (client & server)Embeddings & semantic searchFAISSsentence-transformersFine-tuning transformer LLMs (Hugging Face)Prompt engineeringOpenAI / Claude / Gemini / Groq / Mistral / OpenRouter / NVIDIA-hosted / OllamaSelf-hosted open weights (vLLM / TGI / llama.cpp / LM Studio)Llama & QwenInference cost & latency optimizationAdaptive token budgetingVLM & speech-to-text integrationOn-device LLM inference (WebLLM, Chrome Prompt API)Coding agents (Claude Code, Codex)Semantic Scholar MCP

Frontend & Apps

ReactJavaScriptHTML / CSSStreamlitGradioHugging Face SpacesPyodide / WebAssemblyMapLibre GL

Cloud & MLOps

DockerDocker ComposeKubernetesAzureGCPGitHub Actions (CI/CD)pytestWeights & BiasesMonitoring & observabilityRedisPackaging / PyPISemantic versioning (PyPI)ruff (CI-enforced)pre-commitVersioned & DOI-archived releasesReproducible pipelinesGitOpen-source maintainership

ML / Deep Learning

PyTorchscikit-learnHugging FaceNumPySciPypandasClassification (Random Forest)Time-series forecastingProbabilistic forecasting (CRPS, interval coverage)Feature engineeringAnomaly & outlier detectionMissing-data handlingSignal processing

Speech & Language

LoRA / PEFT fine-tuningNLLB-200WhisperMeta MMSLow-resource machine translationASR fine-tuningParallel-corpus curationLID gating & eval decontaminationBLEU / chrF++ / WER / CERBlind human evaluationModel cards & HF Hub publishing

Scientific ML

NVIDIA PhysicsNeMoNeural operatorsPhysics-informed neural networksNeural ODEsODE calibrationUncertainty quantificationCUDAcuDNNMixed precision (bf16 / AMP)Gymnasium eval environments

Geospatial

QGISGIS analysisGeoParquetFlatGeobuf / PMTilesWatershed delineationDEM processingBasinATLAS / HydroATLAS

Data & Open Data

Parquet / GeoParquetDuckDB / DuckDB-WASMScheduled incremental harvestingOpen dataset publishing (Hugging Face Hub)Data-source health monitoring

Spoken

French (native)English (advanced)Chinese (working proficiency)
About

I build AI with a scientist’s discipline.

6+ years across R&D, application development and research, building production AI: generative and agentic systems, multi-agent and RAG apps served as tested, containerized services, on top of a real applied-ML and GPU foundation. What I bring that most LLM engineers don't is a scientist's discipline. I respect the constraints, validate out of sample, and never ship a number I cannot reproduce.

That discipline is earned, not claimed. During my Ph.D. at Feng Chia University I built physics-informed gray-box models of the Chou-Shui Chi alluvial fan in central Taiwan and predicted groundwater across 33 wells with RMSE between 0.07 and 0.24 m (companion code (opens in new tab)). At ASUS I led the team that replaced those per-site hand-calibrated models with a single neural operator that generalizes across sites. That is the testing rigor I bring to every system I ship.

Today I am Applied AI Engineer at the Taiwan Polar Institute, where I own end-to-end delivery of a multi-year commissioned engagement for Taiwan national agencies, live since August 2025 behind a public government portal, and open-source the platform underneath it. Alongside that I run POUK YAM, a part-time agentic-AI and automation consultancy, and teach numerical analysis and scientific Python as an adjunct instructor at Feng Chia University.

Open to AI/LLM engineer, generative-AI / agentic-systems engineer, and applied-AI / ML engineering roles. Based in Taichung, Taiwan (Taiwan resident, ARC).

Education

  • 2023Ph.D., Infrastructure Planning & EngineeringFeng Chia University, Taiwan
  • 2019M.S., Water Resources Engineering & ConservationFeng Chia University, Taiwan
  • 2016B.S., Water & Environmental Engineering2iE, Burkina Faso
Full academic background on LinkedIn (opens in new tab)

Now

  • 2025–Applied AI EngineerTaiwan Polar Institute
  • 2025–Adjunct InstructorFeng Chia University · part-time
  • 2024–Founder & Lead EngineerPOUK YAM · agentic AI & automation · part-time

Certifications

  • 2025Autonomous AI Agent Systems & OrchestrationLangGraph · AutoGen · multi-agent · Coursera
  • 2024IBM AI Developer Professional CertificatePython · React · generative AI · Coursera

Publications & IP

4 peer-reviewed papers (3 SCIE-indexed, incl. Hydrogeology Journal 2026) and 1 Taiwan utility model (M661364).

Read on Google Scholar (opens in new tab)
Contact

Building AI that ships.
Let’s talk.

Open to AI/LLM engineering and applied-AI roles, collaborations, and consulting.