Matteo Bernacchia

Software engineer in Tokyo.

About

I work on systems, graphics, AI, cloud, robotics, and developer tools.

Selected personal and open-source projects.

  • poot repo · website

    A from-scratch LLM inference engine with graph tracing, kernel fusion, and multiple GPU backends.

    rust · llm inference · graph ir · wgpu · rocm · cuda
    • Forward pass traced once into a backend-neutral graph of primitive tensor ops, not opaque hand-written kernels.
    • Fused regions get kernels generated for them, while imported Rust kernels cover the shapes the generator does not (decode GEMV, flash fallback, gathers).
    • GPU dispatch sequence captured once and replayed per token (CUDA graph replay, cached wgpu re-encode), to cut launch overhead rather than compute.
    • Kernels written as real Rust #[kernel] functions lowered to SPIR-V/PTX/AMDGPU, with no cuBLAS or cuDNN.
    • Models are a Model trait plus a family registry: each architecture traces its own graph from a GGUF or safetensors checkpoint, with GPTQ/AWQ packed quantization kept resident.
    • One executor contract shared by the wgpu, ROCm and PTX backends, each checked against a CPU oracle.
    • Serving capabilities: an OpenAI-compatible HTTP API with embeddings, reranking, LoRA adapter management and metrics; text generation is being reconnected to the new single-sequence driver.
    Pipeline from model code through graph IR, optimization, planning and kernel IR to SPIR-V, PTX and ROCm backends A model written as a Rust function, traced into a graph IR that the CPU oracle or the planner consumes Per-token slots feeding one captured decode graph, replayed by the PTX, wgpu and ROCm backends One Rust kernel imported through pootc and kernel IR and lowered to SPIR-V, PTX and AMDGCN
  • ntfs-reader repo

    Fast in-memory scans of the NTFS master file table and a reader for the USN change journal.

    rust · windows · ntfs · mft · usn journal · filesystems
    • $MFT read straight off the raw volume into memory and parsed in one pass, not through Windows file-enumeration APIs.
    • Full-volume iteration with resolved paths in 3.9s, down from 12.3s uncached.
    • USN change journal read live, with event-mask filtering and a choice of start position (beginning, next, or a specific USN).
    • Renames tracked across journal events by matching the new name back to the old path from an in-memory history.
    • Deleted files supported: resolve their old paths, read their data back, and check whether it survived.
    • Memory-bounded modes for huge volumes: stream the table in chunks, load a compact form that uses 30 to 70 percent less memory, or cap the path cache.
    From the raw volume and boot sector to an MFT file record and its attributes Reading the whole MFT into memory, iterating files and resolving paths through parent references USN journal reader: options, records, and rename matching through a history
  • vuldir repo

    A unified rendering API for Vulkan and DirectX 12, built without third-party libraries.

    c++ · cmake · graphics · vulkan · directx 12 · hlsl
    • One bindless API over Vulkan 1.3 and DirectX 12, omitting either backend's native binding model entirely.
    • Device-owned descriptor heaps for stable resource indices that mean the same thing on both backends.
    • Resource state is tracked virtually while recording and published atomically on submit, so contexts record and submit concurrently.
    • Resource management, math, and PNG/HDR/JSON/glTF loaders are all from scratch, no third-party rendering libraries.
    Sample renderer showing a glTF helmet with the debug UI open One common API over Vulkan 1.3 and DirectX 12 backends with a shared bindless shader layout Bindless descriptors: device-owned heaps, stable indices, and deferred index reuse Per-context frame ring of command pools and virtual resource state tracking committed on submit
  • mfw repo

    A local-first autonomous project orchestrator that drives coding agents from goals to verified work.

    typescript · ai agents · mcp · acp · spec-driven · runpod
    • Board: a command-line tool and library that manages project work as plain markdown files in your repo instead of a database. A config file defines your own document types (tasks, specs, ADRs, anything), each with its own schema: typed fields with allowed values and defaults, links between documents such as dependencies (checked for cycles), an id scheme, and a folder layout. Claiming a task is lock-safe, so several agents can work in parallel.
    • Service: an orchestrator built on the board. It schedules tasks, runs coding agents (Claude Code, Codex CLI, and other subscription-based ones) in isolated git worktrees, and verifies the results before an autonomous merge to main.
    • UI: a web app on top of the service, with a kanban board and a live session viewer to watch and steer any running agent.
    • Also: a host-wide CPU/RAM/GPU coordinator, RunPod and OpenRouter control planes, and project triggers.
    mfw task board with a column per status mfw inbox mfw review queue mfw ADR list and editor mfw agent runs mfw project triggers mfw project files mfw project settings mfw host resource coordinator mfw RunPod control plane mfw OpenRouter control plane
  • combeanie repo · website

    A simulation-first robotics system for vision-guided beverage restocking in refrigerated shelves.

    c++ · python · ros 2 · gazebo · moveit 2 · robotics
    • Deterministic pipeline: state machine, world-state validation, geometric grasp/placement, MoveIt planning, then execution.
    • Learned components as optional adapters that can only select among already-authorized primitives, never bypass planning or command joints.
    • Success verified against world state, not self-report; an unproven run stopped safely, with the reason stated.
    • Autonomous restocking campaign: shelf and tray surveyed, deficits worked out, and transfers chosen and repeated until no compatible pair is left.
    • Lane routing that scores a real cost across compatible lanes, avoiding occupied ones and ones obstructed by something overlapping.
    • Obstacles absent from every model and scenario file changing what may be executed; execution refused, joints unmoved, when scene geometry is stale.
    • Seeded, byte-deterministic scenario replay for reproducing a specific failure exactly.
    Combined workcell and robot plan Robot side and front orthographic views Workcell top and side views Gravity-fed lane cross-section
  • orgonzola repo

    Local-first GitHub organization intelligence for engineering leads, teams, and project health.

    rust · typescript · tauri · react · github · sqlite · rag
    • GitHub activity indexed into teams, sprints, and work items as real linked records, not just labels.
    • Code and threads chunked and embedded into a vector store for RAG-based semantic retrieval.
    • Deterministic rules applied first and cheaply (stale PRs, merges without review, failing CI).
    • LLM limited to fuzzy judgment; the tool stays useful with it switched off.
    orgonzola Attention tab with an AI summary of items needing attention orgonzola Dashboard with health scorecard, DORA metrics and sprint commitment orgonzola Code tab with a churn heatmap and code risk list orgonzola Standup tab with a weekly digest
  • Obsidian plugins Habit Tracker repo · Voice Journal repo

    Focused, local-first additions to Obsidian for daily habits and AI-assisted voice journaling.

    typescript · obsidian · markdown · local-first · speech-to-text
    • Kikijiki Habit Tracker. A compact desktop and mobile panel that records configurable habits as tags on the current note. Install from Obsidian Community Plugins.
    • Kikijiki Voice Journal. Imports recordings, transcribes them through a configured speech-to-text service, and asks a selected coding agent to create or update Markdown notes in the active vault; keeps original audio, transcripts, resumable run state, and a live filterable activity timeline so every automated vault edit remains traceable. Source on GitHub.
    Kikijiki Habit Tracker panel with configurable daily habit toggles Kikijiki Voice Journal panel after a completed run, with vault changes to accept or revert above the agent's activity timeline

