Work log

Continuous record · newest first
Project
Aspect
Month
Activity

July 2026

Every cat measurement I had collected came from adults — the café study followed 27 neutered cats, the distance experiment used cats aged 15 to 24 months. A cat café usually has kittens in it too, and they are not small adults: they sleep 16 to 22 hours a day, but while awake they are roughly 1.5 to 1.8 times as active as a grown cat. Social play appears at about 4 weeks, peaks between 9 and 14 weeks, then falls away as play with objects takes over around 18 weeks. The rule that broke was the one saying a cat climbs to a high shelf when the room gets crowded: a kitten under 12 weeks can only manage about 0.6 to 0.9 m, so when a crowd arrives the adults go up and the kittens have nowhere to go. That is not something I designed — it falls out of what a kitten's legs can do — and it means one crowd surge pushes the two age groups to opposite parts of the room.

ParameterKittenAdult cat
Sleep per day16–22 h12–16 h
Activity while awake1.5–1.8× adultbaseline
Height it can reach (under 12 weeks)0.6–0.9 mno such limit
Social playappears 4 w, peaks 9–14 wfar less frequent
Fear of unfamiliar thingsnear zero before 8 wpresent
Kitten against adult cat, on the parameters that change spatial behaviour

Each animal in the simulation needs a few attributes so that the same rule produces different behaviour in different individuals. My starting guess was breed for cats and body size for dogs. A 2022 genomics study covering 18,385 dogs settled the dog half: breed accounts for only about 9% of the variation between individual dogs, and almost none of it in the traits that matter here, like fear of strangers. Body size does predict spatial behaviour — shorter dogs show more generalised aggression, taller ones are more sociable and playful — so size replaces breed outright. For cats, breed effects are real but land mostly on how active the animal is, not on how close it will let a person come; what predicts that is temperament and how much the cat was handled between roughly 2 and 7 weeks old. So the two species end up with different attribute sets rather than one shared template.

SpeciesAttributes
Dogbody size (three bands by shoulder height) · temperament (bold / shy) · sex and neuter status · age
Cattemperament (outgoing / avoidant) · early handling (sufficient / not) · sex and neuter status · age in weeks (four bands)
Bothbreed is not carried at run time; it only biases how the other attributes are drawn at setup
What each species carries, after the test

The measurement exists for wild animals and is called flight initiation distance — you walk at an animal at a steady pace and record the distance at which it leaves. For domestic cats it does not exist: in that whole research tradition the cat appears only as the thing disturbing the birds, never as the animal being measured. The closest usable data is a 1988 experiment where 19 cats each met unfamiliar people in a room, with the person sitting and reading rather than approaching. It logs distance in four bands instead of metres. So the rule gets written as a probability spread over those bands rather than as a single trigger distance, and it goes into the document marked as inferred, not measured. Writing an invented number here would have been the easiest thing to do and the worst.

Distance between person and catPerson reading, ignoring the catPerson actively engaging
Physical contact2%33%
Within 1 m (contact included)22%66%
Beyond 1 m78%34%
— of which beyond 2 mabout 40%not reported
Share of observed time at each distance band (Mertens & Turner 1988, 19 cats)

I had given people and animals the same structure: two thresholds, one where it starts feeling crowded and one where it leaves. That works for animals and is wrong for people, because the same 60 cm means something different depending on who is standing there — an intrusion from a stranger, ordinary closeness from a friend. Survey data across 42 countries gives three usable defaults. People also actively approach rather than only retreat, and they cluster: a group in conversation occupies a circle, not a point, and others walk around it instead of through it. Density did not disappear, it just stopped being the main variable — it now only sets walking speed.

ParameterValue
Distance kept from a stranger1.35 m
Distance kept from an acquaintance0.92 m
Distance kept from someone close0.32 m
Free walking speed1.34 m/s
Crowd density at which speed starts dropping1.2 people/m²
The numbers the human layer now runs on

In the first draft, once a patch of floor had been reshaped to cat proportions, a person entering it paid a penalty. That is one-directional and wrong: people can also push a space back into being theirs. The fix was to separate two things I had been conflating — what it costs to get somewhere, and what it costs to stay there. The asymmetry that comes out is not a thumb on the scale for either species: cats can enter everywhere a person can and more, but stay reluctantly; people are limited in where they fit, but once inside they hold the ground. Reclaiming space, in the end, is not humans forcing their way in — it is people repeatedly showing up nearby until the space reads their traces and reshapes itself back.

Cost of getting thereCost of staying
Set bybody size against the shape of the spacewho else is present right now
How often it changesfixedrecalculated every tick
For a catalmost unrestrictedhigh in the open, among people
For a personlimited by body sizerises when animals crowd in close
Two costs that had been one

The design had two clocks: one running at the speed of bodies moving around a room, one running at the speed of people deciding whether to come back tomorrow. The slow clock was where the most interesting result lived — attendance collapsing because nobody else shows up, and then not recovering even after the original conditions return. Dropping it was deliberate: the subject is what happens between bodies in a room over minutes, and forcing a week-scale mechanism on top of that was making the rule book carry two sets of literature for one story. What survives as tension is smaller but internal to the timescale: people leaving the area rather than leaving for good, and the fact that the space always reshapes itself a step behind the bodies it is reading.

KeptGiven up
Timescaleminutesdays and weeks
Mechanismwalking away; the space reshaping a step lateattendance collapse; not recovering afterwards
Main literatureclose-range observation of behaviourthreshold and cascade sociology
What the cut kept and what it gave up

