Jon Kyle  /  Writing

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 may seem like just the beginning, but there’s a long history. The latest cycle of an ongoing idea. Using time as interface to adjust the drip-rate of things we want to remember.

Specifically, things with links.

It could be an Instagram profile, side-stepping their algorithmic feed that often hides what you follow, and showing ads more frequently than what you truly want to see.

Or it could be a personal homepage. An artist, or writer, or someone generous enough to publish archival knowledge. These aren’t frequently updated, but are beautiful and expressive representations of someone’s practice. The type of thing that may sit in a bookmarks folder for years and never get any attention, even though a brief glance may bring some joy.

Some apps like Twitter provide a chronological feed. These work if you don’t follow to many profiles, and inherently reward profiles that post the most frequently, leading to a lot of noise from the same suspects, and quieter voices being drowned out. Early testers of Cycle love following social profiles for these reasons.

Some things you may check too often, like the news, and simply adding your usual sources set to once every day or two helps to reduce fomo, as you know it’s only accessible in your daily digest once until visited, then hidden for the duration of the cycle, and will re-appear when that time passes based on how you’ve prioritized time relative your attention.

Some of us may have a massive archive of favorites, research, or otherwise. Things get lost in the expanse. Add a few of them, like some Are.na Channels—your own, or those of others—and set it to a few months. What a nice little treat one morning!

If you want to join the fun, feel free to request an invitation.

First Iteration

The first iteration of the idea was called Hardly Everything. In-fact, after not being touched in five years, it’s still humming along, with a modest number of dedicated users.

Part of the stability is due to there being no services. This is going to get a little technical. Data is managed by the user using Local Storage—a browser API that enables your data to live with you.

Or more specifically, your browser.

This decision was made in response to centralized platforms owning your data. Your data, in a sense, is you. This also simplified the engineering, as no databases or backend services were required.

However, this introduced friction. A recent conversation with someone who continues to use Hardly Everything on a daily basis mentioned his weekly habit of manually backing up all of the data to a text file! A poetic gesture, maybe, but not a common solution.

This had the additional disadvantage of data only being accessible in the browser used to create it. You couldn’t access your data from desktop on your phone, or vice versa.

One critical feature—a reminder—was not possible, as there was no way for a backend service to query user data and send a friendly notification or email on days when fresh links were resurfaced. A notification is critical—the idea fundamentally does not compete for your attention, and instead hands it back to you.

Despite all the friction, people still found it handy, and it continue to recommend it.

Second Iteration

Some years later, the idea cycled back around, ripe for revisiting. The core focus was to address mobile. Hardly Everything worked fine in a browser, but did not particularly excel on the phone.

This was due to issues of data portability as mentioned before, along with the interface. Creating a native app would ensure the interface felt great to use, with fluid gestures and the affordances of (then new) SwiftUI.

Building natively also enabled sending a push notification on days with fresh links.

Data ownership remained a priority, as did enabling synchronizing across devices. This was built on Apple’s CoreData API. It worked well for native apps, but the javascript browser API and documentation was a mess, and does not see much (any?) use.

This was all great—if you owned an Apple device. Specifically, an iPhone. Creating a desktop app out of the iPhone app wouldn’t require a total rewrite, but would have been substantial work.

Another set of compromises. And another name. This time, it was called Kawara, after the artist On Kawara who is regarded for the “Today” series of date paintings; canvases simply containing the date.

Learnings

After these two iterations of the idea a few areas of improvement became clear with time.

The first being awkward names. That was an easy fix. Cycle is self describing. Bookmarks that cycle back around.

The second was a series of technical decisions made with the technology front of mind and convenience of implementation, both at the expense of user experience.

Prioritizing data ownership was (and still is) a great thing, and a tool for doing so is planned. But when it comes to sequencing, the first priority is creating a frictionless user experience for saving and accessing links across all devices. Simple as that.

Cycle Beta

With these observations in mind, the third (lucky number) iteration on the idea is Cycle. Basically, it fixes all that shit mentioned above!

It just works, everywhere. Your browser, on desktop or phone, and as an app on every device by simply tapping “add to homescreen” or “add to dock”, depending upon where you’re at. It works really, really well. More on this in future Discover entries.