Software engineer with 10+ years of experience across game development and digital twin platforms, building the foundations other teams depend on: data formats and SDKs, storage and data pipelines, 3D viewers, React UIs, and CI/CD, mostly in Rust, Python, and TypeScript, from design through production release. Hands-on experience running workloads on AWS.

Currently a hands-on lead of a 6-person team: building core systems myself while owning requirements, scheduling, and security audits, and working with solutions engineers to deliver for factory customers in Japan and overseas. Design and build AI agents end to end (RAG, tool calling, tracing, evals), with an understanding of AI from the underlying math to current techniques. Beyond work, build substantial AI systems of my own, such as a from-scratch LLM inference engine.

Download as PDF (75 KB)

Work Experience

  • Lead Software Engineer – Digital Twin Platform Oct 2025 – Present
    Woven by Toyota · Tokyo, Japan
    • Lead the Visualizer and Data Pipeline teams (6 people in total): requirements gathering, coordination with other teams, task and schedule management, reviews and planning, security audits
    • Work with solutions engineers to gather needs directly from multiple factories (external companies) in Japan and overseas and feed them into development
    • Built a modular viewer engine (data components, logic, signals, rendering) with plugins for 3D models, Gaussian splats, shapes, text, and images, plus a React panels API with ready-made timeline, annotation, inspection, and profiling panels; adopted by multiple teams to build their own visualizers
    • Improved rendering performance for large files and heavy scenes, and playback and seek performance through data streaming and snapshot support; improved documentation and templates and hardened security
    • Continued evolving the data format and SDK with spec improvements and advanced features including snapshots, sharding, and async I/O; improved dataframe/Databricks integration
    • Implemented a graph-based object storage and data layer that serves every service on the platform and makes onboarding new services fast; supports deduplication, versioning, tags, queries, and recursive operations, backed by an extensive test and fuzzing suite
    • Ported a C#/Unity simulation engine to Rust (Bevy), eliminating licensing fees and improving execution speed by 100x, memory usage by 50x, and binary size by 20x
    • Developed a fully working tech demo presented at Toyota's public Kakezan showcase in Woven City, combining project management, simulation editor and execution, visualizers, KPI dashboards, and an integrated AI agent
      • Agent present throughout the multi-tool, multi-panel app, working seamlessly with the editor, visualizers, and dashboards; RAG, telemetry DB queries, and file/data search integrated as tools
      • LLMs via AWS Bedrock; OpenTelemetry tracing of turns and tool calls; evals measuring accuracy on common tasks to improve prompts and context design
  • Senior Software Engineer – Digital Twin Platform Aug 2024 – Sep 2025
    Woven by Toyota · Tokyo, Japan
    • Designed a unified data format specification, now the core technology used across the Digital Twin Platform for telemetry data streaming and storage; implemented the SDK with a Rust core and bindings for C#, Python, and WebAssembly (JavaScript/TypeScript); added CLI tools and dataframe support; integrated with viewers, simulation engines, and data pipelines
    • Developed a React SPA (TypeScript/Three.js/WebGL) for 3D simulation-data playback, with a 3D viewport, UI overlays, frame and asset streaming, tests, and CI/CD; met all security requirements and shipped
    • Added real-world telemetry playback with time-series streaming, asset animation, and custom visualizations; contributed to the design of the mapping from telemetry to viewer entities and animations
    • Designed a data model based on an ECS-style architecture where components are the semantic unit of data; implemented the component registry, plus related tooling, documentation, and frontend/backend support
    • Coordinated GitHub migrations for multiple projects; implemented CI/CD pipelines for build, test, benchmarking, audit, SBOM scanning, publishing, documentation websites, and releases
  • Lead Tools Programmer Sep 2018 – Jul 2024
    Square Enix · Tokyo, Japan
    • Led a five-person team developing a company-wide asset platform with ML-powered tagging and captioning
    • Designed a scalable backend using Rust, PyTorch, and PostgreSQL, and built the web interface with Axum and Leptos
    • Developed a visual issue-tracker plugin for Unreal Engine, adopted by three projects (150–300 users total)
    • Created a flexible Jenkins CI/CD template for Unreal Engine projects, reducing setup time by weeks per project
    • Served as technical project manager for a procedural cutscene generation project; pioneered the adoption of Rust for tools
    • Led tools and infrastructure development for a 50-person tech demo team, covering Perforce setup, Jenkins CI, server administration, and Sentry integration
    • Mentored engineers, managed task allocation, handled stakeholder requests, and collaborated with cross-functional teams
  • Game Programmer – Elden Ring Apr 2015 – Sep 2018
    FromSoftware · Tokyo, Japan
    • Implemented the full vegetation system pipeline: a 3ds Max DCC tool, BVH exporter, runtime streaming, and rendering
    • Converted the AI system from single-threaded to multi-threaded execution and improved Havok pathfinding for the open world
    • Created open-world map-building tools that merge assets, events, and metadata across LODs
    • Led the Git migration and GitLab deployment for the engine repositories
  • Programmer (Internship) Apr 2014 – Oct 2014
    Cygames · Tokyo, Japan
    • Developed the mobile app "O'REILLY COLLECTION" using Unity and Adobe AIR
    • Implemented a custom Yammer-based chat client for internal use
    • Received a commendation from the department lead for outstanding performance

