Who am I?

Michael Barakat is a designer and front-end developer / UX developer / design engineer living and working in Seattle, WA.

Michael Barakat

Senior Software Engineer
Seattle, WA
michaelbkats@gmail.com
hellodeary.com github

A senior engineer building UI component libraries and AI-driven developer tooling — agents, MCP servers, skills and prompts that automate test creation, code replacement, and feature building. Seasoned in front-end and component systems, with the added spice of an industrial design background and low-level programming experience.

Background

I came to engineering through industrial design. Day to day, I'm driven by finding the love in software: the small nuances, the architectural choices, the simplification of the complex, the conversations with coworkers and friends that tease out excellence. I focus deeply on things I don't understand. I enjoy dwelling on the complex until it clicks. It matters to me that what I make is artful, well-crafted, and beautiful. Very often it's what's on the inside that's the most beautiful.

My recent focus is AI-driven developer tooling — building agents, MCP servers, prompt systems, and evaluation frameworks that automate component code generation and modernize legacy architectures. My failed experiences in leveraging AI have helped me understand what works: in giant legacy codebases, use the existing business logic and testing infrastructure as much as possible, keep prompts simple and small and many, rigorously test as you go, use LLMs where judgment calls are needed - some processes are better off being mechanical. Deeply complex environments may require setup that even LLMs cannot engage with naturally because there is no documented baseline or there is no API. My work with AI and LLMs is the latest episode of my time at Microsoft supporting better UX through component systems built across React, Angular, and Web Components. My work has kept hundreds of developers on differing stacks more in sync with one another.

Work Experience

CompanyRoleDateComments

Microsoft

Senior UX Engineer

September 2025 - Present

Building AI-driven developer tooling for component code generation — agents, MCP servers, prompt systems, and evaluation frameworks that leverage control library APIs to automate production code. Using LLMs to plan large-scale architectures for replacing legacy code in enterprise applications. Operating across React, Angular, and Web Components to keep teams on differing stacks aligned. Validating and implementing web component libraries in legacy codebases. Onboarding internal teams to drive component library adoption.

Microsoft

UX Engineer II

April 2022 - September 2025

Building team infrastructure and UI controls for Fabric UX with Web Components, Angular, and React. Collaborating with Fluent UI to build web components. Building web components for the Fabric and Power BI developers.

Microsoft

UX Engineering Manager

September 2021 - April 2022

Managing UX engineers to migrate, build, and adapt control libraries for Power BI and Fabric.

Microsoft

Design Integrator

March 2020 - September 2021

Helping design teams collaborate with engineers on Microsoft Purview. Contributing components to the Purview Common Control React library.

Microsoft

UX Developer

January 2019 - March 2020

Building prototypes with React, TypeScript, and MobX. Maintaining and building out React-based websites.

Sage Bionetworks

Front End Developer

June 2018 - January 2019

Working with a team of engineers and data scientists to build websites integrating with Sage Bionetworks REST APIs in React.

Freelance Developer

Front End Developer

January 2018 - June 2018

Working with clients to build professional websites using varying tech stacks.

Developer Skills

SkillComments

AI and LLM Tooling

Building agentic systems, MCP servers, prompt systems, and evaluation frameworks that automate workflows and component production code. Using LLMs for architectural planning and legacy code modernization in large-scale enterprise applications. Working with Anthropic and OpenAI APIs.

Component API Design

Formerly agonizing over API design for days or even weeks now takes seconds with the LLM, but are those choices sound? Any component is only as good as its interface. I delight in thinking about this part of component development — and treat it as an industrial-design problem, not just a software one.

Web Tooling, Structure and Architecture

Building components for Fluent UI and developing compilers has allowed me to level up the code quality. I am familiar with common React, Angular, and web component patterns. I'm well-versed in many core browser APIs.

JavaScript Ecosystem

React, TypeScript, Angular, Fast, Next.js, Gatsby, Playwright, Vitest, Vite, Rollup, Webpack, Bun, Web Components. GraphQL via Gatsby for content-driven React sites.

Backend & Full-Stack Exposure

