Jon-Kyle Mohr

My open practice centers on perception, environment, interaction, and interface. It requires design and engineering, and often leads to creating tools for publishing and connection. I was the founding design engineer at Cargo (Collective), then Co-Founder and Head of Product at Mirror.

Learn More

Location
Los Angeles, Calif.

Share Are.na turns an Are.na channel or block into shareable images.

I wanted this for myself for creating images rendered in Are.na’s block style. Paste a link, slug, or ID and the block is composed onto three social formats. This should be a share sheet in the native app, or a modal in the web app. My approach here is inspired by Yihui, who created an extremely great Are.na native iOS app when the official app was struggling. He then created the new, and extremely great official Are.na iOS app.

Instead of making a feature request, make a feature demo. Describe what you want in detail, connect it to the Are.na GraphQL endpoint, then prompt your way to a functional app. Scratch your itch in the near term, make it available for others, and if there is demand there is a chance it lands officially.

In terms of build, it’s a fully static self contained app. It uses the read-only public API and generates assets client side. You can download it and hack away. Cheers!

          
      
          
      
          
      
          
      

You first see it from a distance. A concrete slab spanning the boulevard, across the flow of traffic below, drawing the eye above. I like the building. Its simple forms and material use. You can often reveal more by doing less.

This sense ends once entering the space and looking at the work. The building overpowers it all. Viewing work against the unfinished concrete walls strains the eye. Robert Irwin, when producing large abstract canvases nine miles to the west and sixty years in the past, fell into an obsession with cracks in the wall. The effect it had on the perceptual quality of the work. This building would be his nightmare.

Glass envelops the volume, natural light spills in from all angles. I prefer natural light when viewing work, but only when diffused from above. The Dia Beacon sets the gold standard. But from the side? No thanks. Oil canvases become unviewable due to glare. LACMA tries addressing this with fine drapes, strategically missing in areas as to not obscure the view of the surrounding hills. A complex and distracting moire pattern appears when drapes overlap.

Wandering the floor leads to disjointed confusion. One moment you’re looking at Egyptian artifacts, one unguided turn and, surprise, a Monet. It becomes evident that the openness of the space has been designed around the view outside, not what’s on view inside. Line of sight for the camera takes priority over seeing the work. Los Angeles is the land of the image, no exceptions found here.

As disorienting as this is, sometimes luck finds you. A Studebaker sits in the sunlight in cherry condition. Beside it a low plinth covered in layers on layers of auburn lacquer. Flecks in the paint reflecting the horizontal rays in all directions. Outside the exterior glass, parking lots full to the brim. A room dedicated to Finish Fetish hovering above gridlock traffic on Wilshire Boulevard… I’m into it.

Continuing to meander, I hook a left. “Plastic ‘is in essence the stuff of alchemy’, wrote French cultural critic Roland Barthes in 1957, invoking the malleable material’s almost infinite transmutability.” I’m excited about this. “Plastic” is my favorite essay by Barthes, and I think of it frequently concerning material use. Specifically when designing interfaces for screens.

The room was full of plastic objects, many produced in Southern California. A breastplate cast in plastic by Issey Miyake. A naturally unnatural object to exhibit in Los Angeles, the land of plastic tits. The air conditioning gently excites a dangling tapestry. Nylon monofilament, multi-layered nylon micro-slit film, aluminum vacuum-coated polyester, titanium-oxide vacuum coated micro-slit film. Now that’s the stuff.

Small Cloud Box refracts the dim overhead light. A cast resin cube by Peter Alexander. June gloom, in a cube, in a room, in a museum, in June gloom.

Performing beneath “Smoke” by Tony Smith
Performing beneath “Smoke” by Tony Smith

Exiting down the stairs back to street level. My last time seeing “Smoke” by Tony Smith was when performing beneath it over a decade ago during an evening of Dublab Programming. It was the focal point when entering the original William L. Pereira structure. I remember being instructed to carefully negotiate movement around it. Now installed outside, fresh bird shit bakes in the afternoon sun on the tessellated black surface. I like the increased accessibility.

I also like the building. But it’s terrible for viewing work. A building for the image.

