8 no-code tools that we use to build an HR marketplace
This is the first post in our new blog and we're starting with a very practical post!.
Table of contents:
- Lazycoders & New Year's resolutions
- Scope of the project
- No-code tools that we use
Lazycoders & New Year's resolutions
We know - you probably don't have time to follow our work every day and we're fine with that! You are probably not aware that since the beginning of this year, we have completely stopped developing bespoke software using Java and PHP and moved from custom software to no-code solutions.
There are a lot of challanges using no-code approach, but we are happy to solve problems and go forward like a storm!
The first project in 2021 is an HR Marketplace for Dimpact - the company located in Berlin.
Scope of the project
In general, the project allows HR freelancers to register and offer their recruitment services. It is also possible to post a job offer so interested freelancers can submit for it.
We decided to brake the project into milestones and work Agile by creating 4 quick (1 week) sprints as follows:
- Sprint 1 - mostly UX/UI design, creating all necessary configurations & subscribing to paid 3-rd party services plan that we want to use,
- Sprint 2 - implementing home page partially, category of freelancers, profile of a freelancer,
- Sprint 3 - implementing my account page (edit profile, education, case study, etc), adding blog to the page and finishing home page,
- Sprint 4 - administration and user roles,
No-code tools that we use
We use Figma to prototype projects and then create a sexy-looking design. This is a part of Sprint 1 for Dimpact as we want to make sure that we understand each other clearly.
Kamil did a great job on UX & UI side for Dimpact and the client was really happy of the final output.
We use Webflow to build frontend views for Dimpact. Using Webflow you can simply transform your Figma project into fully-working HTML website with nice performance!
We don't use CMS Collections at all. Instead of that we connect directly Webflow with Airtable. How do we do that? Check in my other article at How do I connect Webflow and external databases (MySQL, Airtable, Redis)!
We use Airtable to store Freelancers, Categories and Static Pages.
We have created many applications using PHP & Java and we know how many issues can happen when creating a bespoke software from scratch. We very often use queues to prevent that kind of situations.
There are questions we need to answer first:
- Does Airtable allow us to create queues?
- How about the contact form on the website? What if a contact e-mail will not be send because of any error on a mail provider's side?
- How can we prevent that?
Airtable does not allow to create queues, but it allows us to store data that comes from the Contact Form though. And that's what we can do.
Every time a user submits a contact form, we do not send e-mails directly. We only store their data into the Airtable Contact table (Name, Email, Message) and put a status NEW. This is how we manage contact form submissions. After we save the data into Airtable, we can use Zapier to trigger actions (i.e. sending transactional e-mail or create a contact in our CRM).
As already mentioned, we keep all data in Airtable. Every information that goes through the platform (Freelancer profile, Freelancer Submission, Contact request) gets stored in Airtable.
We use zapier to trigger actions after a new records is created. Integrations that we use for our HR marketplace:
- UserProfile - once a freelancer submits their profile, we create a new record in Airtable with their data (First name, Last name, E-mail). Zapier catches the moment when the records is being added and sends welcome e-mail to the freelancer. We also create a CRM contact with a proper tag.
- Contact - when a user submits a contact form, we add a new record to airtable. Once the record is added, we trigger transactional e-mail provider to send an e-mail to us and we also create a CRM Contact,
- JobOffer - when a new job offer is added, we add data to Airtable and notify Dimpact employers (through the new record in Airtable trigger) about it via e-mail so they can verify the offer,
We use Auth0 to IAM - Identity and Access Management. We can manage users on the platform, their roles & accesses. We also know who is currently logged in, so that we can update the profile page or allow the currently logged freelancer to update their case study.
Great tool to send transactional e-mails. We use it to:
- Send welcome e-mails,
- Send internal messages,
- Notify Dimpact about a new freelancer, new contact submission,
- Inform a freelancer that a message has been sent to them,
Mailersend integrates seamlessly with Zapier!
Integrated via Zapier. The customer uses Pipedrive to manage leads and send e-mail marketing.
When a new freelancer submits their profile to the marketplace, a trigger catches a new record and sends the customer's data into Pipedrive.
A great Markdown editor where we write all articles, blog posts before we put them into Airtable!
Airtable, MySQL and other databases using no-code tools
Do you know that you can use different databases using no-code tools? You can check our solution here - How do I connect Webflow and external databases (MySQL, Airtable, Redis)!
If you have any questions. do not hesitate to contact us ;-)
About the author
Who am I?
My name is Mateusz and I'm from Poland.
I have developed many applications, as an IT consultant (Solution Architect, Team Leader or Senior developer), starting from small e-commerce applications build on top of PHP to bigger government-related applications (Java & PHP). I always try to deliver best approach, that can be scaled.
This blog not about hard-coding. This is about a new way, called no-code. I am here to show you how no-code can be used to build scalable, fast & reliable applications from scratch. This is the journey to show, that more than 80% MVPs should not take more than 4 weeks to get done!
Feel free to contact me if you have any question. I hope, that we will be able to meet in person one day and talk one day! ;-)