Dan Robinson, Web Developer

Portfolio

Client Reviews

Typeglider

A personal productivity tool

Technologies: PHP, MySQL, JavaScript, HTML, CSS

Have you ever wished you had a tool that would let you experiment with putting things in different orders? For instance:

  • You have 20 tasks you need to accomplish at work this week, and you’re trying to figure out what order to tackle them in.
  • You’re planning a week-long vacation in Paris. You have a list of sights you want to see and things you want to do. Which activities should go on which days?
  • You play in a rock band, and you have a gig coming up in two weeks. Which songs from your repertoire should your band play, and in what order?

In situations like these, most of us fall back on a word processor. Unfortunately, while word processors shine in the first part of the task (allowing you to quickly type up the list of items), they fail spectacularly in the second part (allowing you to easily play around with the order of the items). It’s surprisingly hard to focus on the task at hand when every change you make involves three steps (highlight with the mouse, cut, and paste into a new location).

Wouldn’t it be great if you could simply put the items in your list into a drag-and-drop interface and then glide them around with ease?

That’s exactly what Typeglider allows you to do. The items in your list can be simple lines of text or multi-component entities. Once you’ve created a list, it’s easy to add, remove, and reorder items. You can save as many configurations of the list as you like.

From a development perspective, this coding project involved:

  • user management
  • undo/redo functionality
  • nested folder structures
  • responsive design and user-configurable layouts
  • a custom algorithm for laying out text intelligently in columns (similar to what browsers do when laying out an HTML table)

Try it for yourself at typeglider.com!

Typeglider screenshot

Demo video coming soon!

HTML Factory

A helping hand for website content managers

Technologies: JavaScript, HTML, CSS

Most modern content management systems claim they will strip away unwanted formatting when you copy-and-paste content from external sources such as Microsoft Word documents and PDFs. But do CMS’s always deliver on that promise? No, they do not.

HTML Factory is a tool I designed for myself and my colleagues at the CU School of Medicine. Maybe you’ll find it useful, too! When your CMS’s built-in “remove formatting” feature falls short—either by leaving in stuff you want taken out, or by taking out formatting you want left in—this tool comes to the rescue, giving you fine-grained control over the process of cleaning up HTML.

HTML Factory allows you to:

  • remove inline styles
  • remove classes
  • replace non-breaking spaces with regular spaces
  • remove empty paragraphs
  • replace one kind of element with another (e.g., convert bullet points to paragraphs, or vice versa)
  • remove selected attributes from all elements
  • “unwrap” selected elements (e.g., get rid of all <span> elements inside divs or paragraphs but leave their contents intact)
  • add as many custom find-and-replace operations as desired (supports regular expressions)

Try it for yourself:
http://danrobinson.xyz/web-dev-tools/html-factory.html

HTML Factory screenshot

Custom Group Builder

An extension to the CU School of Medicine’s faculty profile system

Technologies: .NET MVC Framework 4.8, SQL, C#, JavaScript, HTML, CSS

Watch the video for details!

Core Labs List

My first .NET project

Technologies: .NET MVC Framework 4.8, SQL, C#, JavaScript, HTML, CSS

Watch the video for details!

Site Crawler

A creative use of JavaScript to solve a problem

Technologies: JavaScript, HTML

In 2019, the University of Colorado decided to move its entire website into a new content management system. The old CMS, SharePoint 2010, was fearfully out of date. Unfortunately, there was no tool that could automatically migrate website content to the new CMS (Sitefinity), so the entire website would have to be rebuilt page by page.

At the time, I was working as the website manager for the Department of Surgery at the university’s medical campus in Denver. Through a friend, I heard about a problem that the School of Medicine’s IT leaders were grappling with. The central website team for the School would soon be rebuilding tens of thousands of web pages in the new CMS, and they needed to charge individual departments for that service. Unfortunately, estimating the scope of the work for each department was difficult.

Incredibly, SharePoint 2010 offered no way to count the pages in a particular department’s website or even display a unified site map. The only way to get a page count was by clicking through all of a given site’s “sub-sites” and manually counting them. The site structures were often labyrinthine and involved hundreds of sub-sites.

