Inspiration

Countries such as the USA and India saw widespread job losses because of the CoVID19 pandemic. India faced almost 27 million job losses instantly and daily wage / migrant workers were impacted severely. In the USA, almost 40 million people were estimated to lose their jobs.

Personally, my brother's service business came to a halt. My young nephew and brother-in-law found it harder to find work. They can find work to sustain their livelihoods if they are well informed about the availability of jobs. Even if there was not a full-time permanent job, several short-term / part-time / services / consulting jobs are there which can benefit various people who are ready to take them up.

Moreover, to apply for new jobs, they were not able to get work experience certificates from their previous employers. In addition to that, the blue-collar jobs do not see the benefit of a health insurance / personal accident insurance. We wanted to make use of the micro-insurance concepts.

We wanted to do something for this situation, and reduce the gap between jobs and people by connecting them with information technology.

What it does

This is a platform - Jobs ecosystem - serves as a bridge between employers and workers, built to organize the jobs that are otherwise largely unorganized. We can create jobs, make them easily searchable, apply for jobs, create a smart contract behind the scenes to manage the contractual agreement between the employer and the employee (or the contractor), automate work life-cycle such as tracking time sheets or progress and payments through it, generate work experience certificates, and bringing micro-insurance for such unorganized / short term jobs.

The job creators can be individuals or organizations or institutions. More the jobs get created, more providers join in.

How I built it

There are 2-3 parts to this application. For the web front-end, I used ReactJS. For the web back-end or apis, I used NodeJS. For storing the jobs data, I chose to go with MongoDB. These data are to make the search and application process easier, and connect the people together. There are screens to do that.

For managing what is the heart of the application - work life-cycle - I used EOSIO Block Chain and Smart Contracts deployed on the block chain node. Job contracts are created in EOS node. I created a work ("WRK") token system to mimic payments and trigger off payments based on them in future.

To connect to this block chain node and to sign the transactions that happen through the application, I used Scatter application. Scatter JS was used in conjunction with the web application.

Challenges I ran into

I am a new entrant to many of these technologies - EOSIO blockchain, ReactJS, Scatter, NodeJS. I spent 15+ years of my experience in .Net and related technologies.

Week 1 - Learning EOS basics was initially hard. But I got the hang of it soon because I worked with ethereum before. Faced with difficulties in setting up a EOS node in a local machine, and environmental limitations. Local nodes and cleos worked but API did not work. After reading a lot, and attempting several things, I succeeded in setting up an EOS node in Azure Cloud (Win 10 Pro) machine using EOS Studio.

Week 2 - Designed data models. Decided on technologies. Started with NodeJS for development of Web APIs. Learned the basics and started developing APIs. Learned NodeJS on the job and quickly wrote APIs. Created Models and validations. Created API services. Faced many challenges as a new entrant.

Week 3 - Started with ReactJS for development of Web application. Learned the basics and started creating components, redux state actions and reducers, etc.Created screens. Faced challenges in understanding some of concepts since those were unique to this.

Week 4 - Started working on C++ based smart contracts. Faced challenges in understanding the scope. Read many articles and documentation. Joined the telegram channel to raise questions. Created a skeleton contract and worked way up from that. First created a work token ("WRK") system based on EOSIO.TOKEN and implemented that. Then implemented other methods that are useful for managing job work contract. Integrated this with the web application. This integration of smart contract is still work in progress for full work flow. Integrated scatter with the front end. Studied how to connect to EOS node using javascript and learned it.

The whole application is bigger than what I imagined and is still a work-in-progress product. Doing everything alongside my job was difficult.

Accomplishments that I'm proud of

We quickly created a prototype using web front-end and server technologies, along with creating a smart contract using EOS platform for making a useful product. I'm proud of the overall product and what it can positively do to people's lives when this becomes a real product.

What I learned

I learned several useful technologies and learned useful lessons along the way. If we continually keep hitting the problems enough number of times, at one point, they start to give themselves in, and things start to work out gradually.

What's next for Worksout - Automated Jobs ecosystem

  1. Multilingual, mobile-responsive, site for helping people of all languages
  2. Building complete functionality and piloting it
  3. Micro insurance - Health / Personal accident - create prototype
  4. Work certificates generation
  5. Automated check-in for work through mobile device

Built With

Share this project:

Updates