Skip to content
Kifكيف

Profiles that update as you talk

Talk. Get matched both ways. Meet when it's mutual.

An AI-native talent network where candidates and roles are living, evidence-linked profiles, scored in both directions, and introduced only when both sides say yes.

  • Deterministic matching
  • Every decision made by a person
  • Nothing shared without consent
Your profile assistant live

Software & AI careers

A clearer path to the right conversation.

Kif helps software and AI professionals in Pakistan and remote roles worldwide, and the teams hiring them, compare skills, experience, and preferences. Learn how matching works, or explore the other channels available for your search.

Skills include Python, FastAPI, Kubernetes, React, TypeScript, PostgreSQL, Kafka, PyTorch, Terraform, Figma, Product discovery, Flutter, Playwright, Solidity, Rust, Go, Spark, dbt, Accessibility, Incident management, Unity, Technical writing. Roles include Senior Backend Engineer, Data Engineer, ML Engineer, Site Reliability Engineer, Product Designer, Frontend Engineer, Engineering Manager, QA Automation Engineer, Mobile Engineer, Customer Success Engineer, Product Manager, Security Engineer.

The problem

Hiring still runs on documents and filters.

Both sides lose. Candidates are reduced to a document and judged by word overlap. Hiring teams drown in applications they can't evaluate and reject people they never understood.

  1. 01

    A CV is a snapshot that ages the day it's written

    It can't carry evidence, preferences or constraints, and nobody updates it for a new project, a move, or a change of mind.

  2. 02

    Keyword filters reject the wrong people

    Word overlap is not competence. Strong people vanish; whoever stuffed the right words surfaces. Run the simulation and watch.

  3. 03

    Applications go into a void

    Candidates get no explanation and no feedback. Recruiters get volume they can't read and decisions they can't defend.

0
Kept
0 / 12
Strong people rejected
0
Keyword-stuffers through

Scanning for the words in the job post…

strong candidate kept, rightly kept on words alone✕ rejected

The shift

From documents and filters to living representations and continuous mutual matching.

Drag the handle. Same candidate, same role, two worlds.

Ayesha_CV_final_v3.pdf · 14 months old

JD_Senior_Backend.docx

Boolean search

python AND django AND "5+ years"

0 of 1,284 shortlisted

Applicant view

Application received. Status: no response · day 23

Auto-reply · do not reply

Unfortunately we will not be moving forward with your application at this time. (Reason: none given.)

Recruiter inbox · this week

1,284 applications6 s per CV0 reasons recorded1,284 people never told why
candidate twinv13 · today

Senior backend engineer

  • Python ✓ · FastAPI ✓ · PostgreSQL
  • p95 latency 900→220 ms (specific)
  • Islamabad · remote · 4 wk notice

role · Northwind

Senior Backend Engineer, Payments

  • Outcome: ship the refunds API
  • Distributed systems design · anchors 1–5
  • Filters confirmed · USD 70–95k

role

you

✦ Mutual · introduced

Why · shown to both sides

● Strong evidence: idempotent payment APIs at scale● Gap: no stated Kafka experience (bonus skill)● Unknown: on-call preference not stated
TodayKif

How it works

One conversation, four moves.

01 · Conversation

I lead a platform team of 6. Last year we cut deploy time from 40 to 8 minutes.

✦

Nice, that's a concrete result. What did you personally own in that change, and which tools did the team use?

One question at a time. Facts and aspirations kept apart.

  1. 01 · Conversation

    Say it in your own words

    No forms. You describe your work, or the role you need to fill, the way you'd explain it to a colleague. The assistant asks one good question at a time, and asks before saving anything consequential.

  2. 02 · Living twin

    It becomes a versioned, evidence-linked profile

    Every fact is structured, linked to the evidence behind it, and versioned. Say "I moved to Islamabad" six months later and only that field changes. The transcript is never the profile.

  3. 03 · Two-way match

    Scored for the role, and for you

    Hard requirements are checked first. Then a deterministic engine scores fit in both directions and shows its reasons: strong evidence, gaps, and what is still unknown. A one-sided match can't hide behind an average.

  4. 04 · Mutual introduction

    Introduced only when both say yes

    Either side can express interest. When it's mutual, each person confirms before any contact details are shared. From there, every decision is made by a human.

The science of the match

Matching you can audit, built on what selection research already knows.

