RedCAT: Compensation Managment Tool (CAT)

RedCAT's Compensation Management tool (CAT) is designed to make complex decisions simple. Use it to budget for salary changes, bonuses, and stock awards all in one user interface. This product integrates with human resource information systems (HRIS), so that you can communicate to employees through statements and reporting models.

CAT went through 3 main iterations while I was with the company.

  1. Legacy: The most bespoke version of the tool.  No two clients had the same code. Similar yes, but a spaghetti mess of patches, custom, duplicated, iterative, little to no documentation, and no longer in use functionality make up the code.  The main reason I was hired was to clean it up and make it more maintainable.
  2. 2.0 (The Laravel solution): A cleaner, but still bespoke version of the tool.  There still was some iteration issues, but less than what was going on with Legacy.  I migrated over a few clients from Legacy to 2.0 and continued to maintain their cycles.
  3. Passage (Laravel/Vue solution): A more complete solution than 2.0.  A more out-of-the-box, highly flexible, customizable tool than the bespoke solutions that existed previously.  I have done some work on this, mostly around security.

All versions of this tool:

  • Access the client's own authentication system (often Okta) and whitelist IPs to grant base access.
  • Have a page to do the planning of payroll on with running totals.
  • Import/Export features
  • Custom generated PDFs for email or snail mail to employees with the changes to their compensation
  • Changelogs
  • Custom built reports (Legacy & 2.0) or a custom report tool (Passage)
  • Access that runs either level based, or push/pull bases
    • Level Based: how far a manager is from a CEO.  On certain dates (or on a manual config setting) managers of a certain level are granted/ungranted access to the tool to make changes to the employees that report to them compensation.  
    • Push/Pull Based: All managers (or a specific subset) are granted access.  When they are done with their changes they submit them.  Access to edit that manager's employees is then revoked and passed up to the next manager in the chain.
    • Elivated Access: Some users have elivated access so they can edit employees always, or edit employees for another manager(s) or subset, depending on the type of elivated access
  • The ability to edit an employee outside of the planning.

Skills Utilized

  • PHP
  • MS SQL / Oracle / MySQL (client dependent)
  • SASS / CSS
  • Javascript / jQuery
  • Bootstrap
  • GIT
  • HTML / HTML5
  • AJAX / JSON
  • Agile Workflow
  • Responsive Design
  • MVC / PSR-1 (codebase limitation)
  • Highcharts (per client request)
  • DataTables
  • Vue.js (version dependent)
  • Laravel (version dependent)
  • fPDF / tfPDF
  • OpenSpout (iteration dependent)
  • XMLWritter (iteration dependent)
  • .ENV
  • Mac / Microsoft Stack (client dependent)