Development, design & everyday life
Search
Find something to read through keywords, categories, and tags.
Primary category
Tags
Search and filters need JavaScript. You can still visit the blog to read all articles.
Browse all articlesBeyond the AI Look: The Details of Interface Craft
Original visual studies of rings, hairlines, image edges, avatar stacks, wrapping, numbers and motion—making interface boundaries, spacing and feedback work together.
One blog, from Next.js to SvelteKit to Astro
Two migrations kept aron.tw's appearance and features while cutting external search-page JavaScript by about 90%. Here is what became simpler, what still needed code, and what the navigation measurements actually show.
Spring Breeze Shokudo: run a restaurant, get to know a street
An introduction to the pixel-art management game I developed, where shopping, menus, weather, staff, and regulars shape the day's business—and closing time leaves room to talk.
When AI takes on the work, what should SaaS charge for?
Klarna's costs, Fin's billing definitions, and Pilot's human review reveal how software firms choose a deliverable—and why a customer's savings do not automatically become a supplier's profit.
More apps. Who connects the work?
Each tool can do its own job while people still move information, reconcile dates, and chase progress between them. A new interface earns its place by taking on that coordination.
Native CSS @function: calculate a value, then examine its failure modes
A spacing function explains arguments, call-site evaluation, and result. It also shows why a bad argument may not fall back to the previous CSS declaration—and when adoption is worth it.
What is this utility still doing for you?
Native APIs can replace some package uses without preserving every behavior. A null value, Node's built-in capabilities, and npm downloads help distinguish removable dependencies from useful ones.
AI can build it. Why would anyone switch?
A booking page is ready, but rescheduling still means updating three separate records. That is where I would start deciding what the product needs—and which AI feature can wait.
After AI writes the CSS, a framework still has to survive the next change
The first product card is easy to demonstrate. A new brand, a sidebar placement, and intact sold-out and focus states reveal more about a tool's value. CSS history helps explain why.
The native CSS @mixin draft: passing a block of styles to its callers
A mixin reuses declarations and nested rules. A card and a notice show what @apply, parameters, and @contents contribute—and what a shared class can already do today.