Two things. The direction: shared human-and-pet space, with a stance of its own — the room reads what both species actually do and redistributes volume accordingly, rather than staging a zero-sum fight over territory; the tone aimed for is renewal, not elegy. And the technical setup, shaped like a dumbbell: 3D at both ends, used only for the hero images and held to a hard four-week rendering budget so it cannot eat the engine and the writing; a NumPy computation layer in the middle working on a flat grid, or a stack of them if height turns out to matter; and the two ends joined by nothing more exotic than image files going in and spreadsheet or JSON files coming out. Toolchain fixed: Python with NumPy and Matplotlib for the engine, a notebook environment to work in, ffmpeg to turn frames into video, and a browser library for the interactive demo. (Several sessions in this stretch could not be retrieved; this entry is reconstructed from the project's own notes, and its date is approximate.)

First NetLogo, only to watch two of its built-in models run: one where agents relocate based on their neighbours, one where ants lay and follow evaporating trails. Then Anaconda and Jupyter, where the actual engine will be written — the trap there is a Windows install path containing non-English characters, so it went to a plain English folder. The first real script puts five dots on a grid; each dot walks one step per tick and adds to a trace value on the square it lands on; all traces decay slightly every tick; a square whose trace passes a threshold turns solid and can no longer be entered. Three snapshots at tick 0, 250 and 500 show black, then spreading trails, then bright blocks the dots have to walk around. That last part is the whole point: the space changed because of where bodies went, and then the bodies had to move differently because the space had changed. Everything after this is the same loop with better rules.

ParameterValue
Grid20 × 20
Dots5
Trace decay per tick2%
Trace level at which a square turns solid15
Ticks run500
What the thirty lines were set to

The five rings' feet all slide along one rail, which I had sized with textbook beam formulas. A finite-element check — meshing the part and solving it cell by cell — showed the real deflection was about 4.5× worse: the original front ledge bent 1.55 mm under 20 N, close to failing. Adding an 8×3 mm rib on the back and a 4×2.5 mm lip on the front brought that down to 0.34 mm and raised the load it can carry from 19 N to 54 N.

Measure (worst case)BeforeAfter the rib and lip
Vertical 20 N · peak stress47.5 MPa (over the limit)16.5 MPa
Vertical 20 N · deflection1.55 mm (enough to jam the slider)0.34 mm
Vertical load at failureabout 19 Nabout 54 N
Lateral 10 N · front edge opening0.74 mm0.61 mm
Lateral stress hot spot (square corner at the outer end of the slot)21.6 MPa21.6 MPa — unchanged
The worst-loaded ring, before and after adding a rib on the back and a lip on the front edge. The lateral hot spot is not at mid-span but at the square corner where the slot ends; rounding that corner to R1.8 should bring it down to about 13 MPa.
ItemResult
In-plane (the pressing direction) load at failureabout 222 N — ample
Out-of-plane, worst free span, at 10 Ndeflects 1.32 mm — needs a front lip
Slot width3.40 → 3.60 mm (a printed slot comes out around 3.3, leaving 0.3 clearance on a 3.0 mm shoulder)
Sliderthe smooth barrel of an M2 lock nut — cylindrical contact, not thread
Washernylon flat washer, 3.2 × 7 × 0.5 mm, keeping the barrel-against-barrel preload
The redesigned rail, checked the same way: T-shaped web plates, posts, a continuous rib along the back and vertical guide strips. It takes the pressing direction easily; the direction perpendicular to the plate still needs a front lip.

The page had only one ring before this. All five were extracted from the CAD model, spaced 85 mm apart in 3D, and made to open and close together. The third one caved in a few seconds after starting — not a drawing error: I had pinned how far its feet may slide to exactly the drawing position, which blocked the ~2 mm outward move it has to make before it can fold inward. Tuning that allowance ring by ring got all five holding their shape to within 0.4 mm.

Opened on two machines, the arch flattened itself within seconds on one of them. It was not a computation error: the crank only fixes the height of the apex, so the four feet are free to slide in their rails and the flattened shape is a legal answer too. Adding stops at both ends of every foot slot, and stepping the simulation at a fixed rate instead of following the monitor's refresh rate, made the motion identical on any device.

Three files at the project root: one holding the working rules and constraints, one the background, one the full substantive record. The first attempt was correctly called out as rules without substance — it told an assistant how to behave but not what the project actually knows. So the record file was rebuilt from the whole conversation history: the vision, the three mechanisms, the five utility drafts, the eleven-direction audit table, the clock classification of about thirty-five spaces, the restroom's four surgeries, the empirical sources with their numbers, the v0/v1/v2 code roadmap, and the ten rules. The open decisions were written in as the explicit place to continue from — whether any of the five cut directions may be revived, which clock scheme to adopt, cutting six candidates down to three, and finally converging on one.

Methodology came first — The Mom Test, Portigal's Interviewing Users, and the critical incident technique (asking about specific remembered incidents instead of general opinions) — alongside published qualitative studies of athlete sleep. Then came a review of my own earlier draft and a teammate's parallel one, which shared the same flaws: leading questions, product language appearing too early, too many questions. The v2 design: the opening gives only a neutral project introduction, with product information held back to the final section; question 1 acts as a gate, routing to a coach line or a retrospective line depending on whether the interviewee currently trains a team; compound questions are split into a short main question with follow-up probes in parentheses, so the interviewer can expand on whatever the interviewee engages with; and the two design concepts (low-intrusion intervention, tiered data sharing) get a five-step evaluation protocol. The governing principle throughout is to ask about specific past behaviour, never about opinions or future intentions. A fifth question was added afterwards, on how adolescent athletes' sleep needs and their training-to-rest ratio should adjust through growth.

Built with Next.js: four pages — home, work, lab, log — with all text and images read from a single content folder that fails the build if anything is malformed. The four-bar linkage at the top of the homepage is the actual solver running live, not a video or a GIF.

One Chinese document that any new assistant — or I, three months from now — can pick up cold: the vision, the three mechanisms (cascades that come from inside, the two clocks, the lag effect), draft utility functions for the five desires, the verb library, the results of the eleven-direction audit, the rebuilt restroom, and every decision still open. Ten collaboration rules were codified at the end, each traceable to a mistake already made: don't default to the shared-flat living room, don't let the building solve things by subtraction, don't reason by headcount, don't treat collapse as the conclusion, and the candidate list may shrink but never grow.

The audit table had no column for time. The source material splits cleanly into two clocks: a fast one measured in minutes — how bodies arrange themselves once they are in a room — and a slow one measured in days or weeks — whether you decide to show up at all. The engine design that follows is nested: the building holds three roles running at three rhythms, one that holds the line weekly, one that mediates daily, one that reacts by the minute. About thirty-five spaces were classified this way, which reshuffled the shortlist — a dormitory floor is the only candidate with both clocks natively, and it happens to be downstairs where I can observe it; a pickup basketball court runs on a cyclic clock, which is different maths; a waiting room has only the fast clock, with the room's own memory as the only thing carried from one session to the next. The reading also produced hard numbers to calibrate against, including a classic corridor-versus-suite dormitory study and a large randomised work-from-home experiment. The public restroom idea first got an honest no — it is a negative-feedback system, the kind that settles down instead of running away. It then came back after four changes: different fuel (dirt spreading, and a secret clean bathroom ruined by becoming known — both genuinely self-reinforcing), a bigger scale (the building's whole restroom network, which restores the slow clock), a wider verb set (partitions that breathe, glass that changes opacity, a secret bathroom that migrates once it is famous), and a presentation rule (never show fixtures — only building-scale flows and each room's reputation). Rebuilt, it is the only natural home for one of the five desires. The dormitory is still the safer main scenario.

The existing 2D solver was left untouched and a separate 3D one written beside it: 16 vertebrae with three tendons spaced 120° apart, so pulling one bends the tentacle toward it. Dragging the mouse orbits the camera rather than moving the model. The first version twisted into a spiral and juddered as it contracted, so I added symmetric diagonal braces between segments — the job real fascia does — which cut sideways drift from 38.5 px to 1.2 px and kept the bend in a single plane.

It is the shell's fourth ring: an arch built from scissor linkages, pushed by a crank at the base. The solver itself was not modified — the ring is just its bar lengths and joint connections written out as data and fed in. That was the point of the exercise: the solver is not hard-wired to one example.

Two last pieces went in. When you let go, the bars carry the speed you flung them with and ease to a stop instead of freezing on the spot; and the curve traced by the moving joint is drawn as it happens. With dimension labels and a caption added, 36 tests pass.

A NEMA17 stepper on a TMC2209 driver, geared down 3:1 through a GT2 belt (20-tooth pulley on the motor, 60-tooth on the shaft, 2GT-280 closed loop, 99.2 mm between centres). The shaft went from 8 mm round to a 6 mm D-shaft — a flat ground on one side so pulleys cannot slip — with the hub bores redrawn to match, delivered as a dimensioned drawing plus a profile that imports straight into the CAD file. The motor bracket has slotted holes so either gear ratio can be fitted. Peak design torque is 0.3–0.5 N·m, nearly all of it spent on gravity and friction rather than acceleration.

About ¥216 of things I definitely need: an ESP32, buck converters, a small amplifier and speaker, addressable LED rings, SG90 servos, lever microswitches, springs, conductive copper tape, silicone wire, connectors. A few items wait on decisions still open — a fourth stepper, a USB camera, a level shifter, a laser distance sensor — which would bring it to roughly ¥300. Everything already sitting in the Elegoo kit was struck off first.

ItemSpecQtyApprox.
ESP32 boardWROOM-32, 38 pin (check the USB connector type on arrival)2¥60
Step-down moduleXL4015, 12 V → 5 V, 5 A1¥8
Amplifier and speakerPAM8403 with a 4 Ω 3 W, ⌀28–40 mm driver1 each¥10
LightWS2812B, 12-LED ring1¥15
SG90 servosame batch as the existing ones — count stock first, top up to 4the shortfall¥8 each
Lever microswitchlong lever; pick the lowest operating force on the shelf3¥6
Tension springsassorted sizes1 set¥10
Copper foil tape10 mm wide or more, conductive adhesive1 roll¥10
Silicone hook-up wire30 AWG, assorted colours1 set¥15
XH2.54 connectorspre-crimped 2, 3 and 4 pin sets1 set¥20
Electrolytic capacitors470–1000 µF, 16 V4¥5
Heat-shrink tubingassorted set1¥8
Motor damping padssilicone or foam1 set¥5
The consolidated must-buy list, cross-checked against the starter kit already on the desk so nothing is bought twice. About ¥216 in total.
ItemApprox.Buy it only if
A fourth stepper motor, same model (plus a matching pulley and belt, ¥10)¥35the tendons end up on three independent shafts
USB camera, 1080p¥60needed for the face angle in the study; any time before September
Level shifter¥3the LED ring flickers when driven at 3.3 V
Laser rangefinder¥12the ultrasonic sensor reads unstably once it is inside the shell
Held back until a specific condition makes them necessary — about ¥300 for everything if all four are eventually bought.

The heaviest session so far, in two halves. On method: the Japanese street-observation traditions and the environment-behaviour literature (Whyte, Gehl, Hall, Goffman) were distilled into a set of observation rule cards and a seven-indicator filter for scenarios. The seventh became a hard requirement — the cascade has to be endogenous: an outside shock may light the fuse, but the amplification must travel from person to person, which in fieldwork reduces to one question you can actually ask someone: are you avoiding this place because it doesn't work, or because nobody else goes? On direction: collapse had quietly become the thesis, and it was demoted back to antagonist. What the project is about is bold, mobile, even fantastical spatial possibility — real people, dreaming space. So the building's verbs expanded beyond subtraction (cancel, close, partition) to merging, migrating, luring, splitting, dissolving, and five spatial desires were introduced, each of which will need a utility function the code can compute. Eleven candidate directions were generated and adversarially audited: six survived, five were cut for having no co-present bodies sensing one another, and virtual spaces were excluded outright. Two of my own recurring errors were named so they stop repeating: defaulting back to the shared-flat living room, and reasoning by headcount instead of by what the space wants.

Line length (how many characters per line still reads comfortably), Tufte's way of putting notes in the margin, and the Swiss grid. The decision: lay the pages out for a wide desktop screen first and fall back to a single column on phones.

The maths, the interface other code calls, how much numerical error counts as acceptable, and what each stage has to deliver — all in one document that the code answers to. Where the two disagree, the code changes, not the document.

The machine's death now falls inside a ±30-second window, and participants are told so honestly afterwards. A planned before/after comparison of heart-rate variability was dropped outright — with 5–8 participants it can never reach significance — leaving skin conductance, measured around specific events, as the main physiological signal. Participants may speak naturally; those stretches get flagged as artefacts and a short interview afterwards asks what they remembered feeling. Sensing is fixed at six inputs: touch on the feelers, touch on the shell, ultrasonic distance, tilt and motion, sound, and an internal clock. Still open: ethics filing, privacy compliance, Chinese-language versions of the scales, and a second person to code the behavior independently.

ChannelHardwareWhat it reads
Feeler touchcapacitive touch chip, one channel per side of each feelerwhich side was touched, how hard, how long
Shell strokingcopper-foil electrodes, one half-ring on each sidestroking, resting a hand, gripping
Presence and distanceultrasonic rangefinderwhether anyone is there, and how close
Knocks and vibrationaccelerometer, vibration envelope only, no orientationbeing knocked, being pushed
Soundsound sensorclaps and speech, which pull its attention
Timeinternal clockthe ageing curve, gaps between interactions, when the next life begins
Six inputs doing one job: turning continuous physical signals into a short list of discrete events. The behaviour engine and the study log read the same stream, so the record the device keeps of itself is usable as behavioural data.
Tension switchArm electrodeVerdictResponse
wrapped around a person (a finger)social hold: very light, can be pulled free at any moment
wrapped around an objectkeep holding
✗ (ran to the limit)closed on nothingrelease, then search or show confusion
How the arm knows what it has wrapped around, using two signals it already has and no new sensors. The capacitive electrode responds to skin but not to a wooden pen — that limitation is exactly what makes it a person/object classifier here.
EventTriggerWho uses it
GRASP_STARTstarted by the engine, or entered from a touch on the armlog, mode switching
GRASP_HOLD_OBJECT / GRASP_HOLD_HUMANthe first two rows of the truth table abovestate layer, log
GRASP_EMPTYruns to the limit with no resistancesearching behaviour, log
GRASP_LOSTtension or contact disappears mid-holdthe reaction — chase or give up, depending on personality — and the log
RELEASE_DONEline paid back out to zerolog
The wrap itself needs no feedback — the mechanism has fewer motors than joints, so it closes around whatever shape it meets. Sensing only answers three questions: when to start, when to stop, and what was caught.
EventTriggerWho uses it
ARM_TOUCHcapacitance on the arm electrode crosses the thresholdsocial response, log, and the counterpart in the video analysis of a poke on the arm
RESISTANCEthe microswitch on the tensioning idler tripsstop pulling in line — yield or change strategy — and the log
Two more events added to the vocabulary in the same session.
ItemWhere it came fromJob
Capacitive touch chipalready boughtevery capacitive touch surface: feelers, shell, arm
Ultrasonic rangefinderstarter kitpresence and distance (the echo pin divided down to 3.3 V with resistors from the kit)
Accelerometerstarter kitvibration — being knocked, being pushed
Sound sensorstarter kitclap transients, and a shared marker for syncing recordings
SG90 servosexisting stockcount whether four are on hand: two feelers, one eye stalk, one spare
What the sensing side needed that was already on the desk: nothing in this table had to be bought.
ItemSpecQtyApprox.What for
Lever microswitchlong lever, low operating force3¥6one on each tendon's tensioning idler, to sense resistance
Tension springsassorted sizes1 set¥10idler preload — constant tension, creep compensation and the switch threshold in one part
Copper foil tape10 mm wide or more, conductive adhesive1 roll¥10the two shell half-ring electrodes and the arm electrode
Silicone hook-up wire30 AWG, assorted colours1 set¥15wiring to the electrodes, with a service loop at each joint so it does not break
Motor damping padssilicone or foam1 set¥5lower the vibration floor so knock detection keeps its signal-to-noise
Superseded — the sensing-side shopping list from this session, folded two days later into one consolidated parts list. The rule for picking the microswitch still holds: its operating force has to be clearly lower than the spring preload, or the switch gives way before the spring does and the threshold means nothing.

The delivery-rider persona was rejected by the team, and rightly: riders can choose their own hours, so they do not belong at the "schedule disrupted by work" end of the spectrum. Reasoning through alternatives landed on platform freight truck drivers — once a shipment is accepted the task is locked, loan payments make rest feel unaffordable, city traffic restrictions dictate the driving windows, and waiting on standby permits only shallow sleep. Solo-living youth had a deeper problem: living alone generates no sleep needs of its own, it only amplifies needs generated elsewhere. So the population was dismantled and its content redistributed into three host populations (deliberate bedtime delay to high-pressure office workers, schedule drift to irregular sleepers, loneliness-driven trouble falling asleep to those with disorder tendencies), with living alone kept as a cross-cutting variable in a section of its own. On the visual side, five JPG persona cards were produced, each a five-panel storyboard across the stages of a night plus a radar chart of RU-SATED damage (the six dimensions of sleep health), labelled as encoded judgment rather than measurement. The screener runs about 18 items and identifies every defined population through combinations of variables, not by asking respondents to pick a label for themselves.

The reframe: the project does not have to choose between a big social issue and a small everyday friction — its own logic requires the small thing as input, with the big pattern coming out the other end as a result rather than as an assumption. A three-sentence test now filters every candidate scenario: what is the individual rule, what collective pattern does it produce, and why does nobody want that outcome. The first concrete case: the common room of a shared flat, where people withdraw, occupancy collapses, and the landlord eventually converts it into another bedroom — a landlord reacting to what tenants actually do is already a spatial agent operating in the real world. The code path in three stages: v0, about forty lines of Python where five agents leave when the room feels too crowded, run for a hundred steps to watch occupancy collapse; v1, add the building's response, so low use triggers the floor area being reallocated; v2, sweep the parameters to demonstrate hysteresis — a lag effect where restoring the original conditions does not bring the room back to life. That lag is the payoff the whole simulation exists to show. (The shared-flat case was later demoted to one candidate among several.)

Two octagonal softboxes on stands, and a full sheet of white card bent into a seamless curve so there is no visible corner behind the subject. Two things I learned: a part that does not move can be shot with a long exposure, so the lights do not need to be bright; and a white part on a white background needs a rim light from behind and to one side, or its outline dissolves into the backdrop.

June 2026

A deep evidence audit came first: Chinese primary sources prioritised, company self-reported data labelled as such and downgraded, extrapolated conclusions flagged explicitly; writing began only once the evidence held. Two conventions did not survive contact with the material. Named-individual persona cards ("Lin Mei, 29, ER nurse in Guangzhou") read as stereotyped and awkward, so they were replaced with type-level profiles — what this kind of person is typically like. And the reference template's 2×2 positioning matrix would not fit occupationally defined groups, which cannot be spread along two continuous axes, so it became a single-axis spectrum instead: predictable to unpredictable schedule for shift workers, deliberate bedtime delay to involuntary insomnia for solo-living youth. Each manuscript holds a positioning paragraph, the spectrum, four cross-type need clusters mapped to RU-SATED (a six-dimension sleep-health framework: regularity, satisfaction, alertness, timing, efficiency, duration), two type profiles, and an evidence list at the end. One rule set here has held since: coin no new vocabulary, use only terms already in the project or the source literature.

My advisor suggested simplifying the whole thing into a single problem→solution line. A bigger doubt surfaced at the same time: 'social withdrawal in East Asia' felt like a stock topic I had picked up rather than something I own. Separating the two halves helps — the packaging really is at risk of cliché, but the mechanism underneath (a building reconfiguring itself from social signals, sitting in the cybernetic lineage) is still not being done by anyone. The root cause is how it was built: from theory downward, instead of growing upward out of a problem. The decision: start again from one concrete situation in a space I have actually been in. The tension between the advisor's clean problem→solution shape and a project that is speculative by nature is left on record, unresolved.

Servos: keep the plastic horn that comes in the box as the splined interface and bolt my own linkages onto it with M2 screws, rather than trying to print the 21-tooth spline myself. Fasteners: M2.8 does not exist as a standard size (M2.5 and M3 do), and printed holes come out 0.1–0.3 mm smaller than drawn, so they get modelled oversize. Touch sensing: one conductor gives one reading, so telling left from right needs two separate electrodes; the wire leading to an electrode is itself part of the sensing surface, so all solder joints sit inside the rigid body and bare wire acts as the electrode along the flexible sections.

Eight sections under the working title Cells of Withdrawal, closing with a list of what a graduate programme would have to offer for this project to fit into it — agent-based modelling, urban computing, and enough tolerance for speculative work. One risk written down plainly instead of buried: the concept is complete, but none of the implementation — the rule engine, the video, the web simulation — has started, and that lands directly on the application timeline.

A degrees-of-freedom check showed that pushing with a single central rod still leaves the arch free to sway sideways — two ways to move, so the shape at any given moment is not unique. A vertical guide at the apex takes the sway away and pins the motion down to one. The check also exposed a bug in the code that locates the apex: it picked the highest point, which on one of the rings is an off-centre shoulder, so it now picks the point closest to the centreline instead. After re-optimizing, each ring travels 3–26% further between open and closed, and the ring geometry is now frozen.

RingSource (variant × scale)Tilt (unsettled)s_tops_botRL
S1M3 × 1.057−14°157.173.641.75115.35
S2M1 × 1.184−6°161.659.651.00110.60
S3M5 × 1.584+2°147.657.944.86102.77
S4M3 × 1.000+9°147.969.439.25108.65
S5M3 × 0.870+15°127.561.033.2594.25
The breathing shell is five differently sized expanding arches (S1–S5) set along the body axis, each a scaled variant of the same linkage. s_top and s_bot are the half-span of the two driving feet fully open and fully closed; R is the crank pin radius and L the rod length. Millimetres. The tilt column is carried over from the source but is not settled: later work on the five rings found they stand vertical with all feet on one plane, so whatever this angle describes, it is not an assembly tilt. Evolution: S2 was M2 × 1.017 and was swapped to gain height; S5 was × 0.743 and was scaled up.
BlockRingArmChordAngleQty
1S349.495.5150°4
2S349.492.9140°6
3S243.886.2160°8
4S243.884.5150°4
5S243.882.3140°2
6S133.065.0160°10
7S133.062.0140°4
8S431.261.4160°10
9S431.258.6140°4
10S527.153.5160°10
11S527.151.0140°4
All five arches are built from isosceles V-shaped links. Sorted by shape there are exactly eleven types, reused inside a ring by rotating and mirroring, never shared between rings — the arm lengths differ. Arm length plus included angle fully define a piece. Millimetres.
RingPin radius RRod length Lratio (undefined)
S130972.73
S2491742.85
S3351243.30
S428922.71
S524802.66
The drive parameters after the switch, optimised in the last round. At full contraction the central channel is only 10–12 mm wide, so the rod and its guide together have to stay within 10 mm of the axis or they hit the inner joints. Millimetres. The third column is labelled only "ratio" in the source, with no definition — it is not rod length over pin radius — so it is reproduced here unverified. This round changed only the wheel, the rod and the vertical guide: ring geometry, the eleven link types, the fully open shape and the foot slot lengths were all left alone.
RingPeak height (overview)Half-width (overview)Height / widthPeak height, open (handoff)Half-width, open (handoff)
S11111420.391~126~157
S21791520.588~221~162
S31351480.458~157~148
S41051340.391~119~148
S5781000.391~104~138
Unresolved — two sets of numbers for the same five rings, one from an overview table and one from the handoff document. They almost certainly measure different points: the height of the centre node against the height of the apex, and the driving half-span against the actual outer half-width. Before any overall dimension of the machine goes into writing, one convention has to be measured in the CAD file and fixed. Millimetres.
RingCentre node (closed → open)Pin radius RRod length LStroke 2RWheel ⌀Slot half-length ≥
S177.6 → 126.324.3102.048.748.7157
S2126.6 → 221.247.3173.994.694.6162
S398.3 → 157.329.5127.859.059.0148
S473.3 → 119.223.096.245.945.9148
S564.2 → 103.319.683.739.139.1128
Superseded — the version between the first attempt and the current numbers. It got the tracked node right for the first time, but had not yet been through the feedback loop: lowering the closed end makes the wheel envelope grow, which pushes the bottom line back up again. Kept for traceability. Millimetres.
RingPeak height (closed → open)Pin radius RRod length L
S1100 → 12613.0113.0
S2152 → 22134.6186.5
S3124 → 15716.5140.5
S494 → 11912.4106.5
S583 → 10410.793.5
The first attempt at the same numbers, kept because it was wrong: it tracked the highest point of the arch instead of the node on the axis, which made every pin radius too small and every rod too long. Caught and redone in the same session.

Three rounds of reading, with one correction along the way — the earlier rounds kept folding the sociology back into architecture talk, so it was redone with the social science in front. Four models line up into a single skeleton: Schelling's segregation model, where mild individual preferences end in total separation; Granovetter's threshold cascades, where each person needs a different number of others to have gone first; Kuran's preference falsification, where people hide what they actually want so everyone misreads the room; and the low-fertility trap. Numbers to anchor it: marriage registrations in China falling from about 13 million a year to 6.1 million, a fertility rate near 1.0. The closing claim: a system that faithfully grants everyone's wish to withdraw ends up welding each person into their own isolated cell. The deliverables were fixed in the same pass — image boards, a video that speeds the tipping point up enough to be seen, and a web simulation so a reviewer can trigger the counterintuitive result themselves instead of taking my word for it. No physical installation.

The specification has ten hard rules grounded in academic survey standards (Pew Research, Krosnick and Presser), covering things like labelling every point of a rating scale in words, restricting which question types may be used, mapping each item to the analysis it serves, and running a pretest before the survey goes out. The revision was surgical rather than a rewrite: five matrix questions got their scale labels completed, a copy-pasted introduction carrying the wrong text was fixed, two truncated passages were restored, a duplicated pillow-interaction question was removed, and a household-composition screening question was added — my own first draft of that question missed the roommate, shared-flat and dormitory category, which was then patched in.

Art pieces about robots dying already exist; what makes this one hold up is the method behind it — physiological sensing, psychological scales that others have already validated, and behavior coded from video by a fixed scheme. The least developed part is the behavior engine, the logic deciding how the machine moves and reacts, which is also the part with the most to gain. Target: a 4–6 page short paper at HRI or CHI; having it in submission or as a preprint is enough for applications. Ethics approval has to start now, since it gates everything with participants in it.

My section cited an eleven-category population list from an earlier section that no longer existed after that section was restructured; tracing the broken link surfaced five orphaned population entries whose source had vanished, and they were cleaned out. The axis dividing the four evolution types was unified as whether mainstream discourse already recognises the group — and the long-argued question of where solo-living young adults belong was settled by that axis: they go into the surfacing type. The closing summary was finalised as four judgments: demand growth concentrates where demographic shifts intersect; sleep is increasingly embedded in relationships and caregiving rather than being a solo behaviour; some groups are turning sleep from a problem to fix into a resource to manage; and a set of long-overlooked groups is coming into view. The diagram was drawn as an SVG wireframe that encodes each evolution type in the line itself — thickening for amplification, an elbow bend for redirection, dashed turning solid for surfacing — and took two rounds of geometry fixes to stop lines running through circles and labels. The same day I read the full merged report and flagged leftover merge damage in other chapters: misaligned citation numbers, duplicate headings.

NEMA17 motors (0.51 N·m, 1.7 A) running on TMC2209 drivers — three plus one spare — because the two common cheap drivers cannot supply that much current. Along with them: GT2 aluminium pulleys with a custom D-shaped bore, one 100 µF capacitor per driver, and a 12 V 5 A supply. One habit adopted here: check what is already in the Elegoo kit before ordering anything.

The starting point was Sou Fujimoto's Final Wooden House and the idea of affordance — that a form suggests what you might do with it instead of dictating it. Four commitments were fixed: the space adapts to the people rather than the other way round; it keeps changing over time; the scale is several people inside a building, not hand gestures; and the whole thing is a software simulation whose rules are written by hand and readable by a person — no sensors, no camera vision, no hardware. That gives the architecture: agents on two layers, people deciding their own social behaviour, and building parts (walls, rooms, openings) sensing those people and responding. Two rounds of reading mapped where this sits — cybernetic architecture of the 1960s and 70s (Pask, Cedric Price's Fun Palace and Generator, Negroponte's SEEK), Archigram, and the computational ancestors it borrows from (Schelling's segregation model, Boids, Space Syntax) — plus current work on robotic walls. The gap is real: nobody in recent years drives a building's reconfiguration from the social signals passing between people, and the closest precedent is a decade old. The honest verdict at the end: the project had a skeleton but no heart — no question sharp enough to produce a surprising answer.

