Back

Hole Card

Profiles, personality assessment, and decision simulation

Build a profile of a person — yourself, or someone else. The program does the arithmetic and fixes the thresholds by rule; AI explains and never decides. Before you make the call, see what the other side is actually holding.

A card face down

In the summer of 2026 there was a noisy episode on the Chinese internet. The episode itself had nothing to do with me — in the queue of bystanders I was somewhere past the ten-millionth — but one small detail stopped me. Facing a decision that was both financially large and deeply personal, the person involved put the question to an AI. The AI answered without hesitation, and he did as it said.

Most of the commentary found this absurd: how can a chat box settle something that big? The absurdity is real, but underneath it is something else. What he wanted in that moment may not have been the answer, but a place willing to say an answer out loud on his behalf. People are least able to lay out their situation in full precisely when the decision is largest — because once it is laid out, it has to be faced.

Hole Card grew out of that detail, and it deliberately does the opposite. It gives no instructions and decides for no one. It only asks you to put a person's cards on the table one at a time — that person can be you, or someone else — lets the program work out what can be worked out, lets AI say what can be said clearly, and hands the decision back untouched.

Many of the heaviest decisions in a life are not about yourself but about someone else. A department is dissolved and the manager has to decide what happens to each person. A partner wants out and the conversation has to be had. Someone at home wants to move abroad and you have to decide whether to argue. These need the cards on the table too — except the cards are the other person's, and you can only see some of them. So Hole Card has three layers: build the profile, measure the personality, then play it out — how to read a choice they are making of their own accord, and how they would react to something being done to them. When the subject is you, the path is the same.

One sentence goes first, and everything after is built around it: understanding someone is for taking more responsibility in the decisions you make about them, not for handling them. Every layer constrains the model against guessing. It may not infer personality from age or education. It may not write the unknown as known. Personality may not overturn what the numbers concluded. Age, sex, marital and parental status may not be reasons for any course of action. It is more restrained than the judgement most people run in their heads, which is why it can be put out in the open.

Putting a person on the table

The first layer is the profile. Build one for the subject; apart from what to call them, every field may be left blank — when the subject is someone else, incomplete information is the normal case. Blank means unknown, the program remembers it as unknown, and nothing downstream is allowed to treat it as known. The profile comes in blocks: identity (name, relationship, sex, birth year); foundations (age, education, currently studying, skills, languages and fluency, location, residency status); finances (currency, monthly income, monthly outgoings, liquid savings, debt and monthly repayments, passive income); relationships (marital status, children and the age band of the youngest, parents being supported, a second household income); physical description (build, height, an objective note on appearance — nothing health-related); religion (unknown by default, recorded only where the person has stated it themselves).

The most important block is the observation log: dated entries of what this person said and did in a specific situation, with the source marked as one of four — seen directly, stated by them, relayed by someone else, or a written record. Each entry is numbered. From then on, any inference about this person that cannot cite a number does not count.

The second layer is assessment, by one of two routes.

The first is a self-test: eighty items, five-point scale, ten minutes or so. The backbone is the public-domain fifty-item IPIP Big Five — extraversion, agreeableness, conscientiousness, emotional stability, openness. The remaining thirty are my own, in three modules: stress response (withdrawal, confrontation, accommodation, impulsivity, overcontrol), motivation and values (security, achievement, autonomy, belonging, status, pleasure), and risk appetite by domain (financial, career, social, relocation). Scoring happens entirely on the device, normalised to 0–100 and cut into five bands at fixed thresholds. Once finished, a six-part report can be generated: the five-dimension picture, what they look like under stress, what drives them, risk appetite, where it intersects the profile, and three sentences for whoever is using it. The AI writing the report receives only scores and bands, and its wording may not exceed the band — if the band is "moderate", it cannot write "highly". One honest caveat: the thirty items I wrote have not been calibrated against a sample, and every report says so at the end.

The second route is an inferred reading, for a subject who has not taken the test. AI may work only from the observation log, giving a band, its grounds, and a falsification condition for each dimension. The grounds must cite entry numbers; the falsification condition must state what behaviour would overturn that band. Age, education and income cannot produce personality, so they are not permitted as grounds. Everyday behaviour like making lists or planning ahead proves conscientiousness only, and cannot be used to infer stress response or risk appetite. A single entry supports "moderate" at most; "low" or "high" requires two entries from different sources or situations. Dimensions that cannot be derived are marked "no basis". A subject with no observations gets no inferred reading at all. Wherever an inferred reading appears, it carries the label "inferred · not self-assessed" — it is a hypothesis awaiting verification, not a report.

The question page shows nothing but the name and the items; none of the profile is visible, because the subject is most likely answering on the user's own phone. After submitting, it becomes a single screen reading "submitted, please return the device", and the scores and report are seen by the user back inside the profile.

Playing out their hand

The third layer is simulation, along two routes.

