Case study
TechKnow Global
Recruiting website and candidate intake for an IT staffing firm

Overview
- Industry
- Staffing and recruitment
- Status
- Live
- Technology
- Next.js, Node.js, Express, GoHighLevel API, Nodemailer, nginx, Cloudflare, GitHub Actions
We built the website and lead-intake platform for TechKnow Global, our sister IT staffing company: employer job requests, candidate resumes and CRM sync, with every lead saved before anything else runs.
- Every submission saved to disk before email or CRM
- Resumes stored outside the web root, checked by file header
- Contacts, files and pipelines synced to GoHighLevel
The brief
TechKnow Global places IT, finance, engineering and light industrial professionals with US employers. It needed a recruiting website that ranks, plus two intake paths that never lose a lead: employers asking for talent, and candidates sending resumes. Both had to land in the recruiting team’s CRM within seconds.
What we built: a staffing site and a lead-intake service
A fast, accessible recruiting website
The site is a static Next.js export: complete HTML on the first response, structured data on every page, and an accessibility target of WCAG 2.2 AA. An SEO check runs before every deploy and blocks the release if a page loses its canonical tag, its H1 or a valid title.
Two intake paths, built for recruiting
- Request talent. Employers describe the role, engagement model, sector, timeline and location. Each request becomes a contact and an opportunity in the clients pipeline.
- Submit a resume. Candidates upload a PDF, DOC or DOCX of up to 5 MB. The server checks the file’s real type from its header bytes, stores it under a random name outside the web root, and never serves it over HTTP.
CRM sync and instant alerts
Every submission is written to disk first, then emailed, then synced to GoHighLevel in the background. Contacts are upserted rather than created, so a returning candidate stays one record. Resumes are attached to the contact, opportunities open in the right pipeline, and campaign attribution travels with each lead. The team gets an instant Slack or Telegram alert the moment a form arrives.
How we worked
We treated compliance as part of the build. The exact call and text consent wording is recorded with each submission, along with its version. Deploys run through GitHub Actions with the site and the intake service released separately, so a copy change never restarts the form service.
Where it stands
The site and intake service are live. The same service now also receives project enquiries from thetechknow.com, tagged separately so software and staffing leads never mix. See techknowglobal.com.
Send a message
Planning something similar?
A short brief is enough. Someone who can answer technical questions replies within one business day. Prefer to talk? Call us.