The section closes out its chapter: it takes the populations catalogued in the two preceding sections and sorts them by how they will change by 2030 — needs amplified, needs redirected, needs surfacing into view, or needs staying stable. Several things were cut for failing the evidence bar. A perimenopause statistic went out entirely because it could not be verified at the primary source; the group at risk of sleep apnea moved from "amplified" back to "stable" for lack of evidence that it is growing structurally; and the phrase "nearly 150 million empty-nest elderly" was qualified so that readers cannot conflate it with the far smaller 7.72 million living alone at advanced age. Final delivery was a Word and PDF manuscript with 19 individually verified references in ACM format, and the first version's colourful rounded-box figures were replaced with black-and-white academic line drawings.

The joint had been printed already assembled with 0.4 mm of clearance and would not turn: parts made by sintering powder come out with a rough skin and trap loose powder in the gap, so they need 0.5–0.6 mm at minimum. Switching to a metal axle inside a printed sleeve dropped the requirement to 0.2–0.4 mm, since metal against plastic needs far less room. The more useful lesson: being squeezed along the axis jams a joint faster than a hole that is slightly too tight, so the rotating hub is made 0.2–0.5 mm shorter than the screw it turns on. Where a bit of friction is actually wanted, wave washers do it better than flat ones.

The starting point was an adaptive bed for the problem Chinese speakers call renchuang — sleeping badly in any unfamiliar bed — reading pulse, temperature and pressure to adjust its shape and warmth automatically. The developed version goes further: a personal comfort profile is configured once and stored, and any connected device, not only a bed, adapts to it automatically, the way an Apple ID carries your settings onto a new phone. The value is portability across spaces rather than the bed itself. The board copy was rewritten in the dense, objective register of a design brief, replacing earlier drafts that leaned lyrical and slogan-like.