Clearly, a better solution was needed.

I didn’t have access to the back end of our SharePoint site, but I did have the ability to build HTML pages on the same domain, and those pages could run JavaScript. That gave me an idea. I built a script that opened SharePoint’s admin interface in an iframe, simulated click events, and systematically navigated through every subsite. The end result was a page count and a site map that could be clicked through, opening and closing branches as desired.

Not coincidentally, I was hired that month to join the School of Medicine’s central website team.

Site Crawler

Migration Manager

The next chapter in the Site Crawler story

Technologies: MySQL, PHP, JavaScript, HTML, CSS

Once I joined the central website team at the School of Medicine, I knew I was going to be part of a massive effort to rebuild tens of thousands of web pages in a relatively short period of time. I needed a way to organize my work—and help my colleagues do the same. So I built a PHP app called “Migration Manager.” (Technically, our project was more of a rebuild than a migration, but I like alliteration.)

Using the Site Crawler app described above, I could already generate text files that described the structure of each department’s website in JSON format, including the URL of each page. I then set up Migration Manager to import this data and use it as the basis for a progress tracker.

The app included color coding, note taking (using TinyMCE as a rich text editor), and other tools. It also allowed multiple staff members to collaborate on a website and share notes. This system made a task that might otherwise have felt overwhelming much more manageable.

Migration Manager screenshot

Demo video coming soon! In this screenshot, you can see the color-coding of web pages by status and the controls that allow the user to drill down to different parts of the site. Hovering over a grey "NOTES" indicator automatically displays a pop-up preview of the notes that staff members have written about that page of the website.

At my most recent job, we used a ticketing system called Zendesk to track tasks and measure client satisfaction. I had a perfect 100% satisfaction rating. Here are some sample comments that my clients submitted:

Date Client Comment
2/23/2024 L.E.
Dept. of Surgery
Support was great! Quick response, clear communication, and willing to work with us on our goal. Very happy with the outcome.
1/24/2024 N.C.
Cancer Center
Dan answered in a timely manner and swiftly accomplished the requested tasks.
1/17/2024 V.B.
Dept. of Radiology
Dan is so efficient and fast, I can't keep up. Thank you!
1/9/2024 A.M.
Dept. of Surgery
Dan was extremely helpful, quick, and suggested great ideas to redesign our webpage to make it easier to navigate.
12/16/2023 T.S.
Dept. of Surgery
Dan was amazing, as always!
12/15/2023 M.R.
Dept of Physiology and Biophysics
Dan is the best!!
12/8/2023 M.F.
Dept. of Surgery
Dan is always quick to assist!
12/6/2023 M.B.
Dept. of Surgery
Dan is always professional and informative. Gets the job done and answers questions when needed. Timely completion, satisfied with the work he does!
11/27/2023 A.H.
Cancer Center
Dan is courteous and helpful.
11/15/2023 L.K.
Dept. of Surgery
Dan is wonderful. Not only does he get things done well and promptly but he also lets you know if there is a problem that might cause delays. VERY helpful!!
11/14/2023 K.T.
Dept. of Surgery
Dan Robinson is responsive and quick to assist and complete the requests. He is always fantastic!
10/16/2023 S.H.
Dept. of Surgery
Always appreciate Dan's efficiency and skill when something needs to get done!
10/16/2023 S.F.
Cancer Center
Dan is an amazing web developer!

Nomination for Employee of the Month

In September 2023, one of my clients anonymously nominated me for the CU medical campus’s Employee of the Month award. Here’s what that person wrote in the nomination:

Dan is a PLEASURE to work with. He always provides additional suggestions that take our requests and websites to the next level. Dan's work product is exceptional and he continually goes above and beyond what is asked of him. He has exceeded our expectations in every encounter and is so pleasant to interact with. He loves what he does and will go above and beyond to make things look great. He is extremely patient and tolerant of regular revisions and has an uncommon enthusiasm for his work. Dan is an expert in his field who is always looking for opportunities to make our simple requests look polished and extremely professional. Our website is used regularly for recruitment and Dan makes an incredible impact on our applicants’ impressions. Dan is simply THE BEST.