Decades of selection research point the same way: structured, behaviour-based evidence predicts how someone will do far better than unstructured impressions or keyword overlap. The engine is built on that, and it shows its work.

  • Behaviourally anchored competencies

    Every role competency gets observable 1–5 anchors ("designs idempotent services for one domain without guidance"), the way structured assessment has done it for decades. Adjectives like "rockstar" are not a requirement.

  • Structured evidence, not impressions

    The assistant probes the way a good structured interview does: situation, what you personally did, the measurable result. Claims are labelled verified, corroborated, self-reported or unknown, and never dressed up.

  • Two directions, scored separately

    Person–job fit runs both ways. Hire fit asks whether you can do this role; job fit asks whether this role is right for you. They are combined with a harmonic mean, so a one-sided match can't hide behind an average.

Score anatomy

scoring.v1

Hire fit · can they do this role?weights sum to 100

  • Competency fit45%

    scored against the role's 1–5 behavioural anchors, weighted by the recruiter

  • Skill fit20%

    exact skills first, adjacent skills (FastAPI ≈ Django) at partial credit

  • Evidence strength15%

    specific, checkable claims outrank vague self-ratings

  • Domain context10%

    has the person done this kind of work before

  • Preference alignment10%

    the team's stated preferences, never hard filters

Job fit · is this role right for them?weights sum to 100

  • Career direction30%

    where you said you want to go, and what you want to avoid

  • Compensation25%

    does the range reach your floor and your target

  • Work mode15%

    remote, hybrid or on-site, as you prefer

  • Growth and scope15%

    a step up, the same level, or a step down

  • Your preferences15%

    employment type, hours, and the rest

mutual = harmonic_mean(hire_fit, job_fit) × confidence

A harmonic mean punishes lopsided matches: 90 and 30 give 45, not 60. Confidence drops when facts are unknown or evidence is thin, so a high score always means the engine knew enough to say so.

  • Hard filters first · work mode, location, authorization, pay, notice
  • Reasons attached · strength · gap · unknown, per component
  • Reproducible · same inputs, same score, every time

kif.app/p/8k2…

A random token, never your ID or email

AI representation of Ayesha M. · read-only

Has Ayesha built payment systems?

✦

Yes. Self-reported with specific evidence: she cut p95 payment API latency from 900 ms to 220 ms at PayFlow (2021–present).

I'm an AI representation based on what Ayesha allowed this page to share.

Your profile, with its own AI representative

Share a QR code. Let people ask it questions.

Every profile and every published role can have a short public link and a QR code. Behind it is a read-only AI that knows only what you chose to share, and says so.

  • Discloses that it's an AI

    First message, every time. It never pretends to be you.

  • Answers only from what you allowed

    Private fields, pay, contact details and other people's data are out of reach, even under prompt injection.

  • Known, derived, or unknown

    It labels what it knows, what it inferred, and what you didn't share.

  • Revoke in one click

    Rotate or kill the link and the page goes dark. Rate limits and a daily budget stop scraping.

0

fit scores per match

one for the role, one for you

0

profile that grows with you

import, review, and refine

0%

of decisions made by people

the engine ranks, it never rejects

0

confirmations before contact

one from each side

Two sides, one network

Built for the person on each end.

For candidates

Be understood, not filed.

  • Build your profile by talking, in minutes, and keep it current with one sentence
  • See why a role fits you, what may not, and what's still unknown, before you decide
  • Your pay expectations and contact details stay private until you say otherwise

For hiring teams

Define the outcome. Get the shortlist.

  • Describe what the person must achieve; get competencies with observable 1–5 anchors
  • Hard filters and weights are explicit and confirmed by you, never guessed
  • A ranked, explainable shortlist with evidence confidence, and a pipeline by stage

Principles that don't drift

Opinionated where it matters.

Each one is enforced in code, not promised in a prompt.

same profile v13 + same role v4

  • run #1mutual = 86.0
  • run #2mutual = 86.0
  • run #3mutual = 86.0

Deterministic at the core

Filters, scores and ranking are reproducible code, not a model's mood. The same profile and role always get the same result.

role

you

average 60

harmonic 45

lopsided stays visible

Two directions, never averaged

Fit for the role and fit for the candidate are scored separately and combined with a harmonic mean, so a one-sided match can't hide.

"Cut p95 latency from 900 ms to 220 ms"

verifiedcorroboratedself-reportedinferredunknown

Evidence-aware

Every material claim is labelled, and never dressed up as more than it is.

ranked

Candidate 3F9A2C · no name, no pay

Private by default

Pseudonymous until mutual interest; names and contact details only after both confirm.

Rejected

No automated rejection

The system ranks, explains and introduces. It never rejects anyone, and protected traits are never features.

I moved to Islamabad.

v12 · location: Lahore

Always current

Say one sentence and only the affected fields change. Matches refresh in the background within minutes.

Start with a conversation.

Two minutes to a living profile or a structured role. No forms, no black boxes, no surprises about who sees what.