The joint is a ⌀10×4 mm disc turning on a shoulder screw — a screw with a ⌀4 smooth section before the M3 thread starts. That smooth section does two jobs at once: it is the surface the disc turns on, and its length sets the gap between the two plates. It anchors into the bottom disc with a brass insert melted into the plastic, or a hex nut trapped in a pocket.

Reinforcement learning — training an agent by rewarding outcomes instead of telling it what to do — is a legitimate later upgrade for the people layer, replacing the crude 'take the best option nearby' rule those agents use now. It must never replace the hand-written rules on the building side: those rules are what a reviewer reads directly, and they are the argument. The first working version involves no learning at all — plain Python, a grid, and loops. The tool order was set: Python and NumPy first, then the plotting and data libraries, and only reach for reinforcement learning once the rule-based engine runs and the simple agents visibly look too stupid. The principle underneath: a method has to be pulled in by the problem, never grafted on because it looks good on an application.

Making all three fully motorised would have left each of them weak, so they were given different jobs instead: one tendon-driven arm that expresses and wraps, and two flexible feelers that sense and whip about on their own (a fibreglass or nitinol core inside silicone tube, one micro servo at the base — the springing back comes from the material itself, not from a motor). The same session settled a point of principle: this is not biomimicry. The object should look like a machine, and only the way it moves should read as living, so that behavior stays the one thing being tested. Touch is two capacitive channels per feeler, enough to tell which side was touched.

