Skip to content
MJCX Studio
Start hereHome Check the proofProjects What we buildServices Meet the teamAbout Talk to us →
Case study

Four Job Boards. One Spreadsheet.

Borderless HRRecruitment & HRSingapore
Borderless HR — Internship listing automation
Image for illustration only

What the founder wanted to work on next

The agency places students in Singapore internships. The team was growing its student base and wanted to serve more candidates without proportionally growing the team. The bottleneck wasn’t placement quality — it was the hours spent collecting and organizing opportunities before any placement work could begin.

Where they were stuck

Every week, the same manual cycle: open each of four job boards separately, search for relevant listings, copy them into spreadsheets, deduplicate by hand, standardize company names, classify industries manually, then share updates with students.

The same cycle every week. Data went stale between checks. Good opportunities slipped through before anyone saw them. More students meant more hours doing the same manual collection work — collecting information instead of placing people.

Data CollectionLow
Listing CurrencyLow
Manual OverheadHigh

How we worked together through the CGA

We mapped the weekly collection workflow end to end — which boards, which search parameters, how listings were deduplicated, how industries were classified, and how the final output reached students. The entire cycle was manual, repetitive, and time-bound. Every hour spent collecting was an hour not spent placing.

Workflow diagram: HR logs in, lands on the jobs page showing active, new, and expiring counts, then filters and searches, views job details, or exports CSV — with a data pipeline view comparing raw against cleaned data, and a button to trigger a fresh scrape
The mapping result — four scattered job boards distilled into one clean pipeline, from raw listings to export-ready data.

The build

An automated scraping system that runs every Sunday night, pulling listings from all four job boards simultaneously. The system deduplicates across sources, standardizes company names, classifies industries, and extracts required skills as searchable tags.

A web dashboard with filters — industry, skills, date, source — gives the team instant access to the week’s opportunities. One-click CSV export for offline use. A manual scrape button triggers on-demand updates between scheduled runs. Weekly email summaries go out automatically. Old listings auto-expire after 4 weeks to keep the database current.

Listings dashboard showing 281 active internships with search and filter controls, skill tags per listing, source, and a one-click CSV export
Student profile with skills parsed from an uploaded CV, above 50 matched jobs out of 281 active listings ranked by relevance with matched skills highlighted
Scrape history table listing each run with status, trigger, duration, listings scraped, new versus duplicate counts, errors, and a per-source breakdown

The outcome

10 hours per recruiter per week recovered — redirected from data collection to actual placement work. Four job boards unified into one dashboard with automated weekly collection that runs overnight, no manual work required.

The same team now places more students without hiring additional staff. Adding more students or more source boards scales without additional human effort. The system turned a weekly manual grind into a background process.

← All projects

Tell us which one is yours.

One short call at a time that suits you, or forward this to whoever runs the operation with you.