Melchor Lian A. Reyes
Software Developer — Embedded Firmware & Full-Stack Development

Software developer with 7 years building software end to end — from C firmware running on STM32 and NXP LPC microcontrollers, through C#/WPF desktop applications, to Python/FastAPI services with React front-ends. Principal author of 29 repositories and 4,600+ commits across 33 projects, with a track record of taking tools from first commit to signed installer: unit tests, CI pipelines, documentation and release included. Since 2025 I have worked AI-assisted, and my two most recent tools were delivered that way end to end: I decide what the system has to do, encode the conventions the assistant works under in repository instruction files, review every generated diff before it is committed, test every build by hand and direct the fixes until the behaviour is right — the code in those two is AI-generated; the specification, the testing and the accountability are mine. Came into software from silicon-level design and verification work, so hardware is not a black box. Outside work I run a Proxmox homelab managed entirely as code — Terraform/Terragrunt and Ansible provisioning a dozen self-hosted services behind a reverse proxy — which is where the Linux, networking and infrastructure-as-code experience comes from.

4,622
commits authored
729
pull requests authored
29
repositories as principal author
809
active development days
Senior System Analyst — Software Developer (Embedded & Full-Stack)
ROHM LSI Design Philippines, Inc. · Software Development Group
Oct 2019 – Present
  • Largest contributor in the software group: 4,622 commits across 47 projects — 33.7% of the group's 13,708 and roughly 2× the next most active contributor — with 729 pull requests authored at a 96% merge rate and 123 pull requests reviewed for teammates.
  • Principal author on 29 repositories and sole author on 15, owning device evaluation and control software end-to-end for 15+ semiconductor products — power-management ICs, motor drivers, audio processors, voltage monitors and temperature sensors.
  • Delivered a full-stack document OCR and search platform single-handedly and AI-assisted — specified the system, directed the implementation with GitHub Copilot agent mode under self-authored instruction files, and verified every build by hand: FastAPI, PaddleOCR, PostgreSQL full-text search, a React 19 client, privacy-preserving Microsoft 365 login, plus nginx/TLS deployment and purpose-built load-test suites.
  • Delivered ISO 26262 tool-environment synchronisation tooling AI-assisted — cross-platform, privilege-free installers, command-level traceability logging and a Python 3.12/3.13 CI matrix — specified and directed by me, and tested by hand on Windows, Linux and macOS workstations.
  • Adopted AI-assisted development as standard practice since 2025 and delivered two production tools that way end to end: GitHub Copilot agent mode governed by self-authored repository instruction files that encode conventions and guardrails, with diff-by-diff review before every commit, hands-on functional testing, and Azure Pipelines CI as the acceptance gate — setting the constraints, finding the defects and owning what ships.
  • Introduced hardware emulation across the group's tooling — USB bridge emulator, mock USB layers and a protocol-compliant microcontroller emulator — enabling GUI and firmware logic to be unit-tested and demonstrated without physical boards.
  • Architected the shared platform layer underpinning the group's test tooling: Entity Framework data models, bidirectional SharePoint synchronisation behind a client abstraction, generic controllers replacing per-entity ones, and a NuGet-packaged library consumed across projects.
  • Established release engineering practice across the group — WiX Toolset installers, Azure Pipelines YAML builds with code-coverage gates, semantic versioning and release notes — replacing manual, ad-hoc distribution.
  • Delivered embedded firmware alongside PC software: STM32 test-system controllers with TFT touchscreen state machines and WiFi fault alerting, NXP LPC command processors, Arduino verification harnesses and USB bridge firmware.
  • Derived and validated a forward-voltage-to-temperature calibration formula against measured hardware, replacing an estimated formula; the resulting workflow was used to calibrate 10 production boards.
Design Verification Engineer — Standard Cell Library Design & Characterization
ROHM LSI Design Philippines, Inc.
Jul 2017 – Oct 2019
  • Designed and characterized standard cells — logic gate and latch families — in Cadence Virtuoso, sizing CMOS transistors to meet timing, power and area targets across drive strengths.
  • Built and delivered standard cell libraries consumed by the company's IC design teams: Liberty (.lib) timing libraries generated with Cadence Liberate and validated against HSPICE and Spectre simulation, with matching Verilog models.
  • Automated characterization and library generation with Perl and shell scripts on Linux and Windows, replacing manual file preparation with repeatable batch runs.