Node.js back-ends for personal projects (compiler tooling, REST APIs). Client-side GraphQL via Gatsby. SQL and NoSQL databases at Microsoft (lighter usage); MongoDB and Azure Cosmos DB on personal projects. Comfortable picking up new stacks quickly — recent work in Rust and C, plus building compilers and interpreters from scratch, means new languages and patterns onboard fast.

DevOps

Azure pipelines extensively used at Microsoft for component libraries: deployment, testing, versioning, publishing. Familiar with Docker images and containerization concepts via Azure pipeline workflows.

Language Skills

In order of proficiency.

LanguageProficiencyComments

TypeScript

high

Used day in and day out at Microsoft.

JavaScript

high

My first programming language.

Rust

medium

Completed the Rust book. Built a CHIP-8 interpreter. Completed building a REPL interpreter for the Lox programming language.

C

medium

Built compilers, a stack calculator, and CLI tools; solved bitwise problems for fun. Used academically: sorting, linked lists, hash tables.

Python

medium

Built a syntax analyzer, parser, and compiler.

C++

basic

Currently learning while building Bandmate along with Accelerated C++ by Koenig & Moo. Also, used it for graphics output and game program loops with SDL2.

Lua

basic

Built some games for fun: Pong, Asteroids, and a Flappy Bird clone.

Java

basic

Used academically in CS courses.

Projects

  • 2026 - Bandmate Mighty Music Metronome V0 — consumer practice-focused musician's metronome. Kotlin, C++, Android

  • 2026 - Fabric UX Explorer - An AI-augmented, user-driven test generation tool. Users navigate a web front-end; Playwright tests are generated as they navigate.

  • 2026 - Built AI workflow tooling — agents, skills, prompts, MCP servers, and evaluation frameworks to automate control library API development and component code generation

  • 2026 - Bandmate AI-powered interactive musical bandmate — completed product spec and rough architecture

  • 2026 - Bandmate Mighty Music Core V0 — C++ real-time audio framework powering Mighty Music apps

  • 2025 - stack calculator in C

  • 2025 - Mostly completed lox interpreter in C

  • 2024 - Wrote lox tree walk interpreter in Rust

  • 2024 - Started writing lox interpreter in C

  • 2023 - CHIP-8 interpreter in Rust

  • 2023 - Completed The Rust Programming Language book

  • 2022 - hellodeary.com end-to-end web app — Node.js back-end to parse and compile programs in the Hack language, with a React front-end that visualizes the abstract syntax tree, assembly, and machine code

Other Experience

  • 2016 - Learned to make handmade shoes and began offering bespoke shoemaking as a side business.

  • 2015 - Started a small backpack manufacturing side business. Worked with a local factory and local pattern makers to design, prototype, and produce the line — firsthand experience with the workflow gaps that hardware manufacturing software is built to address.

Publications

Education

  • B.F.A. Rochester Institute of Technology, 2005

  • Master's in Industrial Design, University of the Arts, 2011

But really, how and why did I get here?

When I'm not coding, you'll find me building something in my workshop. Maybe it's a woodworking project, or a pair of shoes, or it could be a photography project too. But why?

It's hard to say sometimes isn't it? Why do I code? Why am I here doing this? The short answer is: I love building things! My whole life for as long as I remember, I have been fascinated by how things work and more especially the act of creation itself: how to create things that are useful, beautiful and enjoyable.

In the late 1990s, when I was a teenager, I started getting into photography. Then later in college I studied film and animation and later worked in the film industry doing some set decoration, set construction, prop handling and then later motion graphics, videography, and video editing. This led to my initial interest in design.

By 2011 I had moved to Seattle, hoping to land a gig someplace in technology. The unfortunate reality of working as a designer in technology, however, is that you don't really get to put your hands into the proverbial "engine of the car." In other words, you don't get "hands on" time with the inner workings of the machine. As a designer, you get to design the look and feel and interactions, but don't actually get to build it. The closest you get is in understanding the behaviors of a user, and augmenting patterns in the system to create a predictable outcome. As a designer, I could never get around these details. It bothered me to not be the builder. So, in order to overcome this problem, I learned how to code. The rest is history.