The client was looking for a custom engineering solution to align with their specific business processes. The existing system is valuable as regards its in-depth coverage of French employment law regulations. Still, it asks for a considerable upgrade and rebuilding.
- Legacy software rethinking. UX needs rewiring. Modern recruitment solutions go beyond user database, contract history and payroll management into instant messaging and advanced analytics integration.
- Automation & integration. Automate and synchronize data pull from all sources (including the public site) and effectively reduce manual processes.
- Forward-looking solution. A long-term objective is to get rid of legacy components (e.g., the extranet) and make the system more lightweight and durable.
System’s interactive design
We aimed at making the system lightweight and easily scalable yet retaining its familiar look and feel. That would help various customers (recruiting agencies, managers, job seekers) to get what they need.
Another task at hand was integration and orchestration of the components – mobile app, back-office, extranet, and the public site. Our API allows for the real-time data pull from different sources. That creates an optimal workflow and enhances the recruitment process management.
The app enables a fast and easy access to the positions advertised by recruitment agencies. After filling out the form and receiving confirmation, users can choose the jobs of their liking, adjust their time and location preferences and see the positions available. Registered users can directly message and get notifications of messages, offers, and contracts from recruitment agencies. The app enables an all-time on-the-go access to all the user data (stats, history of offers and collaboration).
The following features help job seekers to stay tuned in:
- Registration/Login – multi-factor verification includes submitting confirmation code by SMS and user profile verification by a manager. Those are the prerequisites of becoming a recruitment agency contractor.
- Dashboard – after filling out the profile in full, a user can track the ongoing activity and their current job stats via the dashboard. The ‘ongoing tab’ contains: new offers/documents, pending messages, ongoing contracts, and an availability toggle. The ‘situation tab’ displays gross salary per month/defined period, number of contracts, etc.
- Burger menu – has shortcuts to the information and red badges for notifications about updates.
- User profile – includes concise information about a user (name, social insurance number (NSS), postal code). A round bar indicates the degree of a profile completion.
- Job wishes – a list of jobs, job types (CDI, CDD, Interim) and locations for a user to pick from.
- Availabilities – to toggle between on/off mode for times of the day and days of the week a user is available for work.
- History – stores the previous jobs data chronologically.
- Documents – give access to read-only documents (payrolls, contracts, etc.).
- Offers – show a list of job offers and details.
- Messaging – enabled by a chat button. Two modes of communication include generic (Yes/No) responses that help sort the users and specific (detail-oriented) exchange.
- Notifications – red badges signal updates coming from the back-office system.
It’s a workspace for employment agents, their process management tool and the primary channel of the ‘candidate – agency’ communication. Process automation is at the core of the back-office logic. It optimises registration and validation, order management, notification of temporary workers according to their profile, location etc., consolidation and validation of applications, contracts & document space and interfaces with existing solutions (Tempo).
‘Back-office – extranet’ connection is at the core of the system. It orchestrates different flows and has a multi-role user logic (SUPERADMIN, AGENCY DIRECTOR, MANAGER, and CANDIDATE), each role with its own capacity and functions.
Back-office users have the following functionality at their disposal:
- RAS user dashboard – displays information updates on the toolboxes. A MANAGER uses the toolboxes to access client orders, approve candidates, view contracts, etc.
- Administration – the SUPERADMIN can modify/filter/search the list of agencies and edit their profile details. This role can also manage all other internal users. An AGENCY DIRECTOR can act similarly on the level of their own agency.
- Temporary workers – show as a ‘pending for approval’ or TWU lists allocated to a particular MANAGER by location. The MANAGER can approve, decline, message and sort the TWU’s based on the outcome to close contracts.
- Order management – clients’ orders are synced into the Back-office and database. They are stored as lists and have data structure allowing to edit/filter/search/delete/alter the status.
- Messaging – a user’s online/offline status is visually and textually reinforced when they use an app. Otherwise, there are alternative channels of communication. The agency users can message and send files to candidates.
Extranet for TWU
The recruitment agency customers with no mobile app benefit from an extranet. It allows registered users to access the information about job offers, see the history of their collaboration with the agency, payment stats, message with agencies and search for jobs. Except for communication (via alternative channels), the extranet provides access to these features:
Extranet is a legacy system aimed to bridge the transition to mobile and create an equal footing for less tech savvy groups of users. Thanks to its integration with TIMEKO, users get timely responses via alternative channels (SMS, email, Facebook Messenger).
The company has a public site where general job ads are posted. This enables any internet user to send a resume directly via the site form. The challenge for the recruitment managers however is to keep the agency’s contact database synched at all times. We provided a contact API to automate this function.
The app’s infrastructure is built on Docker container technology, which makes the system more reliable and easily scalable. Certain microservices have been moved to different servers to balance the node loads. Rewiring the former monolithic solution had its business logic. It allowed us to identify the system state at every stage of development. Using continuous integration (Jenkins), we could easily roll back to the previous state. It also enabled efficient horizontal scaling. Deploying on AWS, we would go more cost-efficient in case of scaling.
The client was happy with the mid solutions and our collaboration goes on. The project has transcended into a new phase as the client saw a long-term worth of the new system design. As a result of building trustworthy relations, our model of engagement with the client has shifted to the Dedicated Team Model.
- MOBILE: React Native
- PHP, ZF2 (REST API), Node.js, microservice for message sending
- angular, angular-material
French, English (on demand)
Screenshots of the application
But not with a join-a-game mobile app. Building up a virtual community of football lovers and keeping everyone informed at all times, competing on a global scale - what can be more engaging and stimulating than that!
Tap in for ideas on developing a mobile app to get the ball rolling for football lovers.