Excel ribbon add-in for test plan and execution management
Nov 2021 – Mar 2026 · Principal developer & architect · 94% authored

The group's longest-running project and largest codebase. WPF/MVVM Excel ribbon add-in for test plans, cases, executions and evidence, backed by SharePoint lists and a local Entity Framework cache. Rebuilt from a prototype into a maintainable architecture and sustained through a four-year refactor: per-entity EF controllers replaced with generics, an event-based notification layer decoupling views from viewmodels, PropertyChanged handlers migrated to ICommand bindings, and a full WiX installer.

C#, WPF, XAML, MVVM, Entity Framework, SharePoint CSOM, Office add-in, WiX, Azure Pipelines
Full-stack OCR and document-search platform
Jul 2026 – Aug 2026 · Sole owner — specification, direction and verification · 100% of commits · AI-generated code

Full-stack platform for OCR-processing and searching engineering documents and instrument captures, delivered against formal TDD/FSD design documents. FastAPI backend with pluggable OCR engines, PostgreSQL full-text search, React 19 search client, privacy-preserving Microsoft 365 authentication where credentials never leave the identity provider, batch upload with provenance, and load-test suites covering search, smoke, stress and upload scenarios. Shipped with nginx site configuration, a TLS setup guide and systemd units. The code was AI-generated with GitHub Copilot agent mode, as were the TDD/FSD documents drafted to my requirements; the requirements and architecture, the instruction files constraining the assistant, review of every diff before commit, hands-on testing of every build and the defect-and-fix cycles are mine.

Python, FastAPI, SQLAlchemy, Pydantic, Celery, PaddleOCR, PostgreSQL, React 19, Vite, TypeScript, MSAL, nginx, systemd, GitHub Copilot (agent mode)
ISO 26262 tool-environment synchronisation utility
Mar 2026 – Jul 2026 · Sole owner — specification, direction and verification · 99% of commits · AI-generated code

Python utility keeping qualified tool environments and source-file databases synchronised across engineering workstations. Self-contained Windows EXE and Linux/macOS installers requiring no repository checkout and no elevated privileges; command-level logging on test execution for traceability; version override tables; safe backup and re-locking of read-only shell configuration. CI matrix across Python 3.12 and 3.13. The code was AI-generated with GitHub Copilot agent mode under a self-authored SKILLS.md instruction file, and the requirements and validation documents were drafted to my specification; I set what the tool had to do, reviewed every diff before commit, tested each build by hand on real Windows, Linux and macOS workstations and directed the fixes until behaviour was correct.

Python 3.12/3.13, SQLite, openpyxl, PowerShell, shell scripting, Azure Pipelines matrix CI, GitHub Copilot (agent mode)
STM32 automated stress-test rig with touchscreen control and WiFi alerting
Aug 2023 – Jul 2026 · Sole developer · 99% authored

Firmware for an automated stress-test rig across three repositories. TFT touchscreen state machine (designed and documented with its state diagram), continuous and burst test modes, waveform generation, rotary-switch input, and a WiFi module that emails engineers when a fault occurs during unattended overnight runs. Resolved a timing defect by making I²C transmission run parallel to waveform generation, eliminating bus-induced frequency error; reworked NVIC interrupt priority to clear I²C blocking and added a bit-bang SPI path.

C, STM32, STM32CubeIDE, Arduino, SPI, I²C, NTP, SMTP/TLS, embedded state machines
PMIC evaluation tool with live ADC telemetry and USB bridge firmware
Apr 2024 – Aug 2026 · Principal developer · 83% authored

WPF GUI paired with C/C++ firmware for a USB bridge, providing register access, live telemetry and configuration persistence — the most pull-request-heavy project in the portfolio (118 PRs). Continuous burst reader and ADC parser with dynamically scaled live graphing, interrupt field handling, drag-and-drop CSV state save/load with backward compatibility, and an emulator project allowing the GUI to be developed and tested without hardware.

C#, WPF, MVVM, C, C++, USB, I²C, PEC, WiX, unit testing, Azure Pipelines
Voltage-monitor evaluation tool built on a register-driven GUI engine
Jul 2024 – May 2026 · Sole developer · 99% authored

