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 π€©
Every week I dive headfirst into a topic, uncovering every hidden nook and shadow, to deliver you the most interesting insights
Not convinced? Well, let me tell you more about it
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 π