Publications

  • Believable Fighting Characters in Role-Playing Games Using the BDI Model Feb 2015
    Matteo Bernacchia, Jun'ichi Hoshino · Information Processing Society of Japan (IPSJ) · cir.nii.ac.jp
  • AI Platform for Supporting Believable Combat in Role-Playing Games Nov 2014
    Matteo Bernacchia, Jun'ichi Hoshino · Information Processing Society of Japan (IPSJ) · cir.nii.ac.jp

Skills

  • LanguagesRust, C++, Python, TypeScript/JavaScript, C#, SQL
  • Engines & FrameworksUnreal Engine, React, Three.js, Node.js, DirectX/Vulkan, CUDA
  • AI & MLLLMs/GenAI (Amazon Bedrock), AI agents (tool calling, workflows), MCP, ACP, RAG, prompt/context engineering, evals, PyTorch, MLOps
  • Tools & InfraAWS (EKS), Git, Perforce, GitHub Actions, Jenkins, Docker, Kubernetes, Terraform, OpenTelemetry, Nix, Linux (NixOS)
  • Spoken LanguagesItalian (Native), English (Professional; TOEFL iBT 110, TOEIC 940), Japanese (JLPT N1)

Certifications

  • AI & Machine Learning
    • Deep Learning SpecializationFeb 2023
      DeepLearning.AI (Coursera) · Verify
    • Natural Language Processing SpecializationApr 2023
      DeepLearning.AI (Coursera) · Verify
    • Generative AI with Large Language ModelsAug 2023
      DeepLearning.AI & AWS (Coursera) · Verify
    • Generative AI for Software Development Professional CertificateOct 2024
      DeepLearning.AI (Coursera) · Verify
    • PyTorch for Deep Learning Professional CertificateNov 2025
      DeepLearning.AI · Verify
    • Deep RL CourseApr 2023
      Hugging Face
    • Getting Started with Deep LearningOct 2025
      NVIDIA (DLI) · Verify
    • Introduction to AI in the Data CenterJan 2024
      NVIDIA (Coursera) · Verify
    • Generative AI Essentials: Overview and ImpactJan 2024
      University of Michigan (Coursera) · Verify
    • Fine Tune BERT for Text Classification with TensorFlowApr 2023
      Coursera Project Network · Verify
    • The PyTorch Basics You Need to Start Your ML ProjectsMar 2023
      Coursera Project Network · Verify
    • Building Towards Computer Use with AnthropicJan 2025
      DeepLearning.AI · Verify
    • AI-Powered Software and System DesignOct 2024
      DeepLearning.AI (Coursera) · Verify
    • Team Software Engineering with AISep 2024
      DeepLearning.AI (Coursera) · Verify
  • MLOps & Data
    • Machine Learning Engineering for Production (MLOps) SpecializationMar 2023
      DeepLearning.AI (Coursera) · Verify
    • MLOps SpecializationDec 2023
      Duke University (Coursera) · Verify
    • Advanced Data Analytics Professional CertificateMay 2023
      Google (Coursera) · Verify
  • Cloud, DevOps & Security
    • Container Orchestration using KubernetesJun 2023
      Coursera Project Network · Verify
    • AWS Cloud Solutions Architect Professional Certificate
      Amazon Web Services (Coursera)
    • Infrastructure as Code with TerraformJul 2026
      Google Cloud (Coursera) · Verify
    • Cybersecurity Professional CertificateDec 2023
      Google (Coursera) · Verify
  • Web & Full-Stack Development
    • Back-End Developer Professional CertificateDec 2023
      Meta (Coursera) · Verify
    • Front-End Developer Professional CertificateDec 2023
      Meta (Coursera) · Verify
  • Systems & Languages
    • Rust Programming SpecializationDec 2023
      Duke University (Coursera) · Verify
    • PostgreSQL for Everybody SpecializationSep 2023
      University of Michigan (Coursera) · Verify
    • GPU Programming SpecializationFeb 2024
      Johns Hopkins University (Coursera) · Verify

Education

  • University of Tsukuba (Graduate School) Apr 2013 – Mar 2015
    Master's Degree, Systems and Information Engineering, Intelligent Interaction Systems · Tsukuba, Ibaraki, Japan
    • Researched believable AI characters for role-playing games, based on the BDI (belief–desire–intention) agent model
  • Marche Polytechnic University Jul 2010
    Bachelor's Degree, Information and Automation Engineering · Ancona, Marche, Italy
    • Thesis: Study of a Software Agent Platform for Healthcare Information Systems (2010, Faculty of Engineering)