Rather than hand-coding a form per register, the GUI is generated dynamically from register definitions, keeping the tool adaptable as specifications changed. Multi-setting concurrent burst reads, sequence register controls, write/read lockout while monitoring is active, and a mock USB layer so interface and plotting could be verified without hardware.

C#, WPF, XAML, MVVM, C, C++, I²C, PEC, WiX, Azure Pipelines
Control software for five automotive audio-processor variants
Jun 2022 – Feb 2023 · Lead developer · 5 device variants

One shared codebase serving five device variants, each with its own register map, installer, versioning and user manual. Focused on reusable, model-bound custom controls: fader and balance controls with hex input validation, interface-based field binding, press-and-hold continuous increment, and a sound-control configuration window with input validation.

C#, VB.NET, WPF, XAML, MVVM, Azure Pipelines, installer automation
Automated firmware command-test system over NXP LPC
Apr 2026 – Aug 2026 · Sole developer · 100% authored

Automated quality-assurance system driving an NXP LPC board over USB CDC with an Arduino harness. Configurable I²C byte-count command with tests, shift-register flushing to prevent stale readback, bus-lock recovery, and SCT/PWM configuration fixes for reliable duty-cycle control. Includes a protocol-compliant microcontroller emulator for hardware-free testing, a gRPC test-management client, and Microsoft Graph notifications replacing SMTP mail.

Python, C, C#, gRPC, NXP LPC, Arduino, USB CDC, I²C, PWM/SCT, Microsoft Graph, unit testing
End-to-end voltage-to-ADC temperature calibration workflow
Dec 2025 – Apr 2026 · Sole developer · 100% authored

Reverse-engineered existing board behaviour, derived and validated the correct forward-voltage-to-temperature formula against measured hardware, and built a repeatable end-to-end voltage-to-ADC calibration workflow with multi-board support. Refactored for dependency injection and interfaces with mocks and a test command, then fronted with a WPF event-driven UI. Used in production to calibrate 10 boards.

C, C++, VB.NET, WPF, ADC calibration, dependency injection, unit testing, mocking
Test chip verification software with USB firmware loading
May 2025 – Jul 2025 · Sole developer · 100% authored

Verification software handling USB firmware loading, register map management and profile data parsing. Changed error handling to surface all exceptions rather than only the first, making verification failures diagnosable; restructured the send path so it could be substituted from outside the main project for unit testing; added unit tests and a code-coverage pipeline.

C, C++, C#, USB, unit testing, code coverage, Azure Pipelines
Shared data-model and SharePoint synchronisation library
Mar 2023 – Oct 2023 · Principal developer · 97% authored

The shared model layer consumed across the group's test tooling: entity models, a local Entity Framework database, and bidirectional SharePoint list synchronisation. Generic base models and a common data interface enabling generic operations across every model, state detection (new/modified/unchanged), image and file transfer handling, packaged as a NuGet library.

C#, Entity Framework, SharePoint CSOM, NuGet, generic programming, unit testing
.NET command-line client for bulk test-management operations
Apr 2025 – Aug 2026 · Lead developer · 47% authored

Automation-friendly counterpart to the Excel add-in: upload, dump, copy and update of test plans, cases, steps, results and evidence. Copy operations across parent/child entities with correct ordering and attribution, XML dump, record locking and version columns. Migrated to .NET 8 with single-file publishing, maintained through semantic versioning to 1.5.1.1.

C#, .NET 8, EF Core, CommandLineParser, SharePoint, XML, single-file publish

Also: instrument automation utilities migrated from legacy SICL/NI-GPIB to modern VISA for oscilloscope capture and thermal-chamber sweeps; a net/pin check generator for EDA support; a general-purpose I²C tool; EEPROM production tooling; a device scripting application; and release-engineering installers.

Nethive — Proxmox homelab infrastructure as code
Jan 2026 – Aug 2026 · Sole owner and operator — architecture, deployment and operations

