Software Development


As a software developer, my core philosophy revolves around understanding and meeting the unique and specific needs of each project I embark on. I thrive on challenges where the simplicity of “no” is not an option. Through a blend of determination and a problem-solving mindset, I consistently steer towards solutions that not only address the issue at hand but also surpass expectations. My goal is always to find the path to “yes”, crafting tailored software solutions that resonate with the requester’s vision and requirements.

My approach to software development is deeply rooted in creativity. I believe that every line of code holds the potential to innovate and transform. This creative perspective allows me to think outside the conventional frameworks and employ my skills in programming languages and tools in unique ways. It’s about weaving functionality with imagination, resulting in software that is both efficient and inventive.

Whether it’s automating tedious tasks, smoothing out operational kinks, or providing comprehensive solutions that serve broad-ranging needs, my aim is to enhance the work life of those around me.

CLEAR Bridge


Platforms: WPF, MariahDB

Languages: C#, SQL

In response to a critical need at CLEAR Solutions, Inc., I developed “CLEAR Bridge,” a custom software solution designed to seamlessly integrate the accounting and inventory management capabilities of Sage Accounting with the sophisticated manufacturing and build planning functionalities essential for the company’s operations.

Prior to CLEAR Bridge, the existing ERP system lacked the ability to effectively synchronize the multifaceted processes between accounting and manufacturing, leaving a significant gap in the company’s workflow. My solution was to create a system that not only retained the full functionality of Sage but also introduced indispensable features for manufacturing planning.

CLEAR Bridge automatically tracks inventory for both parts and assemblies, ensuring that purchase and sales orders are consistently synchronized. It uniquely identifies what parts need to be purchased and when, based on current orders and individual lead times, thus streamlining the procurement process.

Furthermore, the system is designed to automatically update the quality files for each build, maintaining compliance and quality assurance with minimal manual oversight.

Four years since its inception, CLEAR Solutions, Inc. continues to rely on CLEAR Bridge, testament to its effectiveness and the fit it provides the company, proving that the right software solution can indeed bridge the most challenging of operational gaps.

CLEAR Quote


Platforms: WPF, Microsoft Word, Microsoft Excel

Languages: C#

At CLEAR Solutions, Inc., the traditional method of generating product quotes for customers was a cumbersome process that relied heavily on Microsoft Word for composition and Excel for tracking. This manual approach not only heightened the probability of inaccuracies in quote totals due to human error, particularly when adjusting line items, but also led to inefficiencies and inconsistencies, such as duplicated quote IDs from simultaneous spreadsheet edits by multiple team members.

Identifying these challenges, I developed “CLEAR Quote,” a stand-alone software solution designed to streamline and error-proof the quoting process. This program introduced a user-friendly interface that facilitated seamless entry of customer details, line items, and terms all in one place.

CLEAR Quote automatically calculated line-item totals, ensuring accuracy in financial dealings. It generated unique Quote IDs for each entry, putting an end to the issue of duplicate quote numbers. It automated the generation of Word Document quotes for customers, leveraging a customizable template to maintain professionalism and brand consistency. It also automatically updated the corresponding Excel spreadsheet with quote and customer information, thereby conserving valuable administrative time.

Beyond mere document creation and spreadsheet management, CLEAR Quote housed a comprehensive database where all quotes were stored, making it effortless to search and filter through historical data. This leap in operational efficiency not only streamlined internal processes but also significantly elevated the customer service experience.

Campaign UTM Builder


Platforms: WordPress

Languages: JavaScript

Glidewell Dental wanted to track the effectiveness of marketing campaigns by adding UTM parameters to links in marketing collateral. They soon encountered significant hurdles while using the free campaign UTM builder tool provided by Google. The main challenges stemmed from inconsistencies in the formatting of UTM values—such as variations in capitalization or hyphenation (e.g., “Dentaltown” vs. “dentaltown” vs. “dental-town”)—which led to improper data aggregation in analytics reports. Additionally, the frequent omission of parameters resulted in the loss of valuable data for entire marketing campaigns.

To tackle these issues, I developed a custom “Campaign UTM Builder” tailored to meet Glidewell Dental’s specific needs. This tool revolutionized the process of creating UTM-tagged URLs by incorporating dropdown selection fields for parameters with a pre-defined list of values, automating the formatting process behind the scenes.

With the convenience of a single click, the program generates a fully structured campaign URL complete with UTM parameters, ready to be copied directly to the clipboard for immediate use.

This innovation not only eradicated inconsistencies in UTM formatting but also ensured that crucial data was accurately captured and reflected in analytics. The customized UTM Builder thus significantly contributed to refining Glidewell Dental’s marketing analytics, enabling a deeper and more accurate understanding of campaign performance.

AEM Log Reader


Platforms: Node.js

Languages: TypeScript, RegEx

At Glidewell Dental, where Adobe Experience Manager (AEM) serves as the platform of our main website, I recognized a significant challenge in monitoring and debugging site operations. AEM’s default logging system compiles all diagnostic information into a monolithic, unformatted text dossier encompassing 24 hours of activity.

This system rendered log analysis not just tedious but nearly unworkable due to the overwhelming volume of extraneous data and lack of any discernible structure among entries. Furthermore, the logs timestamped events in UTC rather than our local Pacific Time (PT), complicating efforts to correlate log entries with incident timing.

To streamline this cumbersome process and enhance our team’s efficiency in isolating issues, I developed the “AEM Log Reader” program. This tool transforms raw log files into an easily navigable interface by parsing each entry into distinct objects that delineate localized timestamps adjusted for PT, categorize messages by severity level (info/debug/warning/error), identify invoking processes, and detail messages themselves. It includes features such as tailored filters for pinpointing specific date/time ranges or keywords within logs; sorting and pagination capabilities to manage large volumes of data; color-coded formatting that intuitively highlights message priority; collapsible stack traces for detailed error inspection without cluttering workspace.

The “AEM Log Reader” proved indispensable in refining operational insights and expediting troubleshooting procedures at Glidewell Dental.