2025-26 was a (school) year of calibration

As I chronicle what 2025-26 was like for me and my apps, keep these details (that I only learned later) about my peers in mind.


Last summer, I got bored with my app Tangent and annoyed with its users, and decided to redesign it as a "computer". But I wanted to abandon it halfway through because I realized that putting everything in one tab makes tabbing into a specific part of Tangent really hard. I technically finished it for Summer of Making's sake while I was much more interested in a different route: making each app separate.

Of course, there would be insane duplication if each app was truly separate. So I made a library called Monoidentity to handle auth and storage. Auth was, as usual with my apps, with StudentVue, although I wish I knew these things earlier:

Storage is a very powerful primitive if done right. The way Monoidentity did it, apps got local storage + global reactivity + optional syncing with an R2 bucket. My note taking app could literally do bind:value={fs[path]}. Syncing and debouncing got very complicated very quickly though.

Some software is goal-shaped with very clear requirements, like "get these tests to pass" or "match this contract" or "make a disposable visualization of this data". In contrast, Monoidentity was foundational and personal to me (and also a rather weird library), so AI was rather unhelpful when developing it.


So I started building with Monoidentity, porting everything important out of Tangent. The class dashboard was called Secant. The AI was called Cosine. And the Obsidian emulator was called Cobblestone.

Things were mostly fine but felt off. A little was the isolating effects of high school and my (antisocial) adaptions. Another part was the awkward dance of configuring and logging in each app - I tried to break Monoidentity down into its individual pieces to solve this, so apps like Cosine could just use the filesystem primitive and Secant could just use the identity verification, and I later tried unifying all apps into one called Trigonometry. But most of it was the sheer silence, at least compared to the baseline care I was used to.


A few months ago I switched to my personal laptop. I've been reconsidering what things I should be making since. But there's only one person I can defend making things for: myself.

This has humbled me. What once was thousands of lines of code for a next generation live syncing Obsidian client is replaced by just using Obsidian. What once was planned to be your hub for the day, tracking from the bus there to breakfast to classes to lunch to classes to the bus back, is now just something I open when I don't want to wait for Schoology. And what once was planned to turn into an agent platform, testing cost-efficient ways to run arbitrary code, stays as a simple convenient AI wrapper.

But I can't say I didn't learn anything, and there's some threads around passive intelligence I still want to explore. Only problem is that I already have personal tools (like my watch face and janky Obsidian automations) that do "passive intelligence" well enough already, so the reward's much smaller than the risk of possible burnout. It'd be like handling all your email through Poke when you already have Fastmail (one of the best mail clients) working fine.

More posts