Deserialize messy LLM tool arguments into a Rust struct with Laminate
LLM tool-call arguments arrive as messy JSON: numbers as strings, missing fields, invented enum values. Laminate shapes them into a typed Rust struct, and shows every change.
LLM tool-call arguments arrive as messy JSON: numbers as strings, missing fields, invented enum values. Laminate shapes them into a typed Rust struct, and shows every change.
OpenAI, Anthropic, and Ollama return tool-call arguments in three shapes. Laminate's provider adapters normalize them in Rust, so one extract() call reads every provider.
On many Wayland compositors, the portal backend that lets apps screen-share, inject input, and read the clipboard is only half there. I built the missing half.
LamBoot is a memory-safe UEFI bootloader for Linux that records every trust decision it makes to a log you can read after boot, and recovers from crash loops.
Built on serde, Laminate shapes messy JSON, CSV, and LLM output into typed Rust structs with four coercion levels and a diagnostic for every conversion.
I spent months on eighty thousand words of architecture and a 2,700-line Rust PDF parser. The AI document app they were for never opened a window.