Awesome Job Hunting Webstack Whitepaper

Explores the possible business model and best practices for a Job Hunting Webstack to succeed as an online property

The Job Hunting Webstack is now available for licensing

Looking for a website for managing your talents? Presenting the Job Hunting Webstack, a scalable web application powered by Django, designed to revolutionize the job search experience for both job seekers and employers.

Streamlined Hiring Process

Simplify your hiring process with Job Hunting Webstack. Our comprehensive applicant tracking system helps you efficiently manage applications, review resumes, and schedule interviews. Stay organized and make informed decisions with ease, all within a centralized platform.

Enhanced Brand Visibility

Stand out from the competition and showcase your client's unique cultures and values. Job Hunting Webstack provides a company profiles where your clients can highlight their mission, vision, and employee benefits. Attract top talent who align with their organization goals.

Demo available at

https://jobhunting.pulsely.com/

License of the web stack can be purchased directly online.
Direct Docker development and support are available.

I. INTRODUCTION

Launching a new startup no longer guarantees a hockey stick exponential growth with the Silicon Valley mentality.

It was possible to achieve unicorn status at the early 2010 quickly with the right minimum viable products, to the likes of Instagram, Whatsapp & Snap, benefitted from the smartphone revolution.

However, many low hanging fruits have been picked, therefore, new app ideas should be more thoughtful with respect to business models, marketing & funding. Institutional investors are a lot more difficult to raise money which means founders should prepare as much runway as possible to achieve find a product/market fit.

Pulsely does not recommend a single market focus for any web app ideas. It is perfectly alright to launch in a small geographic idea to fine tune the marketing strategy with a small audience, but, the website and app should be preparing for a multi-lingual audience in mind from the get-go.

And above all, do expect and executive for a 5-year execution cycle instead for a short exit.

II. AWESOME JOBS STRATEGIES

A. Web & Mobile complementary strategy

Pulsely does not condone a single app-based strategy for a new startup.

It mostly has to do with the extra steps converting new customers from eyeballs to actions.

At the acquisition phase, offering a website with “guest mode” to preview contents allow users to stay and linger longer, right after clicking at the ads or referral links.

In contrast, getting users to click links then triggering up the AppStore downloads could be problematic, ranging from forgotten passwords to apps fatigue. Expect most users to onboard from the website, but do build a solid mobile app registration flow, nonetheless.

Multi-lingual is a requirement with any websites and apps. Do take advantage with browser headers to give preferential localized contents for websites. Whereas use the native iOS and Android settings for apps equivalent.

B. Technology Strategy

Different languages can now be mixed and matched using microservice architectures: different service endpoints can be written in languages best suited for a given job, with data passed asynchronously or via a push-pull architecture with queue processing.

There should not be any computing language preferences for building webstack at this day and age.

Pulsely does recommend modern dynamic language stacks for backends, e.g. Python, Node.js though it is perfectly fine for less in vogue stacks e.g. PHP and .Net provided the team is very proficient.

For web front end, avoid the lure of Single Page Application for lifestyle and online properties. Most SPA web applications are not optimized for loading speeds and loading larger page resources could mean bundling multi-megabytes of Javascript resources that could take more than a few seconds since time to first byte. SPAs also tend to be more difficult to be processed with search engine indexes, hampering the Search Engine Optimization efforts. That can be easily solved using the server side rendering with frameworks like Next.js by Vercel.

Instead, deliver landing pages in classic URL based hierarchy, which will allow your site to be ranked higher.

Most teams tend to use Vue.js or React stacks to build portal pages for best user interaction experiences. As a rule of thumb, Next.js or Vue.js would be best suited for contents that need to be ramped up quickly, whereas React is more suited to larger teams with more resources spared to build rigid components.

Make sure every web resources is kept in modern source control system. Git based setups can be integrated nicely with Github Enterprise or the AWS CodeCommit. Both of them can be integrated securely with fleets of servers called directly from AWS with IAM role, lowering the risk of source code being compromised by insecure credentials. Also setup a proper Continuous Integration and Delivery Pipeline with Ansible, Jenkins or AWS Codepipeline for fast deployment.

