← Back to Index

Code5/ZTAG Development History: Complete Arc

Compiled: 2026-02-16
Source: 210 ZTAG Twice-Weekly Dev Meetings (Sept 2024 - Feb 2026)


Executive Summary

The Code5 project has gone through four distinct phases:

  1. Initial Spec Phase (Sept-Dec 2024) - Andrea Soft + UTF Labs define architecture
  2. AI Conversion Experiment (Jan-Mar 2025) - Quan attempts AI-driven spec-to-code, creates technical debt
  3. Cleanup Phase (Apr-Jun 2025) - Devs spend 6 months fixing AI-generated mess
  4. Conservative Rewrite (Jul 2025-Present) - Malachi takes technical lead, proper engineering practices

Key Lesson: AI-first approach without deep technical oversight created more problems than it solved. Course correction required experienced engineering leadership.


Phase 1: Initial Specification (Sept-Dec 2024)

Team Composition

Andrea Soft (Romania):

UTF Labs (Pakistan):

ZTAG:

What Was Being Built

ZTAG/Code5 is firmware for ZTagger - a wearable sports/gaming device:

Hardware:

Software Architecture (from Sept 30, 2024):

Key Technical Decisions

From Sept 30, 2024 meeting:

"So we're going to have... the display sound and haptic like the motor interface completed together... I'm moving towards the other component... working on the motor interface wire from tomorrow..."
β€” Quan Gan

Problems Encountered


Phase 2: AI Conversion Experiment (Jan-Mar 2025)

The Strategy Shift

On January 14, 2025, Quan introduced AI-driven code generation:

"I wanted to shift pace in our development work because we've... spent overall quarter, so three months making the definitions, and we collectively felt that the definition should be strong enough that we can start doing code conversion. And I know what I'm asking is... quite different in comparison to traditional mode of coding, but I really ask that we try to embrace the AI to do... we're leveraging it to do most of the code conversion."
β€” Quan Gan, Jan 14, 2025

The Approach

  1. Spec-to-Code Conversion:

    • Detailed specifications in Markdown files
    • AI (Claude) converts specs to compilable C++ code
    • BDD tests generated alongside code
    • Philosophy: "Treat the code as opaque/binary"
  2. Proposed Workflow:

    • Define features in MD format
    • AI breaks down into "committable chunks"
    • AI generates code + tests
    • Validate through BDD tests, not code review

"Treat the documentation as your code, not the code. The code should be basically treated as opaque as a binary. You shouldn't have to look at it anymore."
β€” Quan Gan, Jan 14, 2025

What Went Wrong

1. Code Quality Issues:

2. Team Resistance:

"I can see some sort of iteration progress while doing code by AI. I'm thinking we prompt it to do something, then we review the code and re-prompt it either because there's an error or there's something that we can foresee that will be an issue down the line..."
β€” Ferenc Orban, Jan 14, 2025

Ferenc wanted line-by-line review. Tension between "trust AI" vs "validate everything."

3. Specification Gaps:

4. Integration Chaos:

"I've been working on the refactoring and renaming... these are the two main things we've been working on... I did a bunch of changes by hand... I have a build issue right now... I couldn't figure it out..."
β€” Ferenc Orban, Jan 23, 2025


Phase 3: Cleanup Phase (Apr-Jun 2025)

The Reality

The dev team spent 6 months cleaning up AI-generated code:

Systematic Refactoring:

Architectural Fixes:

Customer Issues Surfacing:

From March 5, 2025:

The Verdict

The "opaque binary" approach failed. AI-generated code required extensive human intervention. The team spent more time fixing AI output than they would have writing it properly from the start.


Phase 4: Malachi Onboarding (May-Jun 2025)

Who is Malachi Burke?

Background:

First Interview: May 14, 2025

Technical Assessment:

"Pluggable architecture is unusual for this environment... totally doable"
β€” Malachi Burke

"Most ESP-NOW demos are only good for demos... if you've got 20 taggers running around, you'd rather the signal take a third of a second and always get there rather than 100ms and maybe get there"
β€” Malachi Burke

"I'm a cautious engineer... I would not upgrade their stuff right away, but they've proven themselves... I will hold back but I will peek forward..."
β€” Malachi Burke

Why Malachi Was Needed

  1. AI-driven approach wasn't working
  2. Needed experienced embedded systems leadership
  3. Mission-critical determinism requirements unmet
  4. Conservative, reliable practices required

Phase 5: Malachi Takes Technical Lead (Jul 2025-Present)

First Dev Meeting: July 15, 2025

What Changed

By August 1, 2025:

"The State Machine one was harder... but being that he clearly knew nothing about an RTOS, and he even kind of didn't know about an RTOS before, but I thought I would try... an RTOS is not hard to learn..."
β€” Malachi Burke

Technical Direction Shift:

Aspect AI-Driven (Jan-Jun 2025) Malachi's Approach (Jul 2025+)
Code Review "Trust the AI" Careful review + mentoring
Specifications Treat as input to AI Spec is sacred, code validates
Memory Dynamic allocation OK Manual, predictable allocation
Testing BDD tests only Comprehensive validation
Framework Arduino considered Raw ESP IDF only
Speed Fast AI generation Careful, validated
Team Knowledge Opaque code OK Deep understanding required
Determinism Not prioritized Mission-critical focus

Phase 6: Ryan Joins (Jun 2025-Present)

First Mention: June 27, 2025

Ryan Summers - Graphics/Display specialist

Current Role (Feb 2026)

From Feb 13, 2026:

"Ryan and I have been coordinating, and I reviewed his refreshed LVGL PR. It looks real promising. Apparently, it's been ready for a few days."
β€” Malachi Burke


Current State (February 2026)

Team Structure

Core Technical:

UTF Labs (Pakistan):

Andrea Soft (Romania):

Active Development

Games:

Technical:

Known Issues

Project Management


Key Lessons Learned

1. AI-Generated Code Requires Deep Oversight

The January 2025 experiment showed that AI can convert specs to code, but:

2. "Opaque Binary" Philosophy Failed

Treating AI-generated code as a black box that just needs testing:

3. Conservative Engineering Has Value

Malachi's approach:

4. Hybrid Approach Possible

Ryan successfully uses AI tools (Claude + ChatGPT) while maintaining quality:


Timeline Summary

Date Event
Sept 2024 Andrea Soft + UTF Labs begin spec work
Dec 2024 Initial architecture defined
Jan 14, 2025 Quan introduces AI-driven code conversion
Jan-Mar 2025 AI generates code, problems emerge
Apr-Jun 2025 6 months cleaning up AI-generated mess
May 14, 2025 Malachi Burke interviewed
Jun 27, 2025 Ryan Summers joins
Jul 15, 2025 Malachi's first dev meeting
Aug 2025 Malachi takes technical direction
Feb 2026 Conservative rebuild continues, GitHub Projects setup

Implications for AI Adoption Strategy

This history directly informs the Code5 AI Adoption Strategy:

  1. Malachi's skepticism is earned - He was brought in to fix an AI-caused mess
  2. Proof over philosophy - He's seen AI fail; needs to see it succeed
  3. Ryan is the model - Uses AI tools successfully within quality framework
  4. CI/CD and acceptance testing - Low-risk entry points that don't repeat past mistakes
  5. No "opaque binary" again - Any AI use must maintain human understanding

The path forward isn't rejecting AIβ€”it's using it with the oversight that was missing in 2025.