The first is a choice the person is making of their own accord — studying abroad, changing city or job, quitting to start something. Three of the blocks come from the profile, so only the decision block needs filling: what they intend to do, the one-off outlay and the new monthly cost, the expected duration, whether they quit, whether they move, what they expect in return, whether there is a window, what the fallback is if it fails, what they have actually done so far, which motives are in play, and where their partner stands. Once filled, a snapshot appears with no AI in it at all: current monthly balance, how many months the cash lasts (rated comfortable, tight or insufficient), the total cost of the decision and what share of savings it is, and how many family members are carried along. Two locally computed ratings sit alongside: capacity (does the runway cover the duration, how many people are affected) and reversibility (points for quitting, crossing borders, a large one-off outlay, a long horizon). Then AI writes eight sections: the decision and the numbers, capacity and reversibility, the upside, the downside floor, the uncertainties, the fit, the case against, and the conclusion. The conclusion opens with a one-line table placing six dimensions in a band each. The three verdicts — encourage, proceed with caution, advise against — are not AI's to choose freely: advising against has written trigger lines, encouraging has a full set of thresholds, anything short of both lands on caution, and caution always comes with a list of what to fill in, after which the new situation goes through again. The downside section must say who bears the worst case. The uncertainties section must raise the questions being avoided, drawn from the contradictions and blanks in the profile: a partner's position marked "not told", a vaguely written fallback, a motive that is only escape with no destination — each gets named. Personality does exactly one thing on this route: add risk notes and practical advice. It cannot move the verdict up or down a band. Numbers are numbers; people are people.

The second route is something being done to the person, written for whoever is deciding. A department dissolves and the manager has to decide what happens to them — that is the typical case here. First the situation: what happened, the subject's current role and years of service, whether they know, the time pressure, and the cards in their hand — core operational knowledge, key client relationships, influence within the team, points of legal protection, outside options. Then two to four courses of action, six fields each: nature (new assignment, lateral move, demotion, negotiated exit, dismissal, role eliminated), effect on income, title and reports, whether relocation is required, how much time they are given, and whether there is compensation. The program first computes the subject's baseline: how many months savings last at zero income, how many people are carried along — which sets the constraint band; how many cards they hold — which sets the leverage band. Then, per option: the new monthly income and balance, the new runway including compensation, the impact band, the reversibility band. On top of that AI writes five sections: the subject's position, an assessment of each option, a cross-comparison, the case against, and advice for the decision-maker. Each option gets five lines — reaction distribution (accept, negotiate, resist, leave, each high/moderate/low, with no percentages and never "he will accept"), trigger conditions, the effect on the subject, and the risk to the decision-maker across four fronts (legal, team, knowledge and relationships, execution). The cross-comparison ranks by overall risk to the decision-maker, the case against targets whatever ranks first, and if the subject has not been told, the first piece of advice must be how to tell them, in what order, at what moment.

Two lines are written into the prompt on this route. One is stance: it is written for the decision-maker, but it neither flatters the decision-maker nor argues for the subject — the subject's losses are stated plainly, and so are the decision-maker's risks. The other is the forbidden ground: age, sex, religion, appearance, marital, parental and dependant status may never be a reason for choosing, ranking or excluding any course of action. They may appear only within legal risk, as points to verify with counsel. The legal column lists points to check; it cites no statutes and declares nothing lawful or unlawful.

How it works

This section is about principles, not code.

Whatever can be computed belongs to code. Monthly balance, runway, total cost, people affected, scale scores, constraint, leverage, impact, reversibility — everything computable is produced deterministically by the local program, and the prompt says so plainly: these figures and bands must be quoted as given, never recomputed, never shifted. An AI getting a number wrong or moving a band is institutionally forbidden here.

The criteria are fixed. The trigger lines and thresholds for the three verdicts, the cut points of the scales, the order in which the reaction distribution is derived (constraint and leverage lead; personality may move it one band at most) — all are written rules. AI executes and explains; it does not invent standards.

No guessing. Personality cannot be derived from structured fields, so it may not be. A single observation cannot support "high" or "low", so only "moderate" is available. What cannot be derived is written as having no basis. Anything marked "unknown, counted as zero" may not be written up as "none". An inference must cite entry numbers and state its falsification condition.

Personality does not overturn the numbers. Personality and the observation log may only add or remove risk notes and practical advice; they cannot move a conclusion the arithmetic reached up or down a band.

The case against comes first. Both routes carry a section of their own that argues the strongest case for the opposite position, and it may least of all be perfunctory when the verdict is to encourage. This is the part of the tool that least resembles fortune-telling.

A stopping line. Where the decision or situation involves medical judgement, psychological crisis, or risk of harm to self or others, neither route performs its usual analysis: the section headings still appear, the body says only "not applicable here", and the single piece of advice is that the person get help from a doctor or a professional first.

The closing words do not come from the model. The fixed paragraph at the end of every report — the scales are uncalibrated, an inferred reading is not a self-assessment, a verdict is a leaning rather than a ruling, and nothing legal here constitutes legal advice — is appended locally by the page. What should be fixed stays fixed; certainty is not handed to probability.

The door and the key. The whole site sits behind a password. The AI key exists only on the server and never reaches the browser; analysis runs in a mode that shows its reasoning. Profiles, assessments and simulation history live only on your own device — the server keeps nothing — and can be exported as a single file and imported back. When an analysis is generated, the material goes out through a protected gateway and is discarded once used.

Enter

A password is required. Please contact the author for details.

Try it