Designing within Cornerstone's constraints
Cornerstone is an off-the-shelf LMS with real limitations on layout, animation and responsive behaviour. Rather than fighting those, I designed with them: a modular grid Cornerstone could render cleanly, role-based visibility natively supported by the platform, and reusable content blocks IT could maintain without design intervention. The trade-off — some patterns I would have designed on a blank canvas weren't possible — was worth the reliability and shipping speed we gained. It also meant HR, Compliance and L&D could add content post-launch through the same modular structure, without breaking layout.
Owning the code, not just the design
Cornerstone quirks meant some patterns worked in a local sandbox but rendered differently inside the platform, and browser behaviour varied within the LMS wrapper. Rather than handing off designs to a dev team that would surface each constraint back to me in review cycles, I developed the front-end myself in HTML and CSS — learning modern patterns as needed (CSS container queries, clamp() for fluid typography, responsive grid with three breakpoints, accessible focus states) to ship the design faithfully. Faster iteration during testing, direct debugging when Cornerstone behaved unexpectedly, and no design details lost in translation between mockup and shipped product.
Balancing information and simplicity
Managers have supervisory responsibilities standard users don't — tracking their team's compliance training, spotting overdue courses. Rather than build a separate 'manager dashboard', I added two targeted affordances to the same Welcome Page shell: an extra link in Quick Access surfacing team reports, and a notification bell in Training Hub that turns red with a count when the manager's team has outstanding items. Both surface through role-based visibility (.manager-only toggles) so the base experience stays identical, and managers get exactly the extra signal they need — no more. An additive pattern, not a divergent one.