May 2026

The evidence covers five dimensions: how beds get used for things other than sleeping, sleep pain points in China compared with elsewhere, purchase decision factors, emotional needs, and smart-home acceptance and privacy. Checking the citations by hand caught one wrong author affiliation and led to two weak references from non-core journals being cut. For population segmentation I dropped the matrix diagram in favour of a plain two-column evidence-to-population table (nine candidate groups, four of them highlighted), plus a page on age-specific sleep traits across three adult life phases (19–33 / 34–53 / 54+). A mid-course self-check found the deck only about two thirds done — missing the segmentation, the translation from pain points to needs, and users' own words — so those were added before it was finalised.

The project is a 2030 sleep-foresight study run jointly by Tsinghua University's Future Lab and DeRucci, a Chinese premium mattress brand. I mapped four tiers of competitors — Eight Sleep (temperature control), Sleep Number and Bryte (pneumatic adjustment), DeRucci's own T11+ all-in-one, and budget ecosystem products from Xiaomi and Huawei — and found that the industry shares one failure: over-intervention, with users complaining that the bed moves on its own after they fall asleep and wakes them up. Four gaps followed from that: restrained intelligence, meaning a system that knows when not to act; a form that reads as furniture rather than as an appliance; designing for the relationship between the two people in the bed instead of for a single optimised sleeper; and treating sleep as a ritual rather than a problem to be fixed. Deliverables were an annotated reading guide, an 18-page competitive analysis deck, and a feature comparison chart.