Terraform/Terragrunt and Ansible codebase provisioning and configuring a Proxmox homelab: LXC containers and cloud-init VMs, per-container ZFS datasets, DNS, a Caddy reverse proxy issuing Let's Encrypt certificates over the Cloudflare DNS-01 challenge, and a dozen self-hosted services (Gitea, PostgreSQL, Vaultwarden, Immich, Jellyfin, OpenCloud, ntfy and others) reached from outside through a tunnel to a public VPS. A single infrastructure.yml is the one source of truth for every instance and IP; a Python generator derives the Ansible inventory from it so the provisioning and configuration layers cannot drift. Both layers enforce recovery after a power event — Terraform sets start_on_boot, Ansible writes a native systemd unit and asserts it is enabled, after finding that Docker Compose restart policies alone do not survive a host reboot. Ran a security audit over the repo and remediated what it found: an API token cached in Terragrunt state, credentials passed as URL query parameters, a default database password, and a tunnel secret embedded in a systemd unit. The code here was AI-generated; the architecture decisions, conventions, review, deployment and debugging are mine — boot races, silent listen-address binds, a credential that lived in two unlinked places, Intel GPU passthrough for transcoding in an unprivileged LXC.

Terraform, Terragrunt, Ansible, Jinja2, Proxmox VE, LXC, cloud-init, ZFS, Debian, systemd, Docker Compose, Caddy, ACME/Cloudflare DNS, Technitium DNS, PostgreSQL, Python, Gitea
Embedded & Hardware
STM32 (STM32CubeIDE), NXP LPC, Arduino, Cypress FX2 USB, MCP2210, FPGA image handling, I²C, SPI and bit-bang SPI, UART, USB CDC, i80 parallel, PWM/SCT, NVIC interrupt priority, timers and prescalers, ADC acquisition and calibration, register-map programming, PEC, CRC8/CRC24, TFT touchscreen UI, VISA instrument control, oscilloscope and thermal-chamber automation
Web, Backend & Data
FastAPI, SQLAlchemy, Pydantic, Celery, uvicorn, PyJWT, React 19, Vite, axios, MSAL, REST APIs, gRPC, PostgreSQL (incl. full-text search), MySQL, SQLite, Microsoft 365 / Entra authentication, Microsoft Graph, SharePoint CSOM, nginx, TLS, systemd, PaddleOCR, OpenCV, openpyxl
Practice & Process
Azure DevOps (Repos, Pipelines, Boards), Git branching and PR workflow, YAML CI/CD pipelines, unit testing, code-coverage gates, mocking and hardware emulation for testability, implementation from formal TDD/FSD/SRS specifications, ISO 26262 functional-safety tool environment management, code review, semantic versioning and release notes, installer and release engineering, technical documentation and user manuals, legacy refactoring, cross-variant codebase maintenance, AI-assisted development with GitHub Copilot
AI-Assisted Development (since 2025)
GitHub Copilot agent mode (multi-file implementation from a written specification), Copilot Chat and inline completions, repository instruction files (SKILLS.md / copilot-instructions.md) encoding conventions and guardrails, specification-first direction — behaviour and acceptance criteria decided before the assistant is given the task, diff-by-diff review before commit — redirecting or discarding output that misses the conventions or over-reaches the task, manual functional testing of generated builds and directed fix cycles, AI-generated unit tests and YAML CI pipelines as the automated acceptance gate, delivering and operating systems whose code is AI-generated
Infrastructure & Self-Hosting (personal homelab)
Terraform and Terragrunt (reusable modules, multi-environment layouts), Ansible playbooks and Jinja2 templates, Proxmox VE, LXC and cloud-init VMs, ZFS datasets, Debian administration, systemd unit authoring, Docker and Docker Compose under systemd supervision, Caddy reverse proxy with ACME/Cloudflare DNS-01, Technitium DNS, subnetting and tunnelled ingress, self-hosted Gitea and Gitea Actions runners, secrets management in IaC
IC Design & EDA (2017–2019)
Standard cell design at transistor level, CMOS transistor sizing, cell characterization, Liberty (.lib) timing library generation, Cadence Virtuoso, Cadence Liberate, Synopsys HSPICE, Cadence Spectre, Verilog, Perl/shell EDA flow automation
Domains
Semiconductor device evaluation and characterization, automotive electronics (ISO 26262 functional safety), power management, motor drivers, audio processing, temperature sensing, test chip verification, automated test equipment and stress testing, laboratory instrument automation, test management and traceability, OCR and document search