Tom Riddle and the Architecture of Skeuomorphic Friction
Because instant AI outputs degrade trust, developers must program skeuomorphic friction to simulate the biological hesitation of human cognition.
By Jonah Reyes
Sparked by Fable turned reMarkable into Tom Riddle's diary from Harry Potter · discussion

Reading through the Hacker News discussion of Maxime Rivest’s beautiful Riddle repository, one user synthesized the creeping, ambient unease of modern conversational interfaces by invoking a famous piece of pop-culture folklore. They dropped in the exact warning J.K. Rowling gave to Arthur Weasley regarding enchanted objects:
"Never trust anything that can think for itself if you can't see where it keeps its brain."
The surrounding commentary crystallized a widespread but rarely articulated anxiety. Users described a profound cognitive dissonance when interacting with instant AI outputs, a phenomenon characterized across the thread as a deep technological apathy. When a machine returns a complex philosophical treatise in 0.4 seconds, we intuitively devalue the output. The sheer response speed fundamentally violates the physical constraints of human thought.
But to understand why this apathy happens, we have to look at the physical mechanics of magic.
If you rewatch Harry Potter and the Chamber of Secrets, pay close attention to the spatial and temporal mechanics of Tom Riddle's diary. When Ginny Weasley or Harry writes in the blank journal, the ink pools on the page for a breathless, pregnant second. Then, it slowly bleeds down into the parchment, dissolving entirely into the fibers of the book. Another agonizing pause follows. Finally, ink begins to bleed back up from the depths of the paper, slowly coalescing into handwritten text.
The latency is terrifyingly organic. The medium absorbs the message, digests it, and responds with measured hesitation. You are acutely aware that there is an intelligence on the other side of the parchment, and more importantly, you are aware that this intelligence is subject to the same physical limitations of time and space that you are. It creates a level playing field of cognitive effort.
Contrast this cinematic labor with the sterile, hyper-optimized token stream of a standard ChatGPT user interface. OpenAI optimizing for zero-latency output makes pristine economic sense for an infrastructure provider trying to drive down compute costs and wow enterprise clients with sheer throughput. It fundamentally breaks human sociology in the process.
[Aside: ChatGPT is an inherently terrible name for a conversational agent, much like "word processor" was for writing or "food processor" for cooking. It sounds less like a collaborator and more like an industrial manufacturing pipeline, which, to be fair, is exactly how the backend behaves.]
To achieve human suspension of disbelief and intimacy in digital interfaces, LLMs must paradoxically adopt what I call Skeuomorphic Friction.
I use this framework to describe an artificial conversational delay that maps the cinematic, ink-absorbing mechanics of a Horcrux directly onto modern digital UI. This entails the explicit insertion of an artificial 2.8-second delay and a simulated physics engine into an otherwise boundless digital system. In the early days of iOS, skeuomorphism meant making digital calendar apps look like real leather with drop shadows and stitched borders. Today, the most vital skeuomorphism isn't visual; it is temporal. In an infinite computational arena where the true bottleneck is merely network latency, artificial friction becomes the only viable mechanism to manufacture intimacy.
Because as homo socialis, we are exquisitely calibrated to constantly assess the cognitive load of our conversational partners. We can look to behavioral economics for the empirical evidence of this reflex. The labor illusion demonstrates that people value services more highly when they literally see the work being done. When a travel aggregation site stalls for a second and flashes a progress bar reading "searching hundreds of airline databases," users report significantly higher satisfaction than when they receive the exact same flight results instantly. We demand a theatrical performance of effort.
When a large language model spits out a meticulously formatted, five-paragraph synthesis of the geopolitical ramifications of the spice trade the very millisecond you hit enter, we experience a profound, subconscious rejection of the text. The instantaneous output actively degrades trust by skipping the physiological proof of work required in human interaction. We don't simply desire the correct answer to our query. We desperately need to feel like the machine had to sweat to find it.
Proof of work indeed.
Human conversation operates against a remarkably strict biological speed limit. Psycholinguistic research on human turn-taking establishes that the average gap between turns in spoken dialogue is about 200 milliseconds. That tiny, imperceptible sliver of time is where empathy physically lives. Our brains rely on that fractional latency to confirm the other party is actively listening, processing our emotional state, and formulating a bespoke thought in response. If the response comes too slowly, we assume the person is distracted or cognitively impaired. If it comes too quickly, we instinctively feel we are being talked at rather than talked with. The entire architecture of human status negotiation happens in the millisecond margins of these conversational gaps.
When software violates this baseline by vomiting perfect, hallucination-free syntax at 80 tokens per second, the illusion of comprehension collapses entirely. The vibes are instantly ruined.
The Riddle project solves this UX nightmare by embracing the physical constraints of the analog world. Instead of simply delaying the text box or throwing up a generic spinning loading wheel, the repository leverages the Zhang-Suen thinning algorithm—a mathematical method typically deployed in image processing to skeletonize images and extract their topological geometry. By applying this algorithm to artificially pace the pixel output on the screen, the software flawlessly simulates the erratic, bleeding drag of human handwriting. It forces a multi-billion parameter supercomputer to pantomime the agonizing effort of human cognition.
That's delightful.
How do you build a ghost in the machine when the machine moves too fast to haunt?
You have to program the hesitation. You have to write code that forces the oracle to stutter, to wait, to pretend that the weight of the user's input actually requires a moment of quiet, ponderous reflection. The uncanny valley of modern artificial intelligence derives entirely from its absolute refusal to pause. We assume a sufficiently advanced reasoning engine will eventually win our implicit trust through sheer accuracy and zero-shot reasoning, yet we remain deeply unsettled by an entity that never needs to catch its breath. The horror stems directly from an architecture that refuses to mimic the friction of human vulnerability.
The underlying tragedy of modern UX design is the assumption that removing friction universally improves the user experience. But friction is the texture of reality. And perhaps some baseline level of conversational friction will always exist simply because we prefer a gradual, laborious diminishment of information asymmetry over a sudden, blinding dump of omniscience. In our relentless pursuit of an omniscient oracle, we stripped away the one thing required for human intimacy: the agonizing, beautiful wait of watching someone else struggle to find the right words. Because ghosts aren't scary because they are dead; they are scary because they are trapped in time, waiting in the dark with us.