Skip to content
View jeannineshiu's full-sized avatar

Block or report jeannineshiu

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jeannineshiu/README.md

Hi, I'm Jia-Yin (Bella) Shiu 👋

Applied AI Engineer · LLM & RAG Systems · MLOps · Berlin

I build LLM/ML systems that ship and run within budget — and I know when not to use AI.

🇹🇼 Taiwan-born · 🇩🇪 Berlin-based · Full unrestricted work authorization in Germany
🗣️ Chinese (native) · English (C1) · German (B2→C1) · French (B2)
📄 LinkedIn · 📚 Published research


🚀 Flagship Projects

Logistics Document Automation — Supervised-Autonomy IDP Pipeline
n8n orchestration (HITL, retries, error workflow) + FastAPI extraction engine for invoices and customs forms.
Deterministic-first strategy (checksum-validated regex → LLM fallback only where rules fail) vs. a pure-LLM control on a 50-doc synthetic corpus:
79.5% of fields resolved at zero token cost · 67% lower cost per doc ($0.00589 → $0.00196) · ~60× lower median latency · identical 99.7% field accuracy
100% auto-approve precision (43/43) on synthetic data · 14% human-intervention rate.
Then stress-tested it against real invoices and receipts (DocILE, SROIE, CORD v2): rule-layer coverage fell 79.5% → 21.7%, and auto-approve precision fell to 42.9–64.3% — the honest finding was that a model's self-reported confidence isn't a trustworthy auto-approval signal on its own, which now drives per-deployment required-field configuration instead of a fixed default.
n8n FastAPI GPT-4o Vision PostgreSQL Prometheus Docker pytest GitHub Actions

BürgerChat — Production RAG for German Bureaucracy
Explains German social-services rules (Bürgergeld, Kindergeld, Wohngeld) in B1-level plain language, across 13 languages, always citing official sources.
~36K searchable passages from ~6,100 official government documents · FAISS + LLM-rerank reaching 100% golden-retrieval recall across 3 evaluated languages · live PVOG API routing users to the correct authority across ~11,000 German municipalities.
Shipped like a real service: CI on every push, daily production smoke tests, weekly automated re-crawl via Daytona sandboxes, dependency-vulnerability gating (pip-audit + Dependabot).
Submitted to the SPRIND "Deutschland, was geht?" federal hackathon (270 teams).
FastAPI Next.js FAISS OpenAI Docker Railway GitHub Actions

AWS AI/ML Knowledge & Analytics Agent — Multi-Agent RAG + Text-to-SQL
A LangGraph supervisor multi-agent system that decomposes two-part questions across a RAG specialist and a Text-to-SQL specialist and decides what order they run in — not just a router picking one.
On a 30-question evaluation set: SQL accuracy 60% → 90%, answer relevancy 0.487 → 0.780, order accuracy 87% → 100%. A bounded self-repair loop plus a human-in-the-loop confirmation gate for generated SQL push adversarial-query accuracy to 100%. Multi-turn conversation resolution: 100% vs. 20% without history.
Ran a cost/quality ablation across 3 candidate self-correction loops and shipped only the one with measured ROI — the other two added 2.2 LLM calls and 1.36s of latency for a gain inside the evaluation judge's noise band.
LangChain LangGraph RAG Text-to-SQL ChromaDB OpenAI RAGAS pytest

Electricity Price Forecasting — End-to-End MLOps Pipeline
Full MLOps lifecycle for German day-ahead electricity prices (DE_LU, 5 years hourly): ENTSO-E ingestion → feature engineering → MLflow tracking & model registry → FastAPI serving → Kubernetes HPA → Prometheus/Grafana → GitHub Actions CI/CD.
LightGBM Test MAE: 7.23 EUR/MWh — chosen over LSTM and XGBoost after Optuna-tuned benchmarking; documented why LSTM underperformed once lag/rolling features encoded the temporal structure.
LightGBM LSTM XGBoost Prefect 3 MLflow FastAPI Docker Kubernetes Prometheus Grafana

MuseXR — AI Museum Companion 🏆 XRCC 2026 · 2nd Place, Meta IWSDK Track
FastAPI backend deployed mid-hackathon (Railway): GPT-4o Vision exhibit recognition, FAISS RAG, and a rule-based context router (gaze × crowd level) selecting between four response modes.
Chose deterministic solutions over GenAI where reliability and cost mattered — filename matching for exhibit IDs, lookup tables instead of RAG for 56-route navigation: zero token cost, zero added latency on the hot path.
Also shipped a same-weekend Android app integrating Ray-Ban Meta AI Glasses via the Meta Wearables DAT SDK.
FastAPI GPT-4o Vision FAISS LangChain Kotlin Meta Wearables DAT SDK Railway Docker


