The most difficult part about the refactor is measuring how deep to go, alongside surface area.
The deciding factor seems to be if I would like to return later on.
by “change your life”, he means build slop no one asked for, sell to other YC companies to inflate ARR, raise 2M from a shit tier fund, get acqui-hired, and waste your 20s
designing in layers
the best software doesn’t overwhelm you on day one or abandon you when you get sophisticated. it grows with you through carefully designed “layers” that reveal themselves exactly when you need them.
think of it like learning to drive. you start with acceleration, brake, steering. you don’t need to know how the engine works or aerodynamics. but as you get more curious about cars, those deeper systems are always accessible, within the same car.
at Notion, we built this philosophy into everything. you could start typing and immediately have a working doc. then add a table. then views. then automations. Cursor does this beautifully too — starts as a code editor that just works, then you discover Tab, then Agents, multiple models, then advanced rules & team workflows. each layer reveals itself naturally as you code more.
most software gets this wrong — they either dump everything on you at once, or kill the advanced stuff so you can’t do things your way. the real challenge isn’t designing each layer, it’s designing the transitions between them. that moment when someone outgrows the defaults shouldn’t feel like hitting a wall. it should feel like discovering a secret door that was always there.
alan kay once said users should be able to “open up the hood” of their word processor and tinker with it. when you design in layers, you’re building that kind of learning environment where users can discover their own potential. the goal isn’t to hide complexity — it’s to sequence its reveal. give people exactly what they need when they need it, and trust them to grow into the full power, pushing the boundaries your concepts in ways you’ve never imagined before.
Recently migrated the open banking platform / virtual accounts engine we developed for banks.
Brilliant decisions.
Stack: Scala + ZIO.
Having trouble with Bazel setup though so still using SBT.
the deeper i go into programming the more i realize that almost everything is just data flow: if you can figure out how the data should flow, you nail 80% of it.
> Designed APIs for a bank to provide us with and also guidelines for them to use when designing their own
> Met with professors at Imperial College to discuss PHD
> Joined a Quant SaaS team
> Developed the interfaces and system structure for an Algo Trading system in Rust
there are v good blogs out there written by brilliant quants/statisticians, that maybe get ~30 views in a good month. the posts are rare & irregular. sometimes they go on a full unfiltered rant on a topic
don’t ask me how to find them I’m gonna pass off their insights as my own
At 12, you believe you have all the time in the world.
At 12, you are delusional. Reality doesn’t set in.
At 12, you don’t realise how much there is you don’t know. Only how much you want to know.
At 12, everything seems so far yet so close.
At 12, the world is yours.
Genuine question: how did all of you at 12 (or whenever you first started coding) not get super overwhelmed when your first tried to make something simple on the computer and realized you needed so much background knowledge to even get started?
New direction in life.
Sometimes, you have to take a solo journey.
Figure out the person you want to be.
Throw money until you look and feel like that person.
Mentally embody that person.
People believe you are that person.
You are now that person.
Watch the benefits roll in.
Finally.
Linear is the most useful thing to come out of 2024, after LLMs.
The next steps would be to see how they could integrate LLMs into the workflow in a seamless manner.
Introducing Linear Mobile.
The compact companion to the Linear system.
Ultraportable.
Fully native.
Built for afk workflows.
Now available for everyone:
https://t.co/Dkc32RweNW