OuViePo is first and foremost an idea. But an idea without architecture is a dream without an address.
For the constraints to exist, to be findable, combinable, generatable on the fly… something solid needed to be built underneath. Here’s what’s under the hood.
The technical core runs on WordPress, with three custom content types: Constraints, Artists and Traces. Each constraint is linked to one or more reference artists. Each artist can inspire several constraints. Traces are what participants leave after playing: a photo, a text, a piece of data, sometimes nothing… and that nothing is a trace too.
The constraints are organized around five dimensions: Domain (Body, Urban Space, Time, Intimate, Object, Sound, Image, Relationship, Digital), Engagement Level (from Seed to Radical), Duration (from 1 minute to infinity), Social Mode (Solo, Duo, Collective, Public) and suggested Trace Type. These five dimensions are not decorative. They are the generator’s parameters.
The constraint generator works like a slot machine with four reels. Each reel randomly selects a value from these dimensions. Then the system searches for a constraint that matches the combination obtained, with a progressive fallback logic if no exact result is found. It’s not “display a random constraint”… it’s first drawing the parameters at random, then finding what matches. The nuance is essential: it’s a real exquisite corpse, not a simple lottery.
Two generation modes coexist. Free mode draws everything at random, with no filter. Guided mode allows you to lock certain parameters, for example keeping only solo constraints of less than an hour. A third mode is in preparation: Journey mode, which will offer a pedagogical progression from the most accessible gesture to the most demanding.
The current database contains 103 constraints spread across 9 domains, with references to more than 50 artists. It continues to grow… one constraint per week, that’s the protocol.
Why so much care in the architecture? Because a poorly organized constraint is an unfindable constraint. And an unfindable constraint transforms no one.