Fresh Reads
Source desk · Blog
Sandro Maglione
283 entries in the archiveNewest: Oct 7, 2026Official site
- TypeScript
Counting time
Stop for a moment, just a short one, to understand and appreciate time. But also to notice a few rules, and to count how much does it really take to get a reward from it.
The Client stack for 2026
You can reduce all the complexity of working on the client to a few core dependencies: TanStack Router, Effect, XState. This is how I use them all, to implement everything on the client.
Effect AI SDK: A lesson in composing programs
Using AI in your app? Once again, effect comes to the rescue. I have been working with the newest Effect AI SDK, and it's a marvel of composing programs, AI providers, and AI models.
Walking your code with AI
AI is establishing solid roots in the workflow of every software developer. I am experimenting ways to write faster code with AI, without compromises on quality. Here is how.
Release fest: Effect, XState, Next, Drizzle
Some huge releases are lurking on the horizon on the end of 2025. Effect v4, XState v6, Next 16, Drizzle v1. My stack is going to evolve, this is how.
Special #100: past and future
Release number 100 of the newsletter! I started publishing every week nearly 2 years ago, every single week on Wednesday. Let's take a moment to look back, and then look forward.
Power creep and mastery
You finally unlock this new weapon in the game. Well, that felt good, for a short while. What's next? I guess the only option is a new, even stronger weapon. What about all the older ones? Power crept.
Creative power and uncertainty
Creative work is rewarding, exciting, harsh, and uncertain. When you explore the boundaries, you befriend failure, and failure is the seed for growth and success. So, why some people prefer not to choose?
A solution for your problems
How hard are your personal problems? You define the parameters, you take action. These two makes your solution, any solution. It's only a matter of reducing your action set.
Long term skills
Time pays back. For everything, always, no matter what you do. But how high is the return on investment? And for how long? Let's make time spending a conscious decision.
How to guarantee failure
In essence: You fail if you stop. But there is more. Even if you work hard and never quit, you will fail if you never adapt or chase the wrong target. Here is how to fail, or how to avoid failure.
Turning Pro
What does it take to 'turn pro'? The answer is long hours, years of intensity, uncertainty, and sacrifice. You are not a 'pro' based on your skills, it's all about your routine.
Start: The Nature of Hard
Not many things are hard, really. Indeed, all skills, regardless of their complexity, are the result of consistent effort. And consistency requires starting, every day. This is 'hard'.
Time investment: How it works
Time is the ultimate currency. All your skills and accomplishments are the returns of your time investments. Do you know how to manage and optimize your time? Here are the core principles and pitfalls.
Principles of Uncertainty and Time
Choosing is something you do everyday, every moment. Choosing is about predicting the future, and taking action as a consequence. And the future is uncertain, by definition. So, how do you choose?
Constraints of time, cost, scope
You are asked to implement a new feature. A large feature. Fast. Turns out it's not possible to have low cost, low time, and high scope. It's a concept called Project Management Triangle.
Little Ways Code Works
There are some principles that are valid across disciplines. Biology, geology, chemistry. And code. Yes, code. Here is what science teaches you about writing code.
Development speed how to
You want an app that's reliable and fast. That is just about the same when it comes to development: reliable and fast, long-term. Here are a few techniques to guarantee you can code fast, bug free, for a long time.
Frontend, Drag & Drop, AI and XState
Do you know how to implement Drag & Drop on the web? Well, ask AI. This is how I implemented Drag & Drop starting from AI, all the way to XState, state machines, and actors.
Safety with types: Best practices
Types are designed to protect your code base from any possible misuse. There are some strategies and best practices that will make you even safer from runtime bugs, guaranteed.
How I use statecharts in production
I have been using statecharts for over 1.5 years in production. And it's working great, development speed and no bugs. These are some common patterns I often use with statecharts in XState.
Why everyone is talking about Effect (second edition)
One year later, and another surge of interest flowing into effect. Job postings, AI, Cluster, LSP, v4, and much more. The best time to learn effect is now, and this is why.
My top 3 picks from localfirstconf 2025
Second edition of localfirstconf, second year for my flying to Berlin to join the discussion. A striking progress since last year, a lot to discover. These are my top 3 ideas from the conference.
Your friendly introduction to local-first
In the last year I explored everything local-first (I even built a sync engine). It all comes down to storage and syncing: client database and finding a way to keep it up to date.