Cross the courtyard and up the escalator to the Broad contemporary. Magritte’s “The Treachery of Images (This is not a Pipe)” on the opposing wall. Part of the permanent collection, I had first seen it shortly after moving to Los Angeles. A pipe painted on a canvas, with the words “this is not a pipe.” I remember reading about it. “An image is simply a representation of an object, not the thing itself.” This was a new idea to me. Simple but true. Seeing it now, I think of how often a thing is confused for something it isn’t, and how this confusion moves and changes through history.

“The Treachery of Intelligence”

The Guston hits. Love to see Sol LeWitt. I’ve never seen a copper Judd wall box. A canvas with three horizontal lines. Two white, one yellow. Robert Irwin. “I painted a total of twenty lines over a period of two years of very, very intense activity.” The best. I hadn’t seen any Bob since some scrims at the Dia. “Seeing is Forgetting the Name of the Thing One Sees” is an all time favorite. Don’t call it a pipe? Don’t call it intelligence? Just see.

Ducking behind a black curtain, feeling my way along the edge of a hot, loud, and deeply dark room. Towering machines with light spilling out of them consume miles of film on display, zagging all over the place. The mechanical complexity and precision of these old analog machines reveal the mechanics of the image. I’ve never seen analog projectors of this scale this close. I see what inspired Paul Virilio when writing “War and Cinema: The Logistics of Perception.” How the mechanical advancements of the automatic machine gun made possible the motion film camera. Both shoot, one a round of bullets and the other a canister of film. The mechanics largely the same. One leads to the other, feedback takes hold.

War and cinema. War and image. I think back to Magritte, and how my mind continuously wanders these days to the nature of intelligence. This afternoon plays out as the government puts export controls and is revoking access to the latest foundational models like Fable, Anthropic’s flagship model. War and intelligence. How does intelligence fit into all this? We’re presently at an equivalent moment to when projectors were the size of rooms. Images no longer static, no longer paint on canvas, but put into motion. Tricking the eye into seeing something that isn’t there. Seeing a thing for what it is can be quite hard.

At least twenty minutes have passed since entering the room before looking at the images being projected. Violent images, none of them real. Just images. I watch the volumetric light made visible in the haze.


Thanks Mag for reading a draft of this.

It is VERY IMPORTANT to feel the wind. It brings to the surface what is always true. A medium we all move with and through. Is it a headwind? A tailwind? An absence? A presence? Do you feel the resistance or the push?

Get a bike and you increase a sensitivity to air and wind and body. At first when you’re on the bike, then increasingly when you’re off the bike. A crucial shift in distance and duration uniquely through an exchange between the biological and the mechanical.

Riding as gesture towards not being one to participate in “the forgetting of the air.” Bike as tool for awareness of the air. The wind. The arch-mediator that mixes everything together. “Air never takes place in the mode of entry into presence, except in the wind.” Movement into presence. Thanks, Frank.

You find yourself in places you have no reason to be, other than the route affords good riding conditions. Less traffic, better surface. You may pass a 7-11 playing very loud classical music through cream-colored speakers mounted streetside. You might stand there listening for some time. A path terminating at the port, the scale leaving an impression of awe like the granite walls of Yosemite.

Walls of fragrance. Clouds you’d be shielded from behind the glass of the car. Blooming jacaranda. Water reclamation. It all hits. Want to pick a route? Follow the nose. Bring a friend. Bring two. Bring twenty. What’s another plate of pasta and glass of Boulay?

Sit atop the saddle and let the scene pass by.
Blink and the day has passed by too.

Are.na is teasing an RSVP app at rsvp.are.na, where you connect with Are.na to RSVP to events. I have thoughts on this.

rsvp.are.na
rsvp.are.na

In trying to explain Are.na, I often return to an infamous channel. “How do you describe Are.na at a party.” It’s quite funny, because like most all things good, Are.na is undefinable. Particularly at a party where no one is on Are.na.

But if you asked me, I’d say Are.na is less about the interface, or the functionality. That is all necessary in support of making Are.na possible. But it is not Are.na.

It’s the set of values, principles, and the people who connect them that makes Are.na what it is. People defining and occupying a space where they draw connections between what they love and value and care for.

