Cinematic dot-field sphere on near-black ink. Dense population of small luminous points across a translucent spherical surface — a particle visualisation of a synthetic population. Front of sphere sharp, back fades into ink. Soft cool light from upper-left catching the leading edge with icy-white highlights. Strictly cool palette — no yellow, no sepia, no warm undertone. Roughly 30-40% of points teal-tinted (#52B8A6 / #8AD2C5), the rest cool desaturated white. Subtle particle drift around the sphere's leading edge. Sphere centred in 4:3 frame with generous negative space — CSS will position-shift it for desktop bleed-right vs mobile centred. No networks, no continents, no UI, no wireframe.

Believable people,
on demand.

One API call returns a full person across 77 traits. Calibrated to real-world distributions, so the population holds up at scale.

Editorial-grade synthetic portrait of John Donaldson — 31-year-old white American male, mid-length brown hair, neutral expression, soft three-quarter angle. Cinematic ink-tinted backdrop with a subtle teal undertone. Crop tight: head + shoulders only. No props, no logos. Should pair tonally with the Ink hero surface — cool desaturated palette, not warm.
John Donaldson
persona_7k2m9f4q1x8d3
Generated
Age
31 years
Gender
Male
Location
Lexington, KY · US
Occupation
Office Admin
Income
$50k – $75k
Education
Some College
Openness
Average
Tech comfort
Comfortable

Married, two kids. Commutes by car to a small office in Lexington. Watches basketball most weekends.

David Kowalczyk28 · Software Engineer · California, USMarcus Eoin52 · Sound Designer · Edinburgh, UKAisha Rahman33 · Product Manager · London, UKChris Wood34 · Professional Athlete · Nottingham, UKCallum Fraser41 · Operations Lead · Glasgow, UKAna Reyes22 · Student · California, USNia Evans27 · UX Designer · Cardiff, UKJames Kowalski55 · Factory Supervisor · Ohio, USSiobhan Murphy52 · Nurse Practitioner · Belfast, UKTim Hecker50 · Sound Artist · Los Angeles, USDorothy Walsh58 · Nurse Practitioner · Pennsylvania, USHarpreet Singh36 · Data Analyst · Manchester, UKLuis Mendoza38 · Truck Driver · Texas, USEllie Morgan29 · Account Executive · Bristol, UKDavid Kowalczyk28 · Software Engineer · California, USMarcus Eoin52 · Sound Designer · Edinburgh, UKAisha Rahman33 · Product Manager · London, UKChris Wood34 · Professional Athlete · Nottingham, UKCallum Fraser41 · Operations Lead · Glasgow, UKAna Reyes22 · Student · California, USNia Evans27 · UX Designer · Cardiff, UKJames Kowalski55 · Factory Supervisor · Ohio, USSiobhan Murphy52 · Nurse Practitioner · Belfast, UKTim Hecker50 · Sound Artist · Los Angeles, USDorothy Walsh58 · Nurse Practitioner · Pennsylvania, USHarpreet Singh36 · Data Analyst · Manchester, UKLuis Mendoza38 · Truck Driver · Texas, USEllie Morgan29 · Account Executive · Bristol, UK
01Why it exists

Realism has two halves.

A persona has to make sense on its own. A thousand of them have to look like a real crowd. Those are different problems.

Individual

Each person has to hold up.

Naive sampling can give you a 19-year-old surgeon, or a tuna fisherman in landlocked Wyoming. The totals may look fine; the person doesn't.

Population

So does the whole crowd.

Good-looking individual records can still drift as a group: too many engineers, not enough nurses, the wrong age curve.

PersonaGen

Both halves hold up.

PersonaGen samples traits in dependency order. Individual records make sense, and large samples stay close to the source baselines.

The person works. The crowd works too.

02How it's built

Built in five tiers.

Generation runs in order. Fixed traits come first; later traits inherit those constraints.

01 / 05

Foundation

Fixed at birth
AgeGenderEthnicityCountry of birth
02 / 05

Life path

Shaped by Tier 1
Parental educationChildhood SESRegionImmigrationEducation
03 / 05

Career & income

Influenced by 1 + 2
OccupationIncomeEmployment
04 / 05

Psychology & lifestyle

Shaped by all above
Big FiveLiteracyReligionPolitical leaningInterestsLanguages
05 / 05

Physical profile

Derived + enriched last
Body buildHairEyesSkin toneHeightHealth conditions

Filters stack. The person still makes sense.

03Population coherence

Stays on baseline. Even as it grows.

As you draw more personas, the mix moves toward the source data instead of drifting into a crowd of lookalikes.

Sparse50 personas
~14% drift
Loose500 personas
~5% drift
Tighter1,500 personas
~2% drift
On baseline5,000 personas
< 1% drift
Few personas
At scale · < 1% drift

One person makes sense. The sample does too.

04Try it

Generate a persona.

Live call against the production API. Add filters, set a seed, or let it draw from the full country model.

POST api.personagen.dev/v1/us/persona
Ready
Press generate
05Use cases

Give your LLM a population.

A single persona gives you a story. A larger sample lets you measure a pattern.

Generate

Draw as many personas as you need.

LLM
Run

Send each one through your model.

Aggregate

Compare the answers.

In practice

Synthetic surveys

Ask the same question across a thousand personas. Compare the answers.

Model response testing

Check how a model answers a new parent, a retiree, or a recent graduate.

UX & messaging research

Try a flow, message, or price with a varied sample.

Academic & policy modelling

Controlled cohorts for teaching, agent-based simulation, or counterfactuals.

Worldbuilding & characters

Stories, games, or NPCs cast from real demographic spread — not the same five.

Image generation

Pass persona context to image models for more varied character sets.

Building with synthetic populations?

Free for academic, non-profit, and open-source projects. Commercial use is paused. Send a short note about what you're building.

06FAQ

What people ask.

Trait distributions are calibrated against sources such as the US Census, ONS, and BLS. Large samples track those sources; single personas are plausible combinations, not copies of real people.

PersonaGen — Believable people, on demand