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 complete, internally consistent synthetic persona. Sample a thousand and the population matches real demographic baselines. Pass one to a language model and it answers in character.

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
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
01The concept

Synthetic personas.
Built, not born.

Synthetic personas are a recent category. Here's the working definition.

A synthetic persona is a constructed individual. Each trait is sampled from real demographic data, conditional on the traits drawn before it. The dimensions span age, country, occupation, income, beliefs, lifestyle, and physical features. The output is a coherent, complete record for someone who doesn't exist.

Pass one to a language model and it answers in character. A thousand of them stand in for a real population, queryable for the cost of an API call.

Now, what to do with one. Or a thousand.

AGE59 yearsGENDERFemaleETHNICITYBlackSEXUALITYStraightRELIGIONSpiritualDEVOTIONCasualPOLITICSLiberalORIGINUS-bornSTATEOregonAREALane Co.SETTINGMetroLANGUAGEEnglishUPBRINGINGLower-middlePARENTSHigh schoolEDUCATIONHigh schoolINDUSTRYHealthcareJOBMassage TherapistEMPLOYMENTFull-timeWORKSITEOn siteINCOME$75–100kBUDGETINGBasicDEBTAsset-backedSTATUSPartneredCHILDREN3 grownSTAGEEmpty nesterHOUSINGOwns homeHOMESingle-familyINTERESTDrumsPETSDogINTERESTPhotographyTRANSPORTDrivesINTERESTRock collectingTECHExpertINTERESTAdventure travelSHOPSValue-ledSOCIALDailyADOPTEREarlyOPENNESSHighCONSCIENTIOUSHighNEUROTICVery highLITERACYProficientBUILDAverageHEIGHT5'5"HAIRBantu knots
02How you'd use it

Give your LLM a person.
Or a population.

Same three steps. Generate, run through your model, read what comes back.

01 · Generate

Draw a persona. Or many.

One API call returns a complete persona, detailed enough to use on its own. Call it again for as many more as you need. The sample stays balanced across age, region, education, occupation, and every other dimension on the record.

LLM
02 · Run

Send through your model.

Pass the persona record into your LLM prompt. Ask anything: a product question, a message, a survey. The persona answers in character. Run it once for a quote, or across the sample for a pattern.

03 · Evaluate

Read the answer. Or the shape.

One persona gives you a story you can quote. A larger sample lets you measure patterns: splits across demographics, the overall shape of responses.

One answer is a quote. A thousand is a finding.

03How it's built

Built in six tiers.

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

01 / 06

Foundation

Fixed at birth
AgeGenderEthnicitySexuality+ more
02 / 06

Life path

Shaped by Tier 1
Country of birthRegionImmigrationParental educationChildhood SESEducation+ more
03 / 06

Career & income

Influenced by 1 + 2
OccupationSeniorityEmployerIncomeDebtFinancial pressure+ more
04 / 06

Mind & decisioning

Shaped by 1–3
Big FiveLiteracyNumeracyPoliticsReligionRisk tolerance+ more
05 / 06

Lifestyle & buying

Shaped by 1–4
RelationshipsChildrenInterestsHousingTransportPrice sensitivityBrand loyalty+ more
06 / 06

Body & appearance

Derived + enriched last
ActivityHealthBody buildHairEyesSkin toneHeight+ more

Filters stack. The person still makes sense.

04What makes it hard

Realistic and representative.

Most generators manage one or the other. A 19-year-old surgeon is statistically possible. Ten thousand random people skewed toward the same job aren't a population. PersonaGen has to hold both ends at once.

Realistic

Each piece fits the prior.

Traits are sampled in dependency order: the country sets up the region, the region sets up the schooling, the schooling sets up the job. Nothing in the record contradicts anything else.

One person

PopulationSamplen = 50n = 500n = 5,000
Representative

The crowd matches the source.

As the sample grows, the mix converges to the source data: age, region, occupation, every other dimension PersonaGen samples. By a few thousand draws, the sample is statistically indistinguishable from the target population.

At scale · < 2% drift

The person works. The crowd works too.

05Try 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/us/persona
Ready
Press generate
06Use cases

What people are building with it.

Six patterns we see most often.

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 drawn from a real demographic spread.

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.

07FAQ

What people ask.

Large samples are intended to stay close to population-level patterns, especially for census-backed demographic fields. A single persona is a plausible synthetic composition, not a record matched to a source row.

PersonaGen: Believable people, on demand