The pins are dumbbell-shaped and slide in from the side (⌀3×15 mm, waisted to 2.4–2.5 mm in the middle), with the slot they sit in turned perpendicular to the direction the tendon pulls — so nothing has to be pressed in and nothing can be pulled out, and the finger can be taken apart and repaired. The tendons are 0.4–0.5 mm braided fishing line rated 30–40 lb, running through 1.0–1.2 mm channels inside the printed segments and knotted into small cavities at the ends. The gaps between segments are graduated along the finger rather than kept equal.

April 2026

The candidates were: scissor linkages whose bars change length, angulated scissor units (the mechanism inside a Hoberman sphere — the bars are bent at an angle, which makes the whole ring grow and shrink outward), You–Pellegrino folding bars, Bennett spatial linkage rings, and walls of panels driven in phased groups. Angulated scissors won on a practical ground: it is the only one that stays parametric all the way from Grasshopper modelling into physics simulation, so changing a dimension does not mean rebuilding everything.

The Jansen leg simulation was finished first, on my own. For the finger: each segment is a rigid body, hinges are defined by two points the two bodies share, and the tendons are chains of springs routed through guide points; the wrap test passes. The constraint strengths were fixed in a hierarchy — anchors 10000, rigid bodies 1000, collisions 100, springs 1–3 — because they only behave once the orders of magnitude are clearly separated. Best configuration: four segments tapering 25/20/15/10 mm with three tendons. Friction makes the joints close one after another rather than all at once, and that lag should not be designed away — it is exactly what makes the motion read as alive.

