Software Engineer & Web Accessibility Specialist

The web and I have grown up together, and more than fifteen years of building for it have shaped how I create inclusive digital experiences today. My work blends inclusive interfaces and scalable design systems to help teams deliver products that are both high quality and easy to use. From early planning and design through implementation and launch, each project is guided by clean code, thoughtful collaboration, and a belief that technology should meet people where they are.

Book A CallDownload My Resume

YouTube Web Development Series

Content creation has been a passion of mine since childhood — I began making videos at eight years old and never stopped. Over the years that early interest evolved into a way to teach, document, and share what I learn. Some of the videos in this series are nearly a decade old and have drawn close to 100k views, including lessons where I was teaching advanced JavaScript early into my professional career. This blend of engineering expertise and video storytelling is a unique skill I bring to every team, allowing me to create custom video documentation, explain complex concepts, and make development more approachable for others.

About Me

Everything is connected. The way I write code is shaped by how I move through the world. Years of building for the web have sharpened my skills as an engineer, but it’s my relationship with nature, community, and the spiritual that has taught me patience, perspective, and empathy. Crafting accessible digital experiences is one extension of that. These values influence how I approach code, collaboration, and design. My aim is to create spaces that are welcoming, clear, and grounded in respect for others. The work is technical, but it is also deeply human. 

Companies I've Worked With

Over the years I’ve collaborated with a wide range of companies — from global tech leaders to innovative startups — building products, design systems, and accessible experiences at scale. These partnerships reflect both the depth of my engineering background and the trust placed in my ability to deliver thoughtful, high-quality work across different teams and industries.

How I Got Started

Growing up through the rise of the internet meant always having something new to explore. One afternoon my mother was on the phone with technical support and they asked her to open the command prompt. Watching the black window appear with its blinking cursor was strangely fascinating. 

Questions turned into instructions, and before long I had found resources to learn basic commands. Those commands became little BATCH programs, small games, and tools to automate tasks. One of them used the net commands in Windows to list computers on the network, prompt for a message, and send it to whoever you chose. I copied it to my friends’ thumb drives at school and we would pass messages during class. It was fun until it got me in trouble, but by then I was hooked.

MySpace and Tumblr brought new possibilities. Customizing profiles led to learning HTML and CSS, which led to making my own web pages. Soon I was approaching local businesses and offering to build their sites. While friends worked after school jobs, I was running a small freelance business, creating and maintaining websites for local restaurants and shops, even helping them with marketing. By the time high school ended, I had a portfolio strong enough to land my first professional role. From there, one project led to another and the path carried me to the work I do today. 

Work Experience 

Each role has shaped the engineer I am today, from early freelance projects to leading accessibility efforts on large-scale platforms. Along the way I’ve worked across every stage of development — planning, design, implementation, and launch — gaining a deep understanding of how products are built and how teams succeed. This section highlights the projects, skills, and lessons that continue to guide my approach to software and collaboration.

Early Web Development and Remote Work at Imagine Marketing

Fresh out of high school, I joined a small marketing company in Detroit called Imagine Marketing. They had seen that I could program and had camera skills, so my work spanned both web development and occasional photography and video projects. It was a small operation without formal titles, but the responsibilities were clear — maintain and update client websites, most of them built on WordPress, and be ready to capture photos or video when needed.

The work was mostly remote, which suited me. I had already been freelancing and doing door-to-door sales in high school, and I was used to setting my own pace. My focus has always been on results rather than grades or someone watching over my shoulder. That independence became a foundation for the way I’ve approached work ever since.

This was long before GitHub became standard or modern JavaScript frameworks existed. The best tool available at the time was jQuery. I would connect through Dreamweaver, download the codebase, and work directly in HTML, CSS, PHP, and vanilla JavaScript. PHP handled the templating, JavaScript handled the interactivity, and it all ran without dependencies. Even now, I suspect the sites I worked on back then would still run exactly as they did. 

Looking back, this role was more than an introduction to professional web development. It was a front-row seat to the early web and the beginning of a journey that has grown alongside every new tool and framework the industry has produced.

Sharpening Skills and Learning Team Collaboration at Wysong

After my time at Imagine Marketing, I returned to freelancing. The business experience I had gained gave me a stronger foundation to work with clients, but freelancing has its own rhythm — when work was steady it was great, and when it was not, it was quiet. That ebb and flow eventually led me to look for a more stable position, and I found one with Wysong, a company known for its unique pet products and loyal customer base.

It was my first onsite role, and while I have always preferred remote work, I was open to the experience. Wysong’s website received far more traffic than anything I had worked on before, which brought new challenges and higher expectations. My work ranged from creating product pages to designing one-off informational pages for customers, always with a focus on making the content responsive and interactive. The company wanted product pages that told a story — ones that could bring their products to life for customers.