So if you go to a party where the only way you can attend the party is to be on Are.na, you don’t need to answer the question of how do you describe Are.na at a party. Everyone knows. It’s in the air. There’s built-in connection and shared context.

This is in stark contrast to something like Partiful, which is for absolutely everyone and no one simultaneously, like many apps and platforms. No signal. Just utility. Just an interface.

Don’t get me twisted though. The interface for Are.na and the mobile app is critical, and has recently improved drastically. I find myself using it more often as the ergonomics fit into my life better. The updated web client optimized around speed and performance set the tone. The mobile app ran away with it. But I wouldn’t say it’s the differentiator here. That’s the utility. Are.na is the people.

But of course, examples of pure utility and interface exist which feel deeply connected to the principles and values of Are.na. The attributes that give it that quality. Single-player tools like Obsidian come to mind.

So what’s the difference?

Partiful is going about it funded by venture capital, playing the blitz-scale playbook. Are.na is supported by the people who use it through subscription. There was an early equity crowdfunding campaign, but most of the contributors were already users, and it was a pittance compared to the typical venture check.

It’s impossible for Are.na to be that venture backed blitz thing. Why? Because you can’t scale the care and the love for something in a way that you can scale the pure utility of something. Love isn’t legible to capital. It’s not a resource you can extract. Obsidian feels similar. It’s pure utility, but a sense of love keeps it focused for a specific group of people on the receiving end of the tool.


We’re at this moment where “pure utility plays” can be spun up so fast. You have a thought, and the next instant you can interact with it. This can be lighthearted play, or nefarious attention-fracking. The hard thing is defining the principles and values you hold, and sticking with them long term in the way Are.na and Obsidian have.

For them, it doesn’t matter if the user-base scales beyond a very reasonable place where sustainability is achieved. You actually don’t want everyone becoming a user. You want a narrow group of people who get it.

One of the biggest challenges for Are.na is how not to scale at a certain point. I could see Are.na getting flooded with people trying to RSVP for certain things, but it’s not very likely, as RSVP isn’t core to the utility Are.na provides.

All this makes rsvp.are.na quite interesting.

I’d be interested in seeing how the Are.na context could be used to shape the RSVP process. Allowing only those who’ve had an account longer than a certain period of time. Or a certain number of channels and blocks. Perhaps a certain number of connections from others. You can only RSVP if you attach a channel to your request, and it is reviewed to inform approval. I can see how these requirements could lead to certain social traps, too.

I’m curious to see how this may or may not continue to be developed, released, and used. The tool itself is simple. You can connect the Stripe API to a vibe-slopped version in minutes. Or simply use Partiful. So why use it at all? For that same indescribable quality that makes answering how do you describe Are.na at a party an impossible thing.


I personally want to use this for a writing/reading group I’ve wanted to begin for years and years. The focus is Trip Reports. Time spent in movement. On foot, on skis, on bikes, whatever. Looking at it with deep perceptual awareness and appreciation for environment. Often trip reports live as carousels on Instagram with a brief caption. I want to know what actually happened, and I want to be able to riff with you and ask questions. Maybe eat some snacks, too.

Make it a picnic. Some picnics are writing-oriented. Other picnics are reading-oriented. They can switch. Long live Are.na.

Sometimes you just have to sit on it. These loops were sat on for three years. Recorded in June Lake in the Eastern Sierra during the first winter storm of the season over a day or two.

Snow just starting to fall. Watching it wrap around the contours of the hillside, falling past the windows. Eddies kicking up and carrying on down the street. The single pane glass no good at insulation, but great for shaking in the gusts, sonically signaling when velocity picked up out there, giving a connection despite being in here.

Making a loop takes devotion to repetition. It goes nowhere. If it’s good it takes you somewhere, though. Doesn’t evolve or change that much. You have to sit on it. A loop can be done as soon as it starts. That’s how these settled. Pretty quickly, but they didn’t feel done until now, although nothing changed, nothing happened to them between now and then. Can’t say the same about me. I guess that’s what it took.

The sound loops are paired with visual loops. Positioned and scaled by chance. Tap to intervene. Never the same twice. Listening now, as summer sets in, looking at the San Gabriel, it sounds like winter setting a few years back, looking at the Sierra. Seasons, repetition, all that, sure enough.