Login and connection is drop dead simple. Your data is in a database, yes, but it’s accessible everywhere, and export and a basic API are planned.

HardlyEverything will live on in perpetuity, so long as browsers continue to render it correctly. Kawara has not been accessible for some time, as Apple’s App Store requires continuous builds and approval requests with incremental versions of iOS.

Time as an Interface

There’s a lot of wisdom to find in nature. And nature is full of cycles. Night turns to day, with a period of rest between the two, where your mind and body recover. Imagine never sleeping!

Summer turns to winter, the old falls away and the new emerges. A micro expression of of solar cycles, the Earth around the Sun, the Sun orbiting the galactic core. It’s wild stuff.

Time is the only truly scarce thing. We’re all familiar with attention economics. So it seems there’s a lot to explore interacting with time, and timescales, and loops and rhythm.

Tools that involve time are, dare we say… timeless. There’s too much to write about here. Plans for future Discover entries will expand on the expanse.

Future

The focus is to keep the focus, but there are some clear improvements to make. For now take a look over here. And of course if you have any ideas or feedback, please feel free to reach out.

This was originally published to the Cycle log to coincide with the limited beta release. You can join the waitlist by navigating to Cycle.

This entry was written in 2020, at the start of the pandemic, and reposted here for archival purposes. Anyway, I’m not here to make a point. Just meandering after going down a TikTok hole.

This is a quick ramble about Parametric TikTok — a pattern shaped by the recommendation algorithm where creators make viral formats and bombard them w/ variation, not unlike processes seen w/ GANs and style transfer.

My favorite instance of this is Little Durag, who created a viral dance and proceeded to feed it input sourced from comments. There are plenty of other instances, including imjoeyreed. Durag stands out for how the comments are literally weighted.

“Dance at 10% with 100% emotion.” “0% dance, 0% emotion, 100% far away.” “100% dance and 100% sadness.” “10% emotion, 100% dance.” “100% right arm, 10% left arm.”

What’s interesting is the feedback loop between how parametric the creation of these videos are and the TikTok algorithm—itself a weighted system.

The killer feature on TikTok is the algorithm. The sauce determining what appears in For You, the primary surface. It’s noticeably better than anything similar, like Instagram Discover. Apps are mediums of their own. What is appropriate for one platform may feel out of place on another. The context shapes the content.

Parametric TikTok is truly native to the platform.


Parametric TikTok is a symptom of its parent platform, similar to early Mr Beast on Youtube. Let’s call it Analytic Youtube. My absolute favorite is the 2017 durational work (lol) “Saying Logan Paul 100,000 Times” in which he says Logan Paul 100,000 times over 17 hours.

https://youtu.be/_FX6rml2Yjs

Youtube is a platform aggressively shaped by numbers. Big numbers. No surprise this performed well. Today the work has 16,492,195 views. Hear me out; this shit is profound. He takes the aggregate behavior of 100,000 Youtubers and performs it in one go. Call it “The User is Present” or whatever.


We live in an increasingly parametric world. One easily consumed and shaped by models. It’s funny to think about how these TikTokers are normalizing “parametric design” in a sense.

For instance, within architecture, a site condition is established and permutations in form are generated. The design processes becomes curatorial. Many practices today are centered around these principles of parametricism in response to advances in fabrication; the tools and materials at hand.

We can say this is nothing new or novel. It’s just more evenly distributed now. In other words, fuck your process, I’m just making TikToks.


In the near future I expect to see way more ML video processing beyond face filters. The emergent behavior of TikTokers feels like a warm up for this super automated future. A convergence between inevitable functionality and what creators are making today.

https://youtu.be/PCBTZh41Ris

Snap has shipped filters which map your face on to animations that make you dance… this is not what I’m trying to point out here. It has more to do w/ creative process and how the platforms shape the work created and shared within them.

I wonder how much of Parametric TikTok’s novelty is thanks to interpretation. If we had trained a model on Little Durag’s dance and curated the best 10 out of 100,000 permutations would it hit the same? Even assuming they were indistinguishable from the originals?

By the time it’s possible I assume the novelty will have worn off. Similar to how anyone who has grown up with the artificiality of facetune can see right through it. I am curious to see the unexpected ways these future applications of ML on platforms will continue to shape what users create and share.