PeritIA: LangGraph Vehicle Appraisal Agent
Challenge
Automate preliminary automotive damage assessment from photographs without relying on non-deterministic model outputs or introducing budget estimation discrepancies.
What it solves
- Deterministic agentic workflow with LangGraph: 5-node state graph with shared state and conditional branching (vehicle identification, impact evaluation, parts mapping, labor estimation, and repairable vs. total loss decision).
- Multimodal hybrid RAG: Vision models for physical damage detection combined with local vector search (
pgvector+fastembed) and aNeo4jgraph for structured component relationships.
What it avoids in production
- Financial hallucinations: Rigorous Pydantic schema validation and 142 automated pytest tests ensuring accurate, repeatable appraisal outputs.
- Runaway API bills: Localized embedding generation that eliminates external cloud dependencies and sharply reduces token costs.
Engineering Notes & Systems Design
Technical trade-offs, performance benchmarks, and lessons learned building mission-critical software.
Laya on CPU, No GPU: What I Measured on Three Machines Before Putting It in Production
38ms was with a GPU. On CPU, 94 to 848ms depending on the machine. Real benchmarks, the thread trap, ONNX vs PyTorch, and how the deployment ended up on a VPS.
Hexagonal Architecture and DDD in Laravel: Decoupling Domain from Eloquent with DTOs and Repositories
How to architect complex enterprise applications in Laravel without letting Eloquent pollute business rules: Ports and Adapters, immutable PHP 8.2 Value Objects, and strict layer boundaries.
PHP at Planetary Scale: Slack, Meta, Strict Typing with PHPStan, and Fibers Concurrency (Part 4)
Why tech giants like Slack, Wikipedia, and Meta continue investing in PHP: the operational economics of stateless workloads in Kubernetes, maximum static analysis, and cooperative concurrency with Fibers.