Enterprise UX, Design Systems, IA, Animation
Next.js, React, TypeScript, SSR/ISR, Monorepos, Node
Cross-functional, Design-Dev Bridge, Small Team Leadership
AI, Microservices, ISR, RSC, Server Actions, Monorepos
Enterprise product design and development across data infrastructure and industrial AI platforms
A complete design of our new access management system. The goal was for admins to be able to assign, understand, and manage permissions across workspaces, groups, and individuals. I turned a complex, technical model into a clear and intuitive interface, improving trust, and creating scalable patterns that extended our design system.
One of the central challenges was designing the interfaces between baseline workspace, group, and individual permissions. Each layer needed to feel familiar so admins weren’t relearning new patterns at every level, while still providing the right context to show why a permission existed and where it came from. By unifying these interactions under a consistent design language, I reduced the learning curve and gave admins confidence in managing complex policies.
Designing for an additive architecture (where baseline, group, and individual permissions stacked together) introduced unique complexity, as overlapping grants could easily obscure why someone had access to a particular feature or function. To address this, I created the Inheritance Popover, a lightweight interaction that visualized inherited permission lineage in context, giving admins full context on the specific configurations within any policy. This not only clarified where access came from but also gave teams fine-grained control without losing sight of broader organizational rules.
Finally, I restructured the information architecture (updating the sidebar, aligning URL structures with breadcrumbs, and establishing consistent navigation) so admins could move across tiers of policy management without losing orientation.

New User Admin

Access Management Dashboard

Baseline Workspace Policy

Group Workspace Policy

Individual Policy

Inheritance States
Enabled users to confidently manage complex permissions while evolving our design system to support scalable, enterprise-level access patterns. Praise from Procter & Gamble as "very intuitive and immediately useful" and from FootLocker: "we immediately met our internal infosec requirements and will work towards fine-grained, role-based control."
Redesigned RudderStack's most highly adopted and loved feature, taking it from a basic inline code editor to a fully-featured dev tool, including test suites.
I led the redesign of one of RudderStack's core features, Transformations, evolving it from a simple inline code editor into a more robust, developer-friendly workspace. The previous experience made it difficult for users to manage complex logic or validate changes with confidence.
In the new design, I introduced clear draft vs. publish states, a structured asset library for reusable functions, and a built-in testing framework with input/output validation. These changes gave engineers greater transparency, safety, and control when deploying transformations, while aligning the UI with workflows developers expect from modern tooling.
In addition to rethinking the user flow, I established new paradigms for our design system by introducing code-specific styling and editing affordances. I standardized syntax highlighting, spacing, and inline feedback to create a consistent, readable environment that mirrors modern development tools. I also defined interaction patterns (draft indicators, test results, dependency warnings) that set a foundation for future editor-like experiences in the product. These system-level updates not only improved usability for Transformations but also expanded our design language to better serve technical workflows across the platform.

Previous Interface

New Interface

Publish Transformation

Import Payload

Update Libraries

Version History
The redesign gave users confidence to safely test and version their work, making it easier to deploy code changes to production without fear of breaking data pipelines.
Led the migration from Gatsby to Next.js with modern patterns like ISR, RSC, and Server Actions, improving developer velocity and setting the foundation for future scalability.
I led the rebuild of our marketing site by migrating from Gatsby to Next.js, deployed on Vercel. The project modernized our stack with TypeScript, a robust CI/CD pipeline, and Storybook to document and scale our Design System.
A critical optimization was separating our integrations directory from the main build process due to its massive size and complexity. By implementing Incremental Static Regeneration (ISR) with webhooks, we saved the team hours of build time every week, allowing them to move faster and deliver more value.
At RudderStack, dogfooding our own product is critical to understanding our customers' needs and paint points. I helped author a blog post about how I implemented our real-time personalization engine (using Vercel Edge Functions) on our marketing site as a guide for our customers.
We also implemented React Server Components (RSC) and Server Actions to leverage emerging Next.js patterns for performance and maintainability. I built out components for Storybook to support our Design System and utilized Chromatic to check for visual regressions.

RudderStack Marketing Site

Vercel Speed Insights

RudderStack Integrations

RudderStack Navigation
This migration improved developer velocity, site reliability, and design consistency but also set a foundation for future scalability. Ultimately, our marketing team was able to deploy new pages and features faster to increase business growth and qualified leads.
Designed & built UI for AI/ML platform serving both C-suite executives and factory floor operators across industrial processes.
Designed and built the complete UI for TwinThread's industrial AI platform, serving both C-suite executives and factory floor operators. Created interfaces for operational data visualization, AI model management, and custom dashboard creation that scaled across complex manufacturing processes.
The solutions I designed and developed required a deep understanding of both enterprise needs and operational workflows and are still in production today.
NOTE: Images are not available for this project as I no longer have access to the design files.
Extensible UI patterns and modern front-end enabled the platform to scale through 3x growth and expand into multiple industries including consumer products, food & beverage, and speciality chemicals.
"Chandler was a critical part of the product team, not just as a designer and frontend engineer who could bring our products to life, but as an end-to-end product thinker who dug in to really understand the customer pain points and develop conviction around the right solutions."
"During his tenure at TwinThread, Chandler unified the design of the product and pushed for leading edge user experience. Chandler also was capable of taking stakeholder ideas and turning them into reality with, what seemed, relative ease."
"Chandler is one of the ‘hire them if you get the chance’ people I’ve worked with. He is a thoughtful software developer, has great design taste, and is a fantastic teammate - a rare combination in my experience."
"Chandler is the ideal bridge between design and engineering. In the four years we worked together, I was consistently impressed by his ability to not just build beautiful front-end experiences, but to build the systems that enabled others to do the same. He was a major force behind our design system, always focusing on how to improve both developer and designer efficiency. His pragmatic approach to adopting new technologies, like React and Next.js, was always grounded in solving real problems. He is a deeply curious, collaborative, and empowering colleague who would be an extraordinary asset to a team that values great user and developer experiences."
I’ve followed Stripe’s design journey closely ever since a cohort of mine joined your team in 2013, and it’s been inspiring to watch the brand and visual language mature over time. I’ve often turned to Stripe’s UI patterns and visual language across both the marketing site and the app as a reference point in my own work. That combination of clarity, craft, and developer-first thinking has shaped the way I design and build, and it’s why I’m excited about the chance to contribute to Stripe’s next chapter.
My unique ability to wear both designer and developer hats has been crucial for bridging teams, moving quickly, and owning product features from start to finish.
I've been at the forefront of modern web development, implementing cutting-edge patterns and technologies that align with Stripe's commitment to excellent developer tools and infrastructure.
I obsess over the details that matter, from pixel-perfect designs and smooth animations to clean, maintainable code and thoughtful error handling. This meticulous approach ensures every interaction feels polished and every implementation is robust.

I'm ready to discuss how my design-development expertise can contribute to Stripe's mission of building the economic infrastructure of the internet.