Liam Mc Gartoll

Lucid Motors

Redesigning and developing an internal vehicle management platform used across dozens of teams, as an intern through full-time engineer.

Lucid Gravity in the middle of redwood forest
Role
UX/UI Engineering Intern, converted to full-time Design Engineer
Timeline
Jun 2025 – Apr 2026
Stack
Figma, React, TypeScript, Go, Matomo
Scope
1,000+ users across dozens of teams; overhaul shipped across 30+ pages

Lucid’s vehicle management platform is an internal web application used by 1,000+ people across dozens of teams for vehicle health monitoring, fleet optimization, and lifecycle support. I joined as a UX/UI engineering intern, and was converted to a full-time design engineering role at the end of my internship.

I worked across the full stack (a React and TypeScript frontend with a Go backend), handling everything from UI design and component development to API routes, state management, and testing.

Early on, I recognized that the team lacked visibility into how people were actually using the tool. I set up self-hosted Matomo so we could track usage patterns while keeping full control over our data, and worked with my team to run surveys and 20+ user interviews with internal users.

The data surfaced several things: features were difficult to discover, workflows were unclear even to experienced users, and a significant share of traffic was coming from mobile devices despite the application not being optimized for smaller screens. These findings shaped the direction of the work that followed.

My first major project as an intern was designing and building a changelog feature. Users were regularly requesting functionality that already existed, and new capabilities were going unnoticed after release.

I designed and developed the changelog page, associated admin pages, and a toast notification that appears on the homepage whenever new updates are posted. It stays visible until the user either views the changelog or dismisses it, noticeable enough to draw attention without interrupting their workflow.

The interfaces on this page are recreations built for this portfolio. Layouts and interaction patterns are representative of the shipped work; all data, copy, and branding have been generalized to respect confidentiality.

Interactive recreation: the toast persists until the update is viewed or dismissed. Try it.

After shipping, the analytics showed users were clicking through to the changelog consistently, and the volume of requests for already-existing features dropped.

The larger project was a full visual overhaul of the application. Lucid had formed business partnerships that would bring external teams onto the platform, and the existing interface didn’t reflect the level of care the product deserved. Working from Lucid’s design system, I adapted the platform’s component library at the root level, updating typography, colors, and spacing, to align with the company’s public-facing brand.

One shared library In the process, I discovered the codebase had accumulated many one-off component variants that duplicated existing components with slightly different styling. I consolidated these back to the shared library, which made the overhaul across 30+ pages significantly more maintainable.

Diagram: scattered one-off component variants consolidated into a single shared library one-off variants, page by page one shared library

Consolidating duplicated variants back into the shared library made the 30+ page overhaul maintainable.

Mobile As part of this effort, I also reworked the mobile experience based on the usage patterns the analytics had revealed, ensuring the tool worked well at the screen sizes people were actually using.

Alongside the visual work, I conducted preliminary UX research in preparation for an engagement with Alice , a design consultancy, to rethink the application’s information architecture. I wireframed structural improvements based on the pain points surfaced through user interviews and mapped out opportunities to simplify workflows. While the consultancy engagement was paused due to shifting priorities, I continued to work on UX improvements independently. The research gave me a deeper understanding of how people navigate the tool, and that perspective shaped the decisions I made day to day.