Everything should be hosted on Amazon Web Services, as the rest of the cloud providers are being outpaced by AWS in a wide margin. Web stacks that need to be accessed in China, should have a separated cloud hosting strategy, which will be discussed at part VI below.

Two particular technology choices should be made carefully: User sign-up and Realtime two-way communications with server & client.

User sign-up can be built with your own implementation or utilize commercial offerings such as the AWS Cognito , Firebase Authentication or the Auth0 services. User sign-up is hard so leveraging commercial offerings could accelerate development time significantly, however:

  • They could be less flexible and require a lot more testing, not to mention adding more potential points of failure.
  • Once a choice is made to deploy on AWS Cognito or Auth0, it would take efforts to migrating to other implementations. It is due to the password hashes not being obtainable for migrations.

Therefore, review the user signup strategy carefully but, in any case, make sure the team can implement JWT tokens to account for mobile apps sign-ins, along with the regular web-based login, too.

C. Marketing Strategy

The success of the webstack is mostly hinged on the marketing and the growth hack efforts.

Pulsely has worked previously with many companies, building apps that were carefully crafted but ultimately failed at acquiring market audiences. The only way to launch successfully is to allocate enough budget for multiple marketing channels, with a crack marketing team and media plan:

  • Paid keyword and display ads on Google Ads, Facebook, Instagram, LinkedIn (for professional websites)
  • Consider Youtube bumper ads that features on regular videos that runs at least for 6 seconds.
  • E-mail Marketing with a separated Mail-From domain, so as not to affect the Spam ranking of the online property
  • Long blog articles that are insightful could be widely circulated and shared on social media. Video contents should be created on potential jobs and prospective companies.
  • Write as many contents as possible with keywords that span everything in the industry, to ramp up the ranks at the search engines. Multiple landing pages should be crafted for best results.
  • Engage with a proper PR company if possible, to gain preferential placements on local and global media.
  • Consider scraping jobs posted by other companies directly to the platform, then ask them for permissions.
  • Consider memes and images via Airdrop to random people in events.

It is imperative that the paid marketing efforts should not be outsourced to another firm. You have to be in control with the marketing campaigns and marketing groups daily, adjusting bids and strategies to rank high in the impression shares.

Most third party paid marketing firms do not necessary align your marketing goals to theirs, or they simply do not necessarily have the patience to fully understand your keyword needs.

D. Business Model

Your startup must be cash-flow positive to survive. Consider the following revenue options:
  • Subscription-based model for employers for job postings. Subscription-based model could also work for candidates that would need premium services, such as media rich resumé, training & consulting services with job referral companies.
  • Allow micropayments for quick actions. For example, video or PSTN calls.
  • Content creation services for companies. Company visits. Learning services for candidates?
  • Gamifications or feature unlocks could work to an extent, though, it could be overkilled as a feature.
  • Consider expanding to operate other lifestyle portals, e.g. real estate & e-commerce fulfilment shall the revenue growth targets cannot be met in full stride.

III. PRODUCT DEVELOPMENT

Fail fast and re-iterate things quickly. Most web and mobile apps should be commenced into production in less than 3-month period, with prototype ready in 2 weeks.

It is important to ship a minimum viable product out in a reasonably fast time, for a constant feedback loop at making the product better and better.

Do not confuse the fast-initial development time with a 5-year execution plan, however. It takes a lot of effort and dedications to complete a meaningful and thoughtful product.

Hiring-wise, the development team should fit the “two-pizza rule”. Too many chefs do not necessary cook faster in the kitchen. There would be more overheads.

And again, try to follow an established System Development Life Cycle (SDLC) if possible. Things will be running a tight schedule. Paid attention to the following.

A. Plan and define the features and goals

Value the first thing that matters. That should go to the Search feature.

The search feature of the current crop of job websites could need improvements. Most are ranked by a simple keyword search.

Relevancy of job results could be organized and ranked by similar words, cross pollinated inside each industry.

Presentation of the search function are mostly tables in the current form. But instead, a multi-level collection view could give a better and more delightful experiences?