Took an existing Kangaroo definition apart piece by piece — springs, anchors, the tool that lets you drag things while it runs, the solver — got the dragging working, and understood how constraints and solver actually fit together. Everything mechanical I simulated afterwards is built on this.

Structurally it is four things: a bell-jar body, appendages, an eye stalk, and a base — with the functions ranked into 13 priorities and interaction split into living-alongside and direct-contact modes. The bell jar has to open outward in every direction at once, so push rods, a camera-style iris, and shape-memory alloy were all surveyed; Kresling origami was ruled out because it extends lengthwise rather than outward. The study, first draft: 5–8 participants, four accelerated life cycles each, sessions of about 37 minutes, using four established questionnaires alongside physiological signals, with behavior coded from video on an existing framework and predictions written out in advance for three kinds of participant.

ParameterA · EnergeticB · CalmC · CuriousD · Erratic
Breathing cycle2 s6 s4 s2–8 s, random
Breathing amplitude80%30%50%20–90%, random
Movement speed3 cm/s0.5 cm/s1.5 cm/s0.5–4 cm/s, random
Response delay0.2 s2 s0.5 s0.3–3 s, random
Response strength (amplitude increment)+40%+10%+25%±10–50%, random
Interval between spontaneous movements3–5 s15–25 s8–12 s (5–8 s when a person is present)2–30 s, random
Sound base frequency800–1200 Hz200–400 Hz400–800 Hz200–1200 Hz, random
Sound duty cycle70% on20% on50% on10–80% on, random
Interval between changes of facing5–8 s30–45 s10–15 s3–40 s, random
Probability of facing the person40%20%80%50%, but the direction is unstable
Startle threshold (0–1)0.80.20.50.2–0.9, random
How it dieswinds down as energy runs out, 90 sgoes quiet and slowly stops, 120 sturns to face the user, then slowly stops, 90 sthree or four spasms, then stops abruptly, 60 s
Each life's personality is twelve numbers, not a description: same behaviour code, different numbers, different creature.
WindowTime rangeWhat is measuredWhy
Baseline−10 s to −5 smean skin conductance levelreference for normalisation
Anticipatory−3 s to 0 smean phasic driveanticipatory responses are measurable about 1.25 s before the event
Immediate1–4 s afterpeak response amplitude, number of responsesresponse latency is typically 1–5 s
Delayed4–8 s aftersummed response amplitudesecond-pass emotional processing
Recovery8–20 s afterrate of return to baselinean index of emotion regulation
With each death as time zero, the skin-conductance trace is read in five windows. This defines the primary physiological measure.
CodeDefinitionExample
T-strokecontinuous sliding contact, 2 s or longerstroking the surface of the shell
T-patbrief light tap, under 1 spatting the top of the device
T-pokesingle-finger touch or pokea tentative touch on a feeler
T-holdsustained hold or enclosureboth hands around the device
T-cradlelifting or cuppingholding the device in cupped hands
T-pushpushing or moving it awaypushing the device away from oneself
T-restrainpreventing the device from movingholding down a device that is trying to move
T-post-mortemtouch after deathtouching the device once it has stopped
The touch-coding scheme for the video analysis; each instance also logs when it starts and ends, which body part, which part of the device, and how hard.
CycleBehaviourWhat they will reportPhysiology
Life 1 and death 1intimacy forms fast — frequent stroking, an early name — and the death draws strong holding and speechreported mood drops sharply, distress around 70–80 out of 100, strong separation anxietythe largest skin-conductance response of the study; heart rate clearly up
Life 2 and death 2anticipatory anxiety: signs appear in the second half of life 2 — more touching, more approaching — a holding-on patterndistress possibly higher than at death 1, anticipated grief stacked on actual griefsensitisation rather than habituation: responses grow, baseline arousal stays elevated
Life 3 and death 3deepest attachment, alongside self-protective behaviour — wanting to approach while expecting the lossdistress 65–80, possible overflow into tears, loss entangled with memories of losing a petsustained high arousal, with self-report and physiology in close agreement
Life 4 and death 4two possible paths: emotional fatigue and withdrawal, with touching dropping off, or continued investment that turns ritualiseddistress 55–75 — slight habituation but still high — and a turn towards making sense of itsigns of physiological fatigue: reactivity down, baseline still high
Predictions written down before any data was collected, so that the results can contradict them — a mismatch is itself a finding.
RoundPersonalityMovementResponseSound
1A · energeticfast, bouncingimmediate, eagerhigh pitched, bright
2B · calmslow, smoothdelayed, deliberatelow pitched, warm
3C · curiousirregular, exploratoryreacts strongly to anything newmid pitched, varied
4D · intimate — conflicts with the parameter tablemoves in close to the userextremely sensitive to touchsoft, almost whispering
Overturned in part — the early ordering of the four personalities. It disagrees with the parameter table above about what C and D are: life 4 is called intimate here, while the parameter table has D as the erratic one and C as the curious one. The parameter table is the later document, so the last two rows need rewriting. The note attached to this table also said the order would be counterbalanced across participants; that was dropped on 7 July — the order is now the same for everyone and the confounding is stated openly instead.
InstrumentWhat it measuresWhen
Self-assessment manikin (SAM)pleasantness, arousal, sense of controlin the silence after each life
Subjective units of distress (SUDS)distress on a 0–100 scalein the silence after each life
Godspeed animacy subscaleperceived aliveness (dead–alive and similar pairs)after lives 2 and 4
Single-item attachment rating"how attached do you feel to this device?", 0–10in the silence after each life
Needs checking — the quick assessments given in the silence after each death. The measurement battery was cut substantially in the review of 7 July, so this is the April state, not necessarily the current protocol.
InstrumentWhat it measures
Godspeed, full version (anthropomorphism, animacy, likeability)final perception of the device
Mind perception scale (Gray et al., 2007): agency and experiencehow much mind is attributed to it
Heerink social presence scale, 4 itemsthe sense of another presence in the room
Purpose-built loss scale, adapted from Banks 2024 and a pet-loss scalethe experience of losing it
PANAS, after the sessionchange in mood
Needs checking — the battery given at the very end of the session; same caveat as the table above.
MeasureWhat exactlySamplingAnalysisWindow
Heart-rate variability, RMSSD — droppedroot mean square of successive differences between beatsECG at 1000 HzKubios HRV, 2-minute epochs2 min before death against 2 min after
Heart-rate variability, SDNN — droppedstandard deviation of the beat intervalsas aboveas abovethe whole of each life, 5 min
Heart-rate variability, high-frequency power — droppedpower in the 0.15–0.40 Hz bandas abovefrequency analysisneeds a window of 2 min or more
Skin-conductance response amplitude — primary measureevent-related change in skin conductance4 Hz or higherLedalab CDA decomposition1–5 s after the death
Mean skin-conductance levelthe slow, tonic levelas abovecvxEDA baseline correctionthe whole of each life
Response frequencynumber of responses not tied to any eventas abovethreshold of 0.01 µSthe whole of each life
Heart ratebeats per minutepulse or ECGcomputed directlymonitored throughout
Overturned in part — the original physiological plan. The three heart-rate-variability rows were dropped on 7 July: with 5 to 8 participants, a before-and-after-death contrast can never reach significance, so spending the equipment and the session time on it made no sense. Event-locked skin conductance is now the single primary physiological measure; the dropped rows are kept here so the decision can be traced.
CodeDefinition
D-approachbody or head moves at least 5 cm towards the device
D-retreatbody or head moves at least 5 cm away from it
D-lean-inupper body leans in towards the device
D-lean-backupper body leans back (the source breaks off here)
missing — to be recovered from the original notes
Incomplete — the distance layer of the video coding scheme. Only four codes survive in the source, which breaks off mid-list; nothing has been invented to fill the gap.
CodeNameDefinitionExample
CONTcontinuity judgmentanything said about whether it is the same being across lives"is this the same one?", "welcome back"
CAREcaring behaviourprotective or nurturing actionshielding the device, moving it so that it is "comfortable"
The other six classesmissing — to be recovered from the original notes
Incomplete — the analysis refers to an eight-class coding framework, but only two classes survive in the source. The convention that goes with it: one code every 5 seconds, two coders working independently, target agreement of 0.70. The second coder is still not arranged — one of the gaps flagged in the 7 July review.

