Aaron Ritchey

Productivity Engineer

Project: Internal Tools at SAP-Concur

In my day-to-day work, I’m always curious about the small, repetitive tasks that quietly slow us down and chip away at focus. In particular, I’ve found that with web applications like Drupal and JIRA, that bookmarklets 🔗 and userscripts 🔗 offer lightweight opportunities to streamline our use of these tools.

These micro-solutions weren’t large-scale overhauls that require scheduling in a sprint cycle. They were quick, targeted improvements — often implemented in five minutes while taking a breather from a tougher problem.

I believe that reducing minor points of friction can have a compounding effect on both quality and morale — just as leaving those pain points unresolved can gradually wear teams down.

The following examples are all from my time at SAP Concur. I also have additional examples from other companies, which I’ll share in a future case study.

Example 1: The Super Bookmark

At SAP Concur, our team managed over 90 Drupal websites across 30 countries, each with three environments. Clearing the site cache required navigating through three pages and clicking a button — a small but frequent task often repeated multiple times while debugging.

I noticed that the cache-clearing page URL was consistent across all sites, differing only by domain, so I created a one-line JavaScript bookmarklet that would redirect users to the correct cache page for the site they were currently viewing.

This lightweight tool — and additional variants — reduced bookmark clutter and significantly sped up navigation through the admin pages.

Example 2: Form Auto-completer

When testing updates to visitor-facing submission forms, the process was time-consuming: filling in fake names, phone numbers, and generating unique email addresses — sometimes up to 11 different fields.

To streamline this, I used the current timestamp to generate a unique, valid-looking email address. I then created a bookmarklet which would autofill both the short and long versions of the form with placeholder data and the one-of-a-kind email.

This reduced a repetitive, 10-second typing chore to a single click — speeding up testing and minimizing distractions.

Example 3: Color-coded Admin Pages

In our admin dashboards, it was easy to forget whether we were working in production, staging, or development — a mistake that could lead to serious consequences.

To prevent this, I wrote a userscript that added a bold, 8-pixel frame around each admin page, with distinct colors for each environment. (As you’d imagine, bright red when working on production!) I also styled all submit buttons in production to appear in red as an additional safeguard.

This subtle visual cue, delivered with just two lines of CSS, helped reduce the risk of high-impact mistakes.

Example 4: Customized JIRA Forms

Our JIRA instance supported multiple departments, resulting in a ticket submission form with nearly 80 fields. The fields our team frequently used were scattered throughout the page, and some required fields were tucked away deep in the list.

Although simplifying the form layout was requested and discussed, the JIRA team’s need to balance competing needs across departments meant that a tailored solution wasn’t immediately feasible.

To work around this, I used my experience with JavaScript and bookmarklets to rearrange the fields from the front end — which wouldn’t affect how the form was submitted. I built a userscript that pulled the key fields and the submit button to the top of the page.

This instantly made ticket submission more convenient. A few coworkers adopted it as well, and the improved usability likely encouraged more tickets to be submitted that might otherwise have been skipped.

Bonus: A Lighthearted Challenge

During a casual chat with a coworker, they asked if I could make a bookmarklet that made another teammate’s name burst into flames on a JIRA page. There was no ill intent — just a playful remark with no expectation of feasibility.

I was quietly curious, and had a few minutes. Then within 15 minutes, I had a working bookmarklet using a snippet of JavaScript and some flame-style CSS animation, the details which I can explain in a future blog post.

It was a playful and harmless effect, but also a fun reminder of how being open-minded and curious can turn offhanded comments into an unexpected learning opportunity.

Closing Thoughts

These small, targeted tools didn’t require formal approval, large budgets, or sweeping changes — just curiosity, a few lines of code, and a desire to make the daily workflow smoother.

If this kind of initiative resonates with you — whether you're working through persistent pain points, or just looking to trade ideas — I’d love to connect.