Think about the things people love and care? Privacy? Would implement a proxy phone service work? Would running a webrtc conference service ideal for your given market, improving the first interview?

B. Design

Designing could mean several things: the architecture of the infrastructure, the layout of the user interfaces, the flow of the on-board registration and the design of the two-sided market interactions.
  • Plan for the architecture of the cloud infrastructure, by modules. An example typically used by Pulsely is listed below at reference 1
  • A system diagram for the flow of the on-board registration should be defined. Keep a “guest mode” for limited browsing feature, whereas applying for jobs must be signed-in. To ease sign-up anxiety, collect personal information in multi-stage. The flow could vary if OAuth2 Facebook & Gmail authentications are to be integrated.
  • Employers should have their own dashboard and management tools for managing the job posts and prospective candidates. Ditto for the candidates, to manage their job applications that could span multiple employers.
  • The user interface designs for Job application, forms for submitting personal details and resumé could be simplified as much as you can.
  • The “look and feel” of the web portal can be done in a classical full-width multiple columns layout like https://job.rikunabi.com. Mobile app shall be done in a simpler linear table/collection view combination for best performances.

Responsiveness of the web portal should use the typical responsive utilities available with common css Bootstrap 4.x+ frameworks, that works with sm, lg & xl respectively, that shorthand for different screen sizes. iOS based apps should just utilize the Storyboard with UISplitView design patterns which will work with iPadOS based devices, too.

C. Implementation

The two best index search engines are ElasticSearch and Xapien.

The actual Search implementation should be carefully considered with the right implementation. For server-side search, a fleet of ElasticSearch clusters could do well whereas mobile clients can synchronize job listings for on-device search via the lightweight Xapien engine.

Implementation of a privacy proxy allowing candidates and employers to talk without revealing phone numbers, can be implemented for Twilio or AWS Connect, which allows a direct pstn call to any phone numbers. A pure webrtc based implementation could be implemented with a signaling server, side-stepping the need of extra infrastructure. Calls are billed by minutes.

Active job matching capability allows new jobs and candidates to be matched in the background. Algorithms that matches job and points can be made against popularity. Some randomness should be programmed.

IV. WEB STACK FUNCTIONAL MODULES

This section summaries quickly the different functional modules that are responsible for the operation of the webstack.

Each module follows a classic Model-View-Controller (MVC) pattern, which render data to a display on a web/mobile client, with respect to logic written with pre-defined algorithms at the controller.

A. User Module

The user module defines the data structures of both employers and candidates.

Candidates

Should be allowed to sign-in via e-mail registration or a combination of OAuth2 sign-ins via Facebook, Gmail, LinkedIn or Microsoft Account. Do not choose more than 2 combinations of OAuth2 sign-ins as people could get confused very easily. iOS 13 clients can choose Sign in with Apple available in fall 2019.

Employers

Should be allowed to sign-in via e-mail registration primarily. It is very unlikely that an employer does not have their own e-mail address.

B. Job Module

Jobs are posted from employers in their own tables. The job module intercepts incoming jobs and insert, update and delete the jobs tokenized into the ElasticSearch/Xapien search module, for quick search.

Background jobs are run periodically to give recommendations both of the web/mobile clients, as well as, periodic e-mails.

C. Search Modules

Search Module are essential for candidates to search queries, that has to be fast and relevant. Web/mobile clients also list jobs separated by industries, popularities, education levels, etc. that are best enumerated via both regular SQL database & ElasticSearch.

Trends can be interpolated.

D. Members Modules

This module is essential for candidates to manage their job applications, upload their resumé as well as checking the internal correspondences with prospective employers.

A simple websocket chat is available for real-time chat with employers.

Media rich voice and video call with webrtc is also available as a paid option.

E. Pages/Content Management System Modules

This module, short named to CMS, is responsible for publishing static contents that are available in multiple languages across the website. Deep links can be generated to the mobile clients optionally.

The page contents can be both public and available to the members exclusively. Rich media with Images and Videos can be secured via the AWS S3’s Query String Request Authentication .

Blogs and learning materials should be published to here consistently to maximize the SEO results.

