TalentReef
Application Modernization | Monolith to Microservices
TalentReef is an industry-leading talent management platform that simplifies sourcing, building, and managing an hourly workforce. Their solution is optimized for the service sector and helps employers reach and engage with great candidates.
When TalentReef engaged Crafted’s help, they had three main business goals:
Reimagine themselves after 8-10 years with the same software
Modernize platform and tech stack, specifically rewriting a massive piece of their applicant software
Drive applicant flow and reduce time to apply
Let’s dive deeper into the platform and tech stack modernization piece of the engagement...
Biggest Challenges & Business Drivers
Legacy Code
Two merged companies with 10-15 year-old Cold Fusion code
Hampered their ability to deliver
Reduced their attractiveness for an acquisition
Poor Data Model
Lack of common view of customer
Duplicate customer accounts per email
Lack of basic SaaS functions, which overburdened support teams
Dated UI and UX
Visual design resembled early 2000s web
User experience was not optimized, cohesive, or understandable
Product Focus & Intended Outcomes
New User Registration Flow
New account management via Cognito
Reduce # of legacy duplicate accounts/prevent new duplicates
Self-service password management
New Application Flow
Enhanced flows for applicants completing/submitting applications
Applicant profile and application completion UI/UX enhancements
Progress domain isolation concepts for future enhancements to flow
Make future configuration of application process for each client easier
Project Approach and Goals
Process Summary
TalentReef was working with a massive Cold Fusion monolithic application on a SQL-Server. Vertical scaling only took them so far and created countless performance problems, the biggest one being that they couldn’t add new features without breaking the monolith. Another major problem was a lot of duplicate user accounts were being created, making for a poor user experience. Before outside intervention, TalentReef strongly considered rebuilding the product from scratch.
The Crafted team came in and modernized TalentReef’s software development lifecycle from a waterfall-style to a more iterative approach, including a design team that would validate ideas before development. They used the strangler pattern to move from a monolithic to a microservice model, and the process was broken down into two domains: users and application.
The users domain involved moving users from the old custom authentication system into Cognito for a simpler managed solution. This is a great example of “buy vs. build”; instead of spending time and resources building a new custom authentication system, TalentReef bought Amazon Cognito per Crafted’s advice. Ultimately, this helped reduce duplicate accounts and create a better user experience.
In the application domain, we built “Fast Apply”, a more configurable and better-looking applicant experience, which helped TalentReef get applicants in the door faster and reduced time to apply to under three minutes. This enabled us to strangle the legacy product while still providing customers with new features and value in the short term.
The resulting new microservices were domain-centric (one for users, one for application), and each housed their own database. Data was then replicated to the legacy system so that legacy features would still be functional and users would not
experience any disruption in service. Creating microservice-centric data ensured we were evolving towards a clean architecture that would serve future needs while simultaneously allowing us to migrate away from legacy code and databases.