You can download the tracks, the video, the source for the interactive player by tapping download. You don’t need to install anything. Just drag the index.html file into your browser. If you want to fuck around, make it your own, replace the videos, replace the tracks, drag the folder into Claude Desktop and start describing the changes you want to make, remix it, whatever.

Have it it.

300 miles, 41 hours. 6 friends on foot, 4 crew. When you get asked “want to run a relay race from the beach to Las Vegas” one possible answer is no, but then none of this would’ve happened. Gather in the lot. Heavy eyes but we snap each other out of it. Rough idea, we head out.

Cold front spilling down Newhall pass, headwind like a hurricane climbing into the desert. Sand blasted. Hop out, run, handoff, hop in, again and again and again and… a lot of movement, a little progress.

Ruffles and Electrolit never tasted so good. Pour the crumbles over me and let me bathe in it. Dirt naps never last long enough. Dogs bark as the sun dips heavy, headlights rip past while hugging the shoulder. Moonlight illuminates folding terrain as the chaparral cast dancing shadows.

Sunrise. Heavy duty trucks aren’t supposed to fly like that. Any snapped necks? Somehow not. On the feet, on the toes. The other truck tosses in the hat and I might not be far behind. Tow it in. Sleep? What sleep? Nap here, nap there.

Roasting under power lines in the mid day. Where do they lead? Doesn’t matter. Another step, might as well be for eternity. Only this, always, forever, why not? Earth spins beneath our feet as we fall eastward towards the light. Forget the plan. Whoever has legs toss yourself out of the truck bed and get moving. Sprinting or crawling, whatever way it goes.

A special serving of 50 miles for each. Exiting the void, entering the mirage. Here it is, take it. Meandering the casino floors in a daze. Casino bathing in the style of forest bathing. Let the dust settle. There is always something to Learn from Las Vegas.

How I work today looks very different than it did a year ago. Or even a month ago. I’ve always been a generalist. Design was the gateway—making visual things. Making things interactive lead to a technical proficiency and learning how to program. This is now called “design engineering,” but the motivation was to do whatever necessary to see an idea through from conception to completion.

Not thinking along discipline, but intuitively doing what is needed to see a project through, is the direct result of my schooling experience.

I stopped attending school at age ten. Fifth grade was the last of it. We tried homeschooling, and I briefly had a curriculum, but I was online, and it quickly became purely interest driven. Loosely inspired by Montessori, but effectively unschooling. Not learning as defined by topic, but by curiosity and interest.

Because of this, I feel like I’ve been doing the same thing along a continuous meandering path since that time. It was only possible by having direct access to the open internet, and the ability for anyone to self publish permissionlessly. This enabled following my nose through everything and anything.

I’ve felt a similar increased ability to run while using nascent tools for programming assisted by AI recently.

Being a generalist and generating connections across wide ranges has guided me to leading product at startups I’ve either co-founded or joined as senior leadership. It involves many parallel feedback loops of direction and review. “Prompting” in a sense. There is a lot of gluing things together into a cohesive whole. Doing it effectively requires a deep understanding of everything a product requires—ideation, research, design, engineering, positioning, operations, etc…

I’m typically involved in the early and final stages of everything. Conception, polish, and giving the thumbs up. Call it the first and final 15%.

Finding myself in this position is a reflection of being a generalist with a slight “T” shape for design. Everything is driven by the idea, and I do whatever is necessary to enable the idea’s existence.

I love working with a team. A strong collaborative partnership that clicks is a gift. AI is not going to replace that.

But there is a kind of magic when you’re in the zone. Trying to keep up with an idea and holding on for the ride. AI tooling has recently gained the ability to do that middle 70% of execution remarkably well. Of course you have to lay the groundwork and follow it up with polish. But it’s exceptionally good at high velocity work with someone leading the product with care.

Working in this way has become known as “vibe coding.” A term that checks out. It’s very intuition based. Kind of like sailing. You’re at the helm, and you set the direction, but how the AI responds influences the path you take, just like the sea. It reveals things along the way you may not have stumbled into otherwise.