F. Intranet Module

The Intranet module is the internal module for the staff access to the administrative functions and tools.

Staff can manage the User, Jobs with simple list and search views with sorting based on several criteria.

Reports can be generated, ranging from user uptakes to conversion funnel rates from online media channels.

Payments can be viewed, and refunds can be triggered here as well.

V. PERSISTANCE STORAGE OPTIONS

Information with the webstack can no longer be stored in a single server in the cloud age. Pulsely recommends this three persistence storage options for starter:

  • PostgreSQL: a classical SQL opensource database option that allows direct queries to be run, in contrast with the NoSQL database options such as MongoDB. Running NoSQL options in an early stage could be overkilled, as running large reporting queries could be longer and more complicated worrying with lots of map-reduce operations in mind. Full text search on PostgreSQL is comparatively better than other open source database options.
  • ElasticSearch: jobs and company information will be add, updated and removed constantly against the PostgreSQL storage. The ElasticSearch options provide fast indexing and ranking, powering the search options efficiently. There will be some customized tuning for the East Asian languages, though.
  • AWS S3: Amazon Web Services S3 option provides a concept of “Internet Harddrive” with unlimited storage. Every image and video are stored on S3 buckets with public policy, whereas important backups of the PostgreSQL entities are stored securely in a rolling basis. Customized

Expansion with future NoSQL or key-value based datastores such as AWS DynamoDB is definitely possible.

VI. CHINA STRATEGY

China’s network is especially challenging as it is walled off the global Internet via the Great China Firewall. Every DNS could be subjected to redirections and blockades.

Contents that are hosted outside of the China Network could be throttled, especially those using encrypted VPN, SSH and some extends, SSL as well. Therefore, building an infrastructure in China is essential for a faster China browsing experience. There are some China based cloud providers:

  • AWS China, operated by Ningxia Western Cloud Data Technology Co. Ltd
  • Alibaba Cloud

Operating with these Chinese cloud providers will definitely need a legal Chinese company entity. Each entity will require the right kind of operation permit specifically required to different industry.

The China network infrastructure could be monitored in the name of security. Therefore, do expect all the network resources operated with the concept of adversary cloud. Follow a simple rule:Encryption at rest, encryption at transit .

A lengthy Chinese ICP licensing will then be required as every website in China must have a permit issued by the Chinese Ministry of Industry and Information Technology. A typical Chinese ICP licensing process requires a lead time of 3 weeks to 2 months. Detail stakeholder information will be required to be revealed to the authorities and personal visits to the local ICP office is mandatory. The Chinese cloud providers will assist you in the process in a limited way.

Chinese user contents are required to be stored in Chinese cloud storage. Failure to do so will incur significant legal risks.

Data exchanges with the global web stack can be done across secured AWS endpoints with holes punched via Security Groups.

VII. PAYMENT OPTION

Pulsely has experiences building online payment options. These payment options can be integrated in relative ease:

  • Credit Cards: VISA, MasterCard & AMEX. 3D options available. Payment processors would be Braintree & Stripe.
  • ApplePay: exclusively for iOS, iPadOS & macOS devices. Will integrate nicely with Sign in with Apple profiles.
  • Paypal: work on both web and mobile very well with an expectation comprising 20-30% total online transactions.
  • Alipay: mostly for Chinese users. Implementation is available via Stripe accounts globally, or through more tedious processes with yearly fees in China.
  • Wechat Pay: only for Chinese users. Payments are done via QRCodes, scanned with the Wechat mobile app or via redirection. Implementation is available via Stripe global accounts. Chinese entities can apply Wechat Pay accounts directly but, subject to yearly 3rd party review mandatory by Tencent.

SUMMARY

This white paper is by no means a complete guide to a glorious success of your dreamt online property.

Building a successful business requires grits & years of dedications. Pulsely hopes that this guide could lead you to explore more perspectives, to see things more differently .

Pulsely Limited has built this Job Hunting Webstack implementation that is based on the Django and Next.js framework with complete end-to-end support service available. Please contact your Pulsely account executive or contact us at https://pulsely.com/consulting/contact/