
Manlytic Group
- Sector
- Staffing & Recruitment
- Work
- Custom Software
- Duration
- 4 weeks
One codebase
runs in a browser, as an installable app and as an Android app
Named fields only
client files are built from a short list, so contact details cannot be in them
168 tests
pass, including leak checks on every generated client file
No signal needed
search, profiles and edits run from the copy on the phone
Fig. 1
One CV, two files
The CV as it arrived is kept whole, for the agency. What the employer receives is a new file built from named fields only, so the candidate’s phone and email cannot be in it.
- 1. The original is stored as it came in, contact details and all, and is never edited.
- 2. Only fields on a short, named list cross to the client file. Contact details are not on it.
- 3. The client file is a separate document, not the original with parts removed.
- 4. It is opened again and searched before anyone may call it safe.
01The starting point
CVs on WhatsApp, and a fee lost with every phone number.
Manlytic Group is a manpower and contract staffing agency in Mumbai that places workers with employers in the Gulf. Its recruiters do their work on Android phones, and CVs reach them as WhatsApp attachments, scanned pages and photos. Many arrive as bio-data tables in two columns, with the same label spelt several different ways.
The details that matter most leave the least room for error. A candidate record needs a name, a date of birth and a passport number with its issue and expiry dates, and a passport number has to be right to the character. The same worker can also apply again later, with a renewed passport and a newer CV, and the agency needs to know it is the same person.
The agency is the route between employer and candidate, and every document it sends an employer says so. A CV forwarded as it arrived can carry the candidate’s phone number, email address and links, in the header, the footer or deep in the work history. Recruiters needed to send employers a clean, consistent profile, and to keep working on a phone when the signal dropped.
Fig. 2
CVs as they arrive
Candidates send phone photos, bio-data tables and scans, in no fixed layout. The tool reads what it can and leaves the rest empty for a recruiter to fill in.
- 1. A photo, a table with misspelt labels, a scan with no text behind it.
- 2. One reader tries after another; a scan is read by OCR. The worst case is an empty form, never a wrong one.
- 3. What the document does not say stays empty. Nothing is guessed.
- 4. A value the reader is not sure of is marked for review rather than trusted.
02What we built
A recruiting desk that lives on the phone.
We built one app that runs on the recruiter’s phone, as an Android app, as an installed web app or in a browser. A CV that arrives on WhatsApp, in Gmail or in Files is shared straight into it, or a whole set is imported at once. The app reads the passport and work details into a candidate record, and searching and editing carry on without a signal, with changes sent when the phone reconnects.
Nothing is guessed to make a record look complete. A detail the CV does not give is left empty, and the app is built not to work out Arabic from someone’s nationality or a destination from where they live. Passport characters it is unsure of are flagged, and years of experience added up from dated jobs are marked unsure until a recruiter confirms them. A Review tab gathers everything that needs a person: new imports, missing details, unsure values, possible duplicates, passports that have expired or are about to, and follow-ups.
Each new CV is checked against the people already saved: by passport number, by phone number however it is written, by email, and by name with date of birth. A likely match is reported and never merged, and in a batch import it is held back for the recruiter who imported it to decide. Two different people who share a name are not treated as one. Each person is kept apart from the jobs they are put forward for, so their progress is tracked job by job without losing their history.
Anything made for an employer is a new document: a candidate profile, a package of several candidates, or a shortlist spreadsheet, in the agency’s own branding. It is built from a fixed list of approved fields. The candidate’s phone, WhatsApp and email and the recruiter’s notes are not on that list, and passport number, date of birth and photo appear only when the recruiter chooses. Values still marked unsure stay out until someone confirms them, and the CV as it arrived is kept untouched, apart from every file made from it.
Before a file can be shared, the app opens the finished document again and searches all of it: the text, the links, the hidden details and the raw contents. Any phone number, email address or link that is not the agency’s own stops the file, and so does a file that cannot be opened. In place of the share button, the recruiter is offered a way to fix the candidate’s details or to send the candidate profile instead. The original CV can still be sent on purpose, after a clear warning that the employer will then be able to contact the candidate directly.
Fig. 3
The duplicate waits
Workers apply again with a renewed passport or a new destination. A CV that matches someone on file is held for a recruiter to decide, never merged on its own.
- 1. A new CV arrives for someone who already has a record.
- 2. The same passport number, phone, email, or name and date of birth: the match is reported, not acted on.
- 3. The import waits in a holding list until a person decides.
- 4. The existing record is left exactly as it was.
03How the tool works
One CV in, two files out, and a boundary between them.
Fig. 4
Opened again before sending
A finished client file is opened and searched like an outsider would: its text, its links, its hidden properties, its raw bytes. One contact detail anywhere and it cannot be shared.
- 1. The file is reopened after it is built, not trusted because it was built correctly.
- 2. A phone number inside a job description is enough to block sending.
- 3. Fix the candidate’s details, rebuild the file, and it is checked again from scratch.
- 4. Only a file that passes can go to the employer.
Fig. 5
Working without signal
Recruiters work from phones that are often offline. Search, profiles and edits run from the copy on the phone, and each change is sent on when there is signal.
- 1. The phone holds its own copy of the records and searches it directly.
- 2. Each edit is queued on the phone with its own id, so sending it twice changes nothing.
- 3. When there is signal the queue goes up; the server stamps each change and sends the stored row back.
- 4. Reading a CV and building a client file need a connection. Everything else does not.
04What became possible
Candidates reach employers only through the agency.
Candidate contact details
Checked before sharing
On the CV as it arrives → In no employer file
Details the CV does not give
A person confirms
Missing or unreadable → Left visibly empty
A worker who applies again
Never merged alone
A second CV → Held for a recruiter
Built with
Next.jsTypeScriptCapacitor (Android)PostgreSQLPGliteDexie (IndexedDB)S3-compatible storageTesseract.jsGeminiOpenAIVitest
Running an operation from phones?
Bring us the work your team does on the move, the documents it handles and the people it must not expose. We will help work out what the tool needs to make possible.
Keep reading.

Research & Knowledge
From Printed Archive to Research System
The collection existed. Answering a question about it did not. Anything worth knowing meant reading across thousands of pages by hand, holding names, places and dates in your head, and reconstructing the evidence trail yourself each time.
- Ask a research question and get back a cited report, instead of reading for the answer
- Follow one person across the whole collection even where their name is spelled a dozen different ways
- See the archive as a map of what happened where, a timeline of when, and a network of who dealt with whom

Regulated Services
Building an AI Assistant You Can Control
How a private AI product company turned difficult regulatory material into a controlled assistant for professional firms.
- Your own material, not a public model's: administrators decide what is in the knowledge base and what is not
- Add a new regulation yourself: upload the PDF and the system cleans, splits and indexes it without a developer
- Provision a company, invite named people into it, and cut their access server-side when it ends

Commerce
Making Interior Products Easier to Find
How a MENA AI studio turned an interior photograph into searchable product language, UAE results and a shortlist customers could export.
- Photograph something you saw and get back things you can buy nearby, without typing a word
- Keep what you like, set quantities against it, and export the shortlist as a PDF you can hand to someone else
- Hand it a photograph of something that is not an interior item and it stops, rather than confidently returning the wrong furniture