I like to work on the extreme cutting edge of newest technologies π§βπ»
My latest project uses:
- NextJs 15 (rc)
- React 19 (rc)
- Tailwindcss v4 (alpha)
- Effect (platform, schema, rpc, rpc-http)
"dependencies": {
"@effect/platform": "^0.58.20",
"@effect/platform-node": "^0.53.19",
"@effect/rpc": "^0.31.20",
"@effect/rpc-http": "^0.29.20",
"@effect/schema": "^0.68.17",
"effect": "^3.4.7",
"next": "15.0.0-rc.0",
"react": "19.0.0-rc-f994737d14-20240522",
"react-dom": "19.0.0-rc-f994737d14-20240522",
/// ...
},
"devDependencies": {
"@tailwindcss/postcss": "4.0.0-alpha.16",
"tailwindcss": "4.0.0-alpha.16",
/// ...
}
Here is how the future looks like (as of now) π
React 19 & NextJs 15
First things first: React 19.
I have been talking about it for a while now. It's game changing!
- Server components: this requires to completely change how you envision a frontend app with react
useActionState
: Dealing with forms and async requests will never be the same again- Server actions: call a function, but it runs on the server
New hook in React 19: useActionState π₯ Implement async request + error reporting + pending state in one single hook Uncontrolled inputs as well since you get access to FormData in the request Next level for form state π
This is what happens in practice:
- Less need for client-side fetching hooks (e.g. TanStack Query or swr)
- More "backend" (server) logic moving to the frontend as well
- How you visualize your app changes: there is the "server" world and the "(use) client" world now
- Browser APIs are not always available anymore (
window
does not exist on the server)
My apps are now organized in:
- "server": built using
effect
around services, layers, runtime, and dependency injection- "boundary": server components executing server logic and rendering jsx
- "client": state management and client hooks, everything that requires
"use client"
Full stack effect
You may be tired now, but I repeat again: Effect will be everywhere soon.
π’ Happy to announce that i'm now part of @EffectTS_ open source team core members. I'll help maintain the sql subset packages i contributed to. I'd like to thank @thefubhy and @MichaelArnaldi and the rest of effect team for welcoming me in this amazing project.
I love how Effect has become a magnet for a lot of the best typescript wizards, haha
I am diving deep more and more myself:
- Staring from
effect
core and some@effect/schema
here and there - Adding
@effect/platform
because it's great for everything http and file system - Discovering
@effect/rpc
that quickly becomes part of my client/server stack
The future may then bring even more:
- SQL: everything around
@effect/sql
and related packages (e.g.sql-pg
,sql-mysql2
,sql-sqlite
) - Testing:
@effect/vitest
- Cluster: the (possibly) biggest of all, you really should pay close attention to this
@effect/cluster
Typeonce
What's my latest project you ask?
It's called Typeonce, the new home for my tech content online:
- Courses: full step by step courses about everything that you read on my blog and socials
- Snippets: copy-paste code that you can use for your projects
- Workshops: live events where we go deep about a specific technology
My first course about effect
is coming real soon π
Note π The course will be free and available to everyone without hidden subscriptions or "give me your email" stuff
Modules and lessons in my upcoming @EffectTS_ course Still working on the full structure, but it already looks interesting (and packed of content) π Canβt wait for this to be out π
Looking for support for your team?
Typeonce is also the name of my new team training service.
I offer my personal support to make you and your team more productive and effective
Sounds like something interesting? Go over to typeonce.dev to get started.
There is more π€©
Timeless coding principles, practices, and tools that make a difference, regardless of your language or framework, delivered in your inbox every week.
Tailwindcss v4
Closing the loop we have the new version of tailwindcss
(still in alpha ππΌββοΈ).
CSS-native features and tailwindcss are converging to make CSS great (again)!
I don't bother anymore with CSS "js" configurations or whatever. With tailwindcss v4 everything is in CSS land, starting from your styles and custom values.
Expect some interesting updates for a beta this summer:
Adam Wathan (author of tailwindcss) on Github discussion answering about updates to v4
Be ready for a lot of new content on Typeonce.
I am also in the process of refactoring sandromaglione.com, where I will share more "general" (aka "personal") content and articles.
As always, you will always be the first to learn about cool new updates and offers as part of this newsletter π
See you next π