Currently I’m using Cursor, Claude Code, and Devin to work on Cycle. I’m not a great backend engineer, so I’m using it to write database migrations and API endpoints. I can pull down generated types from Supabase and reference the schema when using Claude Code to make a pull request with entirely new surfaces. Yes, it often takes a few hours of finesse to get it where I’d want it to be, but compare that to a week or two working with a team and the latency of revisions.

To my unschooled brain the ability to observe the AI is my greatest excitement. When working with a team you often must delegate. Many find this difficult. There aren’t enough hours in the day for you to do it all, and it’d drive anyone mad being on the receiving end of someone hovering the entire process in order to sponge it up, or asking for a detailed explanation of each decision to satisfy curiosity.

When prompting AI you see the process dictated in real time and are able to follow along. You see the logic playing out. You can ask for detailed explanations after a result has been generated. You can zero in on specific areas of personal confusion. It helps you better understand and think about the product you’re creating.

There is a misconception that the primary affordance of AI is increasing velocity. Of speeding up arriving at an output. In a sense this is true, in the same way a pencil speeds up your ability to make a legible mark on paper. But it is also a remarkable learning tool. You can ask limitless numbers of questions to satisfy your curiosity without, well, driving it nuts.

None of this is without contention. I have no idea the implications of what this means for labor, creative or otherwise. I don’t believe being a cog in the machine is sustainable. That detached phone it in mentality. The places where it’s possible will not exist much longer. Maybe that is ok. I don’t think it’s good to feel detachment from what you’re doing. It’s good to care. It may be difficult, and you may experience disappointment and pain by doing that, but it’s real. It’s important to be hopeful, and that involves risk, as does anything good.

For now, I’m continuing to follow my nose.

This was a once in a lifetime evening in the local mountains of Los Angeles. Sometimes it all lines up. This was one of those times. Two days of snowing in the San Gabriel with a weather window during a clear night. Turns out there was also a total lunar eclipse. What! @_alex_reed and I drove up with the hope of skiing powder turns with the city lights beneath us. We aimed it at Crystal Lake not knowing how coverage truly was going to be, and a looping route covering 16mi and 3.5k vert drawn up the night before.

We began, skins on (no joke), at Crystal Lake at 9pm. Climbing up to Windy Gap was illuminated by the still full moon. No headlamps needed. The manzanita falling over the trail due to the weight of the snow and rime ice. Just had to power through. Some wind board firmness on exposed sections left us wanting ski crampons. The celestial event began as the earth’s shadow became visibile overhead.

Just as we gained Windy Gap the eclipse entered totality. Deep deep red. The glow of Los Angeles below us, the snow reflecting the distant street lamps. No words, truly. We climb and summit Mount Islip. The wind picks up and temperature greatly drops. Can’t feel the hands, feet are drenched from the uphill pace. We duck into the remains of a cabin and transition for the downhill.

I can’t believe we are getting powder turns under a full moon in the San Gabriel. It’s good. Really good. We stay high and aim for Islip Saddle. This is magic. The chaparral begins to poke out of the snowpack as we descend, and just as it begins feeling a little precarious the Silver Moccasin Trail emerges beneath us. We hop on and descend continuously along a perfect ribbon of pow through the brush as the moon re-emerges overhead. It feels like an out of body experience.

Ducking the road closed sign, we hop on the 39—a closed stretch of road continuously eroding along the angle of repose and no longer maintained by Caltrans. The snow is a little grabby at this elevation, and the grade not quite steep enough. We go into pseudo-tele mode. We settle into a zone and crank with massive views of a sleepy Los Angeles basin ahead of us and the most remote corners of the San Gabriel blanketed in white behind us.

We drop our packs and skis at the gate, which comes to bite us after 1.5mi of road walking where we reach another gate. We walk another 2mi to the car, grab it, drive to the lower gate, and walk 1.5mi up to grab the gear and another 1.5mi back to the car. I was mildly frustrated at the mishap as it was about 4am when we realized the mistake. But we warmed up in the car for a few minutes, popped some caffeine pills, and really charged up the road with all the energy and gratitude of the experience we just had. It felt like a victory lap. Back to the house at 7am.

No documentation of the descent because my hands were frozen and I was blissed out. Once in a life-time tour. Words can’t describe. Feeling so fortunate to live here and have a friend in Alex up for so eager to take on the unknown and share peak experiences with.