I'm Paul. I build machines that see and agents that act, and I like to own the whole path: the perception model on the edge device, the tracks and events it produces, and the agents that decide what to do with them.
- 👁 Computer vision — multi-task perception networks, teacher / student distillation, ONNX / TensorRT on Jetson
- 🤝 Multi-agent systems — orchestrator / worker designs, MCP tool contracts, edge-and-cloud split
- 🧠 LLM — multimodal document understanding, structured output, VLMs on trigger rather than on every frame
- ⚡ Edge — RTSP ingest, GStreamer, WebRTC, Rust and Kotlin Multiplatform where Python is too slow
- 📍 Kaohsiung, Taiwan · building at Syncrobotic
HydraNet — one camera, one model, everything in metres
Left: detections and tracks with a staff / customer verdict. Right: the same moment in metres, with the live dwell field on the floor.
- One ~8M-parameter network, one forward pass. A shared RegNetX-800MF + BiFPN trunk carrying detection (
person,bag,device,boxed_stock), pose (17 keypoints decoded inside the boxes) and terrain segmentation (floor,wall,column,fixture,person). - Teachers once, student every frame. SAM 3, Grounding DINO, Depth-Anything V2 and ViTPose run once per camera to label and to fit the scene geometry. Anything constant on a fixed camera is cached, never learned. Only what changes frame to frame spends the GPU.
- Tracks in metres, not pixels. Boxes become floor positions through the cached geometry, so dwell, paths and queues come out in real units. Exported to ONNX / TensorRT for Jetson Orin, budgeted at 96 streams × 5 fps.
|
PDF2Markdown — multimodal LLM transcription of PDFs and images into clean Markdown: tables, formulas and diagrams preserved. Gemini-powered, model-swappable. In HydraNet the VLM is a trigger, not a per-frame cost: rules and a tiny temporal model raise events, the VLM explains them. |
Omnie agent orchestrator — an orchestrator / worker design split across edge and cloud: perception workers stay on the device next to the camera, planning and retrieval run where the big models live, MCP defines the tool contract between them. Private for now. Architecture notes coming. |
|
HydraNet — the multi-task perception network above, plus the commissioning pipeline ( |
RtspRecorder — multi-stream RTSP recording in Rust: auto-segment, reconnect, cross-day schedules, MKV → MP4, upload to GCS. KmpWebRTC — Kotlin Multiplatform WebRTC SDK with HTTP signaling and per-direction media control, zero WebRTC boilerplate. |
| Vision | |
| LLM / Agents | |
| Edge / Infra | |
| Also |





