applet.dev
19.06.2025 06:23 — 👍 1 🔁 1 💬 0 📌 0@k7d.dev.bsky.social
Building https://applet.dev • co-founder @whimsical.com
applet.dev
19.06.2025 06:23 — 👍 1 🔁 1 💬 0 📌 0Did LinkedIn just discover multiverse?
15.02.2025 04:45 — 👍 2 🔁 0 💬 0 📌 0A couple of years ago, we gave this as a Christmas present to everyone at Whimsical. It was a metaphor for our journey. I was skeptical at first, but as you can tell from the scratches, it's now my favorite piece of hardware.
13.02.2025 15:04 — 👍 0 🔁 0 💬 0 📌 0Leatherman is a proof that all-in-one tools can be truly great, as long as the craft and quality bar is high.
13.02.2025 15:04 — 👍 4 🔁 0 💬 1 📌 0Today, I'm excited to share this story with the world. We call it, The Whimsical Way. whimsical.com/whimsical-way
13.02.2025 04:50 — 👍 1 🔁 0 💬 0 📌 0Whimsical didn't start with the product.
It started with the philosophy of how a modern business should operate.
The philosophy directly shaped the product. The product in turn helped us to further embrace the philosophy, so we could build more, better and faster. 👇
With Projects and Posts, Whimsical now offers a truly unified hub for teams. Since day 1, it has been our dream to transform how work happens - fewer distractions, more substance. This is a big step towards that. Super proud of the team making such a complex product a reality.
05.02.2025 16:03 — 👍 3 🔁 1 💬 0 📌 0Experienced major culture shock from an episode of a Korean TV show where kids spent the whole day at school studying. Literally, an entire day, leaving school at 10pm. Is that normal or exaggerated?
08.01.2025 07:59 — 👍 2 🔁 0 💬 0 📌 0Over the last year, we’ve been working on 2 new products: one takes Whimsical to the next level and the other is entirely new. Can’t wait to reveal more.
07.01.2025 13:48 — 👍 1 🔁 0 💬 0 📌 0Unobvious LLM hack: if you ask it to process a lot of input (such as summarizing longer content), it will often "forget" some of the instructions in system prompt. The workaround is to attach the instructions to user prompt instead, after the content. Works much better, at least with Claude Sonnet.
06.01.2025 07:57 — 👍 2 🔁 0 💬 0 📌 0How do you deal with AI generating shitty code, either too verbose, or not following existing patterns? Especially common when using multifile modes like Compose in Cursor or Cascade in Windsurf. I guess I should just get over it for a sake of productivity but it's a struggle.
20.12.2024 12:04 — 👍 3 🔁 0 💬 1 📌 0Yeap, thinking of trying Drizzle for my next experiment. I'm still not sold on `undefined` though, property not existing and property existing with undefined value is not exactly the same things. I also managed to actually get bitten by this behavior.
20.12.2024 11:59 — 👍 0 🔁 0 💬 1 📌 0I still ended up resorting to raw SQL for bunch of queries and schema updates because of limited SQL support. Prisma's client generation in node_modules is opaque and causes pain with deployment. And as I just learned, despite all the typing, it can still be unsafe.
20.12.2024 04:48 — 👍 0 🔁 0 💬 0 📌 0I've stayed away from ORMs for more than a decade but figured I'll give it a try to see if things have improved. I do appreciate the benefit of typed models, schema management and ease of use for common-case retrievals. Yet..
20.12.2024 04:48 — 👍 0 🔁 0 💬 1 📌 0In Prisma ORM, if some query parameter is accidentally `undefined` rather than `null`, it will be ignored, resulting in a query that returns all records. If this param is something like `userId` you can imagine the consequences.. 🤦🏻♂️
20.12.2024 04:48 — 👍 2 🔁 0 💬 2 📌 0Art exists to be made
13.12.2024 20:54 — 👍 1 🔁 0 💬 0 📌 0No.
13.12.2024 07:59 — 👍 0 🔁 0 💬 1 📌 0The taste factor in programming is seriously underrated
12.12.2024 08:22 — 👍 0 🔁 1 💬 2 📌 0Adding pointer cursor to all my native app buttons like a pirate
11.12.2024 17:40 — 👍 0 🔁 0 💬 0 📌 0Here we go
11.12.2024 16:17 — 👍 0 🔁 0 💬 0 📌 0Spicy take: the trend against pointer cursor for buttons to make web-apps feel "more native" is harmful. Sure, originally the semantic meaning for pointer cursor was "link" but for average person it has long evolved into "something clickable".
11.12.2024 15:41 — 👍 1 🔁 0 💬 0 📌 1Views in SwiftUI are objects, aren't they?
10.12.2024 07:42 — 👍 0 🔁 0 💬 2 📌 0For comparison, same code in SwiftUI. It's also OOP-ish, however the combo of language features and framework design achieves a better result. The logic is more logically grouped and much easier to read: gist.github.com/k7d/81109aa0...
10.12.2024 07:03 — 👍 0 🔁 0 💬 1 📌 0My biggest gripe with Flutter is the verbosity, which makes it hard for humans to read. This seems mostly due to Dart limitations (cost of syntax simplicity I guess) although OOP-based frameworks in general tend to have this challenge. Here's a typical example: gist.github.com/k7d/b1de9b96...
10.12.2024 07:03 — 👍 0 🔁 0 💬 2 📌 0For a contrast, I also tried rewriting Tomo in SwiftUI, but ended up stuck, because SwiftUI expects apps to follow specific UI patterns, and I couldn't figure out how to step outside those boundaries. Paradoxically, it was much easier to do in Flutter because it is using the older Cocoa framework.
09.12.2024 14:06 — 👍 0 🔁 0 💬 0 📌 0Overall, it ended up being a success. While Dart, the language, is not my cup of tea, Flutter turned out to be surprisingly robust. You can find the source code for Tomo here: github.com/k7d/tomo
09.12.2024 14:06 — 👍 0 🔁 0 💬 1 📌 0This summer, while on a sabbatical, I wanted to explore the state-of-the-art of building native apps and Flutter in particular piqued my interest. While it was originally designed for mobile, the desktop support seemed quite solid by now. Anyway, I figured why not try to rewrite Tomo in Flutter?
09.12.2024 14:06 — 👍 0 🔁 0 💬 1 📌 0Originally I wrote it in ClojureScript, wrapped in the native webview with a custom bridge. While it worked fine, there were some odd performance issues with webview that only surfaced after a few days of usage. I never managed to get to the bottom of it.
09.12.2024 14:06 — 👍 0 🔁 0 💬 1 📌 0