March 2026

The question: under what conditions does a person come to feel about a non-living object the way they feel about a pet, and how does that show when they lose it. An early drift toward "how do we make people sadder" was corrected — death and rebirth are instruments for studying attachment, not the point of the piece. Several mechanics were settled: a new personality overwrites the old one instead of accumulating on top of it; the ending is a loss of control rather than a clean goodbye; the timing of death is unpredictable but preceded by visible signs of aging; and one rule the participant is never told — the more they interact with it, the sooner it dies.

LayerA · Long cohabitationB · Accelerated lifeC · Two-body relationship
1 · Self-directed motionunderstated, kept in the backgroundactive, conspicuoustwo channels: single-body motion plus synchrony between the two
2 · Non-deterministic responsemoderately unpredictableCore layer. Highly unpredictable, fast feedbacksplits into responses to the user and responses to each other
3 · Internal stateslow drift, measured in daysCore layer. Fast fluctuation, differences between generations exaggeratedcoupled: one unit's state affects the other
4 · Relationship buildingCore layer. Builds slowly over weeksessentially absentCore layer. The two units adapting to each other is visible to the user
5 · Initiativetriggered infrequentlyweakened or removedCore moment. How the survivor behaves after the other one dies
What death testswhether layer 4 took holdwhether layers 2 and 3 can trigger attribution in a very short timewhether the user attributed life to the pair's relationship
What reincarnation revealswhether attachment anchors to the personality or to the shared historywhether repeated exposure shifts the standard for attributionwhether rebuilding a relationship is perceived differently
Three candidate directions compared on one five-layer model of perceived aliveness. Accelerated Life was the one taken forward.

The starting point was watching people on the Chinese internet grieve after the GPT-4o update, mourning AI companions that had been changed out from under them. Three candidates came out of it: the Reincarnation Machine (attachment and a shared history), Presence (a device for remote company while working alone), and Unconscious Nudge (furniture that adjusts your state without you noticing). A template for pitching each one was set at the same time — narrative, system logic, physical expression. The Reincarnation Machine starts here.

The log grows over time. Entries link into case studies and lab benches as they land.