That should work relatively simply on Solana, then.
The biggest obstacle to developing on Solana right now is that some things are not well documented. I wrote an ultra-small and incomplete meeting scheduling app ( which is actually quite similar to a job portal app from a functionality perspective ) on GitHub, but I had to figure a lot of it out myself by looking at existing Solana programs. Once you get past the initial learning curve, though, it’s not super complicated.
Here’s a rundown on some of the core aspects of how your app would work if it was built on Solana.
Firstly, all your business logic would be implemented as a Solana Program, which Solana’s name for what Ethereum calls a smart contract. Your program would be deployed to the Solana Mainnet Beta.
Your web app would probably be a single page application that would communicate to your Solana program by sending Transactions to it using the JSON RPC API.
For your app you probably will want to run your own RPC Server, which will guarantee the availability and bandwidth for you to communicate to the Solana network, instead of using the public RPC endpoint that everybody else uses for casual accounting, etc.
For data storage, all data has to be stored in a Solana Account. Do not let the name confuse you, accounts in Solana are not typical database accounts or anything. They are much more like files. These accounts would roughly correspond to documents in a MongoDB database, for instance, and they are stored directly on the blockchain.
If you want to store data such as images or larger amounts of text, instead of using accounts, you will probably want to use something like IPFS. Every file on IPFS has a unique name, that is actually the file’s checksum. This means you can upload the file to IPFS, and then store only the file’s name on the blockchain. You will need to run one or more IPFS storage nodes to store this data yourself.
Both sending transactions and saving data by creating accounts will cost your users small amounts of SOL in transaction fees. Thus, your users will have to have a Solana wallet, with a small amount of SOL at least, in the wallet, in order to interact with your app.
If a recruiter wants to create a job posting, they will use your app to send a transaction to your Solana program, that will instruct it to create a new job posting account. This will be stored on the blockchain.
Freelancers will then be able to use your app to submit a different transaction that will allow them to apply for the job. This will involve creating another account that will store the freelancers application for the job.
This pattern continues similarly as the recruiter can then submit another transaction to modify his job posting and select a freelancer who applied as the hired candidate.
Every interaction with the system is done through submitting transactions.
Finally, if you want to do full text search on posted jobs or freelancer profiles, etc. You will probably want to use an off-chain search index, that you can setup to be automatically updated every time a job posting is updated by subscribing to changes to your on-chain accounts using the JSON RPC API and websockets.
Anyway, that’s the breakdown! 
If you don’t have any experience in the space, you probably want to get somebody who knows it or is confident in learning new things, because it is a very different environment than traditional app development.
If you are looking to hire help, I don’t know @james or his work personally, but he says he has lots of experience. I’m also looking for work, and while I’m relatively new to Solana and blockchain, I’ve learned very quickly and you can see my profile and activity here on the forum on my GitHub profile to get more of an idea of what I’ve done. I’m also available for hiring on CryptoTask.
If this post helped you I’d really appreciate a tip, no matter how small, in whatever Solana or SPL tokens you prefer. It will help me spend time helping people on this forum and learning more about crypto. My wallet address is 9ftYTyetEXtLtDkhfRF8bCWGfKZqiYmx2HDZDTogZh6A
. Thanks!