Worky is a time and resource optimization tool developed by Esterox. The tool enhances data-driven decision making, productivity, and collaboration by highlighting the time spent on tasks and projects. It is useful for almost every type of team to monitor and arrange everyday work: the time spent on each task or meeting, their activity, and statistical data for a certain period. The app allows creating reports on finances, users, projects, and team levels.
Esterox needed a universally inclusive tool for effective work optimization, which would combine a variety of features. The solution would also eliminate the need of using multiple tools for handling various internal processes, including HR tasks. A part of the challenge was to optimize time and resources within a platform that would not be confused with a usual work tracking system. Although initially the platform was aimed mainly for internal use, the structure would allow other organizations to use it independently and be customized according to their need and requirements.
We developed a product from scratch that incorporates modern UI/UX best practices and prioritizes simplicity. The system is specifically designed for daily operations and includes features that save historical information to minimize user effort. The platform is widely used within the company to manage and optimize daily employee activities and includes a directory for storing individual user information. Each company has its own separate workspace. This ensures better application management and prevents the activity of one workspace from affecting another. Organizations are permitted to create their own unique corporate roles and give each of them unique system permissions. The roles are subsequently allocated to the users, and the role determines what activities and material will be accessible inside the workspace. Additionally, users can track their ongoing tasks in real-time by adding a task name and description, clicking “play,” and stopping the timer when finished. Tasks can also be added manually for greater flexibility. By grouping users, the system can gather data on individuals and track it on other levels such as projects and teams. For example, tasks can be labeled by project, and the platform will gather the activity within the project scope. Reports are available for exporting and analyzing data on user activity based on several criteria, including financials, per project, per user, and effort summary. This feature provides valuable insights into user productivity and helps identify areas for improvement.
Time tracking-users can track their ongoing tasks in real-time by adding a task name, and description, clicking “play”, and stopping the timer whenever they are done. Tasks can be added in manual mode as well (completed tasks in past date & time).
Calendar (Google Calendar integration)-a calendar section inside the platform allows to have all tasks displayed on the calendar based on the date & time of their completion. Integration with Google Calendar allows to have all events displayed on the same calendar.
User directory-users have their personal profiles which include all the relevant fields for storing important employee data. The fields are grouped by personal, professional, or platform-related activity.
Grouping users into teams/projects-By grouping users, the data gathered on individuals can be tracked on other levels as well. For instance, the tracked tasks can be labeled by projects, and the platform will gather the activity in the scope of the project. The same applies to teams.
Dynamic user roles/permissions-each organization can create their own custom company roles and assign custom system permissions to each of them. The roles are later assigned to the users, and the role decides what content and actions are going to be available inside the workspace.
Reports-reports allow exporting and analyzing the data on users’ activity based on several criteria, including financial, per project, per user, effort summary, etc.
Multi-tenant architecture-Worky features separate workspaces for every company. For better application management, the architecture of the application has multiple instances, which does not allow the activity of one workspace to affect another.
Used Tech Stack
React.js + Umi.js
Redis cache/queue system
Google API client (calendar using)