top of page

AI Reverse Engineering Tool

Project Overview

The Code2Spec platform leverages advanced AI processing pipelines built around OpenAI to analyze legacy codebases and reverse engineer business requirements. This innovative solution aims to help organizations modernize outdated systems by automatically uncovering the "why" behind the code - accelerating digital transformation with deep, contextual understanding.

The Challenge


Enterprises often rely on large, outdated codebases with minimal documentation. Replacing or updating these systems is risky and expensive due to the difficulty of understanding the embedded business logic. 

Our mission:
How might we design a platform that makes it easy for developers, analysts, and product teams to explore legacy code and extract meaningful, actionable business requirements - without needing to manually trace every line.

My Role


As Principal UX Designer, I led the end-to-end design and research strategy. I worked closely with stakeholders, product managers, and engineers to shape a clear vision for the product and ensure usability remained central to every decision. Since there was a lot of uncertainty involved, we experimented with the design which helped us adapt our solution as we learned from early users.

Key responsibilities included:

  • Research Leadership

    • Led foundational user research, including interviews with enterprise developers, business analysts, and CTOs.

    • Analyzed how users navigate technical debt and system modernization workflows.

    • Synthesized findings into actionable insights to guide roadmap and MVP definition.

  • Strategic Collaboration

    • Partnered with executives and product leads on long-term strategy and prioritization.

    • Facilitated workshops to align user needs with AI capabilities and business goals.

  • Prototyping & Design Execution

    • Created low-to-high fidelity prototypes of the core experience: from code ingestion and AI parsing to results exploration and requirement extraction.

    • Worked hand-in-hand with engineering to design for edge cases, system transparency, and user trust.

 

The Research


This phase was crucial in defining the core value proposition of the product, identifying the target audience and understanding the problem it solves.

Problem Statement 

How might we solve the issues faced by modernization teams with our AI platform?

In the beginning, we assumed a product team would largely be responsible for this part of the work and targeted our research towards this persona. Early on in the interviews however, it became very clear we needed to pivot towards the developer and therefore shifted our research to interview engineers, specifically ones working on modernization projects with legacy systems, usually involving COBOL (banking, insurance etc) and highly sensitive data.

 

Target Persona
 

Emilio Holiday is a senior software engineer, leading a team of developers who are all well versed in modern technologies and expert at writing efficient code.

 

The company that hired them has a 30 year old mainframe system that needs to modernize so they can continue to provide the same services to their clients without disruption.​

cb.persona.jpeg

Research Methods 

  • 15 mainframe developer interviews.

  • 8 mainframe research papers.

  • 3 surveys to mainframe teams.

Key Research Findings

  • Due to security risks, companies are preferring to keep sensitive data on their mainframes and modernize systems into the cloud like analytics and reporting.

  • Attempting large scale migration without fully understanding workload interdependencies or time and budget needs has led many to underestimate the impact of modernization and project failure.

  • Legacy applications are not designed to support continuous delivery, as some components within these applications create obstacles - or friction points - that negatively impact business operations.

  • Poor coordination between product and modernization teams - and lack of engagement with business leaders - will undermine continuous modernization efforts.

  • Main reasons to spend money on a modernization project: license costs, lack of scalability, stability and performance, customer complaints, security issues, industry competition and a desire for greener industry.

  • Problems faced by modernization teams: dead code, difficult to understand systems and business logic, lack of documentation, outdated processes and tools.

  • By prioritizing the mainframe developer experience and automating manual activities. organizations can deliver even greater value to their businesses.

Brainstorming
 

We analyzed interview data in Dovetail, using tags aligned with our research script to surface key themes and insights.

Affinity Mapping
Click to enlarge (note that team comments have been removed)
 

To synthesize the raw data and get a better picture of problem areas, I facilitated a workshop using Miro to create an affinity map and group user feedback, pain points and behaviours to find patterns. Using sticky notes, the team grouped related ideas. This helped us identify recurring issues and unmet user needs that informed feature priorities.

Participants were: design, product and engineering.

Affinity Map

User Journey Map
Click to enlarge (note that team comments have been removed)

I facilitated this workshop using Miro to analyze the research findings. The team mapped pain points and opportunities in a Miro experience map to visualize the user journey pain points and opportunities.

Once complete, we presented our findings to stakeholders, including key takeaways from the research reports.

Participants were: design, product, engineering, sales.

User Journey Map

The Design

User Flows
Click to enlarge (note that team comments have been removed)
 

Working closely with the Senior Designer and Director of Product, we translated the research insights into user flows using Figma that balanced user needs with business goals, and allowed us to design the logical flow. This gave us a strong foundation to begin concepting our solution and prioritizing the features for our roadmap.

Participants were: design, product and engineering.

User Flows

Figma Prototype
Click to enlarge 

After some initial testing with low fidelity wireframes where we defined the structure, layout and flow, we moved to a higher fidelity prototype.

 

Using components and the color scheme from our design system, I created a prototype using Figma to make the user testing as real as possible. The user testing results provided us with valuable insights into the features we'd designed for. We ended up removing some of the less useful data points, simplifying the solution into 3 main diagrams for an MVP release that would illustrate the code and highlight issues for the developer.

Figma Interactions 
Click to enlarge 

Included in this screen shot are the interactions shown in Prototype Mode in Figma. They illustrate the interactions including triggers and navigation type designed to make this prototype feel as real as possible. The design system provides variants of each component used to design such things as button states etc.

This was very helpful in testing the interactions and communicating intent to stakeholders and engineers. It bridges the gap between static design and live experience and ensures the design is easy to understand.

Figma Interactions

Final Design 

Next Steps


Product, engineering and design had planning sessions around the work to be done, splitting it into 4 stages to be completed over an 8 month period, in 2 week sprints. We had a demo at the end of each sprint to show progress and gather feedback.

The System Diagrams were complex, so a front end developer worked on those in parallel to the rest of the platform. Feedback from engineers during the coding phase was essential for success, and allowed us to identify several edge cases we’d missed.

The rest of the data points were used in the product side of the platform targeted for a later release, to show a Product Requirements Document of features, their priority, code snippets and a module library along with AI peppered throughout to provide suggestions and allow the user to provide context to the solution to customize the outcome.​

After successful release the plan is to add to code insights, bringing more value to the user and implement some of the other thoughts from our user interviews.

Outcomes & Impact

 

  • Reduced time spent interpreting legacy code by over 60%, based on early pilot feedback.

  • Helped define key product differentiators (e.g., traceable AI reasoning, requirements tagging).

  • Created a scalable design language and research ops toolkit for the broader product team.

  • Enabled stakeholders to make confident, strategic decisions by exposing hidden logic within their systems.

cb_edited.png

Reflection


This project reinforced the importance of designing with both technical depth and clarity, especially when integrating AI into highly specialized workflows. By blending user research, systems thinking, and tight collaboration with engineering, we were able to deliver a product that’s not just smart - but usable and trusted.

Let's Connect!


Feel free to reach out on LinkedIn

or email at m-aubin @ outlook.com

All content © Marlene Aubin 2025

bottom of page