The tools were still familiar — we worked without GitHub, and I continued using Dreamweaver — but the scale and requirements were very different. For the first time, I was part of a team of developers, with opportunities to ask questions, learn from others, and collaborate on shared goals. We worked within brand guidelines and product requirements, which taught me the value of consistency, attention to detail, and understanding the bigger picture behind design and development choices.

Although office life never became my preferred way of working, this role sharpened my technical skills, expanded my knowledge of JavaScript and responsive design, and gave me first-hand experience in working with larger teams to deliver on a unified vision.

Blending Art, Travel, and Web Development at Peacock Park Design

After my time at Wysong, it became clear that daily office work was not for me. I returned to freelancing, building on the business and technical experience I had gained, and was able to make it work successfully for a while. Then the CEO of Peacock Park Design approached me after seeing my video work and offered me a full-time role. It was my first salaried position, but unlike my previous on-site role, this one was remote — with a lot of travel.

We flew around the United States filming a reality TV show pilot, often staying on location for a week at a time. When we were not traveling, I worked from home on a mix of product photography, video production, and web development. The schedule varied, but the approach was always results-oriented — a mindset I had carried over from freelancing. The important thing was delivering high-quality work.

The CEO was a gifted artist with a distinctive shabby chic style, and she wanted her websites to reflect that uniqueness. Accessibility was not the primary goal; visual style was. This meant creating highly customized elements, such as photographing ornate picture frames, cutting them out as PNGs, and overlaying them on image carousels. Other designs called for layered cutouts, animated page elements, and unusual layouts that pushed me to think beyond conventional web design.

It was an immersive, artistic process that felt closer to painting than coding. Without a development team or strict code quality requirements, my role was to find creative ways to bring bold, unconventional ideas to life. It strengthened my problem-solving skills, expanded my technical creativity, and gave me confidence in tackling complex challenges — making standard web projects feel easy by comparison.

Discovering Modern Web Development and Analytics at Diib

After my time at Peacock Park Design, I decided to chase my big city dreams. I had built up enough experience to feel ready for a larger market, so I moved to Salt Lake City. I started freelancing right away to cover expenses while rebuilding my online portfolio and applying for full-time roles. That led me to Diib, an online service that analyzed website analytics and translated them into plain-language reports with actionable insights.

It was my first time working for a SaaS company with an online dashboard. Diib would find patterns in the data — like a high bounce rate on a certain page or missing metadata — and turn them into clear recommendations for users. The product was built with Angular, a frontend framework I had little experience with at the time, so the team leaned on my core web development skills to build single-page views, customer information pages, and a sign-up form. They also valued my video skills, and I created tutorials and walkthroughs to accompany the reports and onboarding process.

Because the team was small, I had direct access to product people and learned more about analytics in those months than I ever had before. I gained an in-depth understanding of concepts like bounce rate, backlinks, page titles, semantic HTML, and metadata — not just at a surface level, but deeply enough to explain them to others. Creating videos for each analytic insight meant I had to write the scripts, verify the accuracy of the content with product, and then film and edit each one. By the end, I could walk someone through both the meaning of a metric and the steps to improve it.

This role also introduced me to tools and workflows I had never used before. It was my first time working with GitHub in a collaborative team environment, my first time communicating daily over Slack, and my first time contributing to a modern JavaScript framework. Coming from a background of vanilla JavaScript and jQuery, seeing what Angular could do was mind-opening. It made me realize that web development was moving toward more powerful, application-like experiences, and I wanted to be part of that shift.

Diib was a small startup with a lot of team turnover, so my time there was short. But it fundamentally changed the way I thought about both analytics and frontend development. It gave me new tools, a new perspective, and the drive to dive deeper into modern web technologies.

Building Complex Interactive Tools for Orthodontists at WaveOrtho

WaveOrtho is an application built for orthodontists, packed with features like tooth charts, patient calendars, and photo libraries. It ran on FileMaker, and while one developer handled the FileMaker side, my role was to build the interactive web views that brought those features to life.

The experience I had at Peacock Park Design — creating unconventional, highly interactive elements — became invaluable here. WaveOrtho wanted features that were not just functional, but intuitive and visually clear. One of the most challenging was the tooth chart. It needed to track conditions like missing teeth, fillings, and crowns, while also allowing users to draw lines between teeth to represent braces and wires. It required a mix of JavaScript, math, and geometry to get it right.

I also built tools like a secure payment portal and an interactive patient calendar. All the data lived in FileMaker, which meant I had to interpret the structure, display it in a clean and usable interface, and then handle saving changes back into the system. These features were both data-intensive and highly interactive, pushing me to think about every detail of the user experience.