🔬 Research Foundation

MSc Thesis — Published in Mathematics (2025)
A Deep Learning Framework of Super Resolution for License Plate Recognition in Surveillance Systems
Built a real (non-synthetic) dashcam LR/HR dataset; designed two novel perceptual losses (Swin Transformer– and CRNN-based) so the model optimizes downstream OCR accuracy, not pixel-level proxies like PSNR/SSIM.
+9.6 pp OCR accuracy improvement (75.6% → 85.1%)
PyTorch SwinFIR (Swin Transformer) CRNN Perceptual Loss Computer Vision

From SASRec to TIGER — Sequential Recommendation, Rigorously Evaluated
A verified SASRec reproduction plus a semantic-ID generative recommender on the same backbone, so the item-representation swap is a clean single variable.
Found that one RecBole default hyperparameter (dropout) outweighs the architecture difference it's used to demonstrate; showed two SASRec implementations that agree to +0.61% HR@10 under sampled evaluation diverge to +40% HR@10 under full-catalog ranking — mostly explained by training objective alone via a loss-only ablation. Semantic IDs reach 71% of SASRec's accuracy at 13.7% of the parameters and recover items an atomic embedding table structurally cannot (7.25% HR@10 on unseen items vs. 0%). Every margin is checked against a measured seed-noise floor and asserted in CI.
PyTorch SASRec Semantic IDs RecBole MLflow


📦 More Projects

  • Multi-Actor-Critic — Recurrent DDPG (GRUCell actor-critic) for futures trading (FIMTX / Mini Taiwan Stock Index Futures); risk-adjusted reward via Differential Sharpe Ratio, a realistic futures cost model (tax/fee/delivery), and behavior cloning with a Q-filter bootstrapped from a prophetic expert policy; benchmarked against Buy & Hold (NYCU coursework final project)
  • AI Brand Visibility Tracker — Async multi-LLM monitoring (OpenAI / Anthropic / Gemini); spaCy NER + LLM-as-judge sentiment; LightGBM R² 0.80; BigQuery · FastAPI · Plotly Dash
  • Parallel Hyperband HPO on Cloud Sandboxes 🏆 3rd Place, Daytona Hackathon — 9 parallel Daytona sandboxes, Hyperband early-stopping, tool-using Claude agent that reads run history and launches sandboxes autonomously; MAE 7.23 → 7.18
  • Customer Churn Prediction — Config-driven CatBoost pipeline; 0.762 weighted F1; ~$190K/cycle ROI framing; two-container Docker architecture
  • Stable Diffusion X4 Upscaler on Azure — Production inference API on Azure Container Instances; HuggingFace Diffusers PR #622 merged by the core team
  • AI Parenting Assistant — German-language RAG over 750+ expert-vetted articles; FastAPI + Docker Compose (AI for Impact Hackathon)

🧱 Deep Learning Foundations (NYCU Coursework)

Diabetic Retinopathy Detection (ResNet) · Conditional DDPM · Conditional VAE for Video Prediction · EEG Classification


💬 Open to AI Engineer / LLM Engineer / Applied AI Engineer / MLOps Engineer roles — Berlin or fully remote (Germany / EU)

Popular repositories Loading

  1. Conditional-DDPM-for-image-synthesis Conditional-DDPM-for-image-synthesis Public

    NYCU Deep Learning Course

    Python 2

  2. multi-agents-dnd-game multi-agents-dnd-game Public

    D&D AI game master built with Strands SDK — multi-agent orchestration using MCP, A2A protocol, and RAG-based rules lookup

    Python 2 1

  3. Conditional-VAE-for-video-prediction Conditional-VAE-for-video-prediction Public

    NYCU Deep Learning Course

    Python 1

  4. AiBot AiBot Public

    Python 1

  5. louvre-xr-backend louvre-xr-backend Public

    MuseXR — FastAPI + GPT-4o backend for an AI museum guide at the Louvre. RAG Q&A, Vision-based sculpture recognition, and voice, powering a web demo, a Meta AI Glasses app, and a multiplayer WebXR t…

    Python 1

  6. Match-Game Match-Game Public

    Match pairs of card

    Java