This was a fully remote role, something I valued after my time at Diib. The combination of working from home and tackling complex, rewarding projects was exactly what I wanted. Each time I completed a feature, I felt a real sense of accomplishment — the kind that makes you believe you can build anything with code.

Transforming Articles into Interactive Experiences at Deseret News

After WaveOrtho reached a stable point and slowed development, I accepted an offer from Deseret News. They valued the work I had done at WaveOrtho and through freelancing and brought me on to create interactives that could be embedded directly into their articles. My role was to work with writers to understand the story and then design and develop interactive features that would make the article more engaging and help readers explore the data.

The work ranged from small vanilla JavaScript widgets to full React applications. I bundled each project with Webpack so it could be injected into an article as a single file and attached analytics events to track how readers interacted with the features. Among the interactives I created were a guided meditation experience, a Bitcoin calculator that let readers enter an amount and a past date to see the current value of their investment, and a clickable image that revealed details about specific objects within a scene.

One of the most significant projects was Faces of Homicide, an annual feature listing every homicide victim in Utah. I converted the spreadsheet of victims into JSON and built an interactive map and filtering system that allowed readers to explore the data by location, weapon, age, and click into individual stories. This interactive tripled the average engagement time for the article and won second place for “Online Special Package” from the Associated Press Association.

I also created a CRUD dashboard with Angular and Firebase to help employees digitize the Church Almanac. This involved setting up Firebase authentication, defining database security rules, and creating APIs so staff could enter information and query the new database.

During my time there I developed News Room, an Angular dashboard that became a central tool for writers. Writers often needed quick charts, graphs, or quizzes to illustrate a story. Instead of going back and forth with the design team to create static images, they could log into the News Room dashboard, browse interactives, enter their data, configure the style, and copy an embed code for immediate use in an article. Each embed followed brand guidelines and was fully interactive and accessible, giving writers a fast way to enrich their work without sacrificing quality.

My time at Deseret News gave me a level of ownership and depth that few roles provide. Each embedded interactive was essentially a small application with a full product lifecycle. I worked directly with writers to understand the story, proposed options, gathered requirements, designed the interface, and collaborated with design teams to match branding guidelines. I organized data, built the application, ensured it was responsive, integrated analytics, audited for accessibility, and deployed to production. These were not simple widgets tucked into a controlled environment — these were interactive experiences seen by hundreds of thousands of readers, trusted to represent the Deseret News brand at the highest level. This was full-cycle development in every sense, and it strengthened both my technical skills and my confidence to deliver work that stands up to a wide audience.

Contributing to the Early Infrastructure of Modern AI at Google

After my time at Deseret News I felt ready for a new challenge. I had accomplished many of my goals there and was spending late nights studying JavaScript frameworks, algorithms, and technical interview questions. That preparation paid off when a recruiter from Google reached out after seeing my Angular work and an open-source project I had shared on LinkedIn. After a rigorous interview process I accepted a contract with Google Cloud and moved from Utah to California.

The project focused on data labeling tools used by annotators to prepare training data for machine learning models — years before the public AI boom. Our team built Angular components that allowed annotators to label photos, videos, audio, and text with speed and accuracy. We practiced test-driven development and worked with RESTful APIs, RxJS Observables, and protocol buffers. I learned to use feature toggling and A/B testing, and we maintained our own design system and component library inside a large mono-repo running entirely in the cloud.

This was my first experience inside a team of that size and structure. We worked in feature branches, reviewed each other’s code, followed agile practices, and held daily stand-ups. Although I had used some of these tools in the past, this was the first time I saw a large group fully aligned on modern workflows, and it gave me a clear picture of how big-tech engineering operates. I was even trusted to conduct hiring interviews and help onboard new team members.

Looking back now, it is striking to see how this work contributed to the foundations of today’s AI. The components we built enabled data annotators to create the rich, structured datasets needed to train and refine machine learning models. After my initial twelve-month contract ended, Google extended it to the maximum of eighteen months, giving me the chance to deepen my understanding of scalable engineering and the early infrastructure that powers modern AI.

Why Accessibility Matters To Me

My partner began running a music therapy business and working with disabled people in 2018. Watching her connect through music and help people find their own voice opened my heart and shifted the way I saw the world. It revealed how often spaces are created without considering everyone who might step into them.

In 2020 I began learning about critical race theory and the systemic hurdles marginalized communities face. The more I learned, the more I saw privileges in my own life that I had once taken for granted. It made me question the systems I had assumed were neutral and showed me how uneven the ground can be for people from different backgrounds.

These experiences changed the way I see my work. Accessibility is not a checklist or a box to be ticked. It is a way of meeting people where they are, building spaces that respect their presence, and removing obstacles that never should have been there in the first place. It is a commitment to creating something that allows more people to participate fully, with dignity and without compromise.