Tom Lienard Profile Banner
Tom Lienard Profile
Tom Lienard

@tomlienard

3,356
Followers
370
Following
712
Media
3,494
Statuses

Developer, enjoying Cloud and Open Source. Compute @vercel , prev @scaleway @fig . Founder of @lagonapp (acquired by @vercel )

🇫🇷 living in 🇬🇧 London
Joined July 2020
Don't wanna be here? Send us removal request.
@tomlienard
Tom Lienard
6 months
The American mind cannot comprehend this 30€/month
Tweet media one
1K
249
8K
@tomlienard
Tom Lienard
1 year
Happy new year! and yearly reminder to use `new Date().getFullYear()` instead of hardcoding it
Tweet media one
Tweet media two
Tweet media three
Tweet media four
34
167
2K
@tomlienard
Tom Lienard
4 months
The triangle company is going too far, wtf are these m&m’s
Tweet media one
66
56
2K
@tomlienard
Tom Lienard
6 months
I'm limited by my ethernet cable, here's my wifi
Tweet media one
43
7
1K
@tomlienard
Tom Lienard
1 year
This is actually a pretty good overview of all the different rendering methods, explained in a few words:
Tweet media one
16
152
1K
@tomlienard
Tom Lienard
1 year
Is @vercel using Vercel to deploy Vercel?
55
40
977
@tomlienard
Tom Lienard
6 months
I'm fucking lost
Tweet media one
54
24
875
@tomlienard
Tom Lienard
6 months
📷 Geist Mono by @vercel (Nerd Font patched)
Tweet media one
38
32
737
@tomlienard
Tom Lienard
8 months
Anyone knows what’s happening with NPM recently? Downloads are down 1/4 what they used to be on all packages:
Tweet media one
66
16
664
@tomlienard
Tom Lienard
3 months
🔒 Finally added automatic HTTPS to my project that generates `.local` domains for any command It generates the root CA and certificates using mkcert, it's amazing
24
24
608
@tomlienard
Tom Lienard
5 months
Super excited to announce that @lagonapp and I have joined @Vercel to help build the next generation of Vercel Functions! Faster and more scalable functions, with a unified runtime and the full ecosystem compatibility of Node.js
Tweet media one
83
38
578
@tomlienard
Tom Lienard
2 years
I've been hacking on a fully type-safe i18n lib for @nextjs Not sure if something like this already exists? Only imports the locale you need, type-safe keys and parameters.
25
37
543
@tomlienard
Tom Lienard
7 months
This is amazing
Tweet media one
@typescript
TypeScript
7 months
TypeScript 5.3 beta just went out! Now slimmer and faster, with lots of new narrowing improvements, correctness checks, import attributes, and more - so try it out now!
9
150
717
22
65
506
@tomlienard
Tom Lienard
2 months
🎉 Announcing a new project in collaboration with @ascorbic , @unjsio , @CanadaHonk and Open Web Docs folks: runtime-compat allows you to easily visualize the compatibility of different APIs (including WinterCG) across different JavaScript runtimes!
Tweet media one
18
102
479
@tomlienard
Tom Lienard
2 years
So I implemented Rust's Option<T> in TypeScript
Tweet media one
32
26
426
@tomlienard
Tom Lienard
6 months
Please continue posting your speedtests along with the price and country if possible, it's SO interesting Romania seems to be incredibly cheap, I'm wondering why
48
0
386
@tomlienard
Tom Lienard
1 year
Thoughts? Coming to
23
25
389
@tomlienard
Tom Lienard
10 months
I've finally published a new version of next-international, my fully typesafe i18n library for @nextjs This release adds initial support for the App Router, with both Client and Server Components:
6
36
366
@tomlienard
Tom Lienard
8 months
Interesting to see so many folks saying that it’s because of Bun or PNPM That proves that the Twitter tech bubble is indeed a bubble
6
3
359
@tomlienard
Tom Lienard
1 year
After migrating to @nextjs 13 with RSC, I've noticed an x4 increase in bandwidth, even if the bundle size is smaller From ~300MB a day to +1.2GB, is that expected @vercel ? How can I debug what is taking all of this bandwidth?
Tweet media one
Tweet media two
13
9
282
@tomlienard
Tom Lienard
1 year
I'm wondering why both @vercel and @Netlify recommend using a www subdomain instead of an apex domain From Vercel's docs: "This allows the Vercel Edge Network more control over incoming traffic for improved reliability, speed, and security" How does that work exactly?
Tweet media one
23
9
273
@tomlienard
Tom Lienard
14 days
@pilcrowonpaper They build their own datacenters They build their own servers instead of buying pre-made ones They recycle a lot of hardware They might oversell their CPU/RAM more than other providers (on the shared plans)
3
0
271
@tomlienard
Tom Lienard
8 months
Announcing next-international 1.0.0! ✨ Still fully typesafe i18n keys, params, and plurals 💻 New documentation website 🚀 Static Rendering support for App Router 🔥 New `rewriteDefault` strategy
11
43
263
@tomlienard
Tom Lienard
10 months
🚀 next-international, my fully typesafe i18n library for @nextjs , now supports both dot notation and nested objects locales:
13
21
255
@tomlienard
Tom Lienard
8 months
🔥 next-international, my fully typesafe i18n library for @nextjs , now fully supports rewrites to hide the locale (e.g `/en`) from the URL All you need is `urlMappingStrategy: 'rewrite'` - everything will automatically work as expected!
12
16
239
@tomlienard
Tom Lienard
1 year
Letsgo! @trpcio has migrated from Jest to @vitest_dev Thanks @jullerino & @s4chinraja for the in-depth reviews!
Tweet media one
5
9
218
@tomlienard
Tom Lienard
9 months
chadcn
Tweet media one
@shadcn
shadcn
9 months
I’m joining @vercel as a Design Engineer to continue building customizable UI components for the open source community. Something incredible coming your way! Can’t wait to get started!
Tweet media one
747
407
9K
1
3
204
@tomlienard
Tom Lienard
10 months
Found this amazing comment while looking at Vercel's Postgres package
Tweet media one
9
7
202
@tomlienard
Tom Lienard
8 months
Weekend project: Sherif, an opinionated, zero-config linter for JavaScript monorepos ✨ Works with any monorepo setup 🔎 Detects common issues, enforces strict rules ⚡Doesn't need `node_modules` + 🦀
3
15
193
@tomlienard
Tom Lienard
9 months
🚀 next-international, my 100% typesafe i18n library for @nextjs , now supports Plural translations! It uses the `Intl.PluralRules` API in a fully typesafe way, dependency-free:
6
12
185
@tomlienard
Tom Lienard
2 months
next-international v2 is going to be so much easier to use ✨ Same APIs across Client & Server Components 📃 Ultra-simple Static Rendering support 🤏 Reduced boilerplate
Tweet media one
13
5
180
@tomlienard
Tom Lienard
1 year
This might be one of the best PR to date on @trpcio
Tweet media one
6
7
178
@tomlienard
Tom Lienard
1 year
@nutlope That's working amazingly well! Well done Hassan
Tweet media one
6
1
170
@tomlienard
Tom Lienard
1 year
2 hours
Tweet media one
4
1
167
@tomlienard
Tom Lienard
1 year
Just got access to @github Copilot for Docs, and it's already blowing my mind 🤯 It's basically ChatGPT for developer documentation, and has been trained on @reactjs , @MozDevNet , @typescript , and more:
5
20
164
@tomlienard
Tom Lienard
9 months
Looks like the Vercel documentation design has been updated and it's gorgeous 😍
Tweet media one
7
5
164
@tomlienard
Tom Lienard
7 months
If you're looking to setup i18n for Next.js (App or Pages Router), check out next-international: ✨ Fully typesafe, no codegen 🦥 Small footprint, lazy-loaded locales 📄 Static Rendering, RSC... We've landed a ton of bugfix & features recently!
7
13
163
@tomlienard
Tom Lienard
7 months
Automatically forwarding any command to a local domain with http(s)... Yea or nay?
Tweet media one
14
5
154
@tomlienard
Tom Lienard
1 year
A cool new feature in @trpcio v10.7.0: Transformers are now type-safe and throw an error in both directions when you forget to add one!
4
8
153
@tomlienard
Tom Lienard
1 year
Astro 2.0 is amazing! The new `prerender` option allows combining both static *and* dynamic pages! Here's a demo using Lagon's Runtime: /hello is dynamic (returns a header), /prerender is a static HTML file!
@astrodotbuild
Astro
1 year
Astro 2.0 – our most exciting release yet!
47
409
2K
2
13
152
@tomlienard
Tom Lienard
8 months
🚀 WE DID IT! Migration from Next.js -> Nuxt.js completed successfully Thanks again @danielcroe , I really loved learning more about Nuxt and how it works - great job by the team!
Tweet media one
@danielcroe
daniel roe 🇺🇦
8 months
Challenge accepted. We're so going to do this. ▶️ Tomorrow. 3pm BST. 👉 If you want to be notified:
6
9
79
7
14
149
@tomlienard
Tom Lienard
1 year
I’m finally releasing @lagonapp new website! Let me know what you think about it ⬇️
19
11
148
@tomlienard
Tom Lienard
10 months
🤯 next-international, my fully typesafe i18n library for @nextjs , just crossed 500 stars! Reminder: it now supports both Pages and App Router, with both Client and Server Components
Tweet media one
6
10
146
@tomlienard
Tom Lienard
3 months
✨ Some personal news: I've moved from 🇫🇷 Paris to 🇬🇧 London! Looking forward to meeting some of you and attending conferences here!
Tweet media one
15
0
136
@tomlienard
Tom Lienard
9 months
Did everyone forget about the Vercel Sans font? Can't wait to use it in my side projects
@evilrabbit_
Evil Rabbit
1 year
↳ Vercel Sans Coming this Spring
100
260
3K
4
0
134
@tomlienard
Tom Lienard
1 year
🚀 I'm excited to announce that Lagon is now available in Alpha! You can now deploy TypeScript and JavaScript Serverless Functions at the Edge in a few seconds using Lagon Cloud Read the blog post:
11
24
132
@tomlienard
Tom Lienard
1 year
Check out the new docs for using @trpcio within popular edge runtimes! Includes examples for @Cloudflare Workers, @deno_land Deploy, @nextjs Edge Runtime, and @vercel Edge Runtime
4
21
130
@tomlienard
Tom Lienard
5 months
Mandatory step when getting a new job: updating my personal site
9
1
130
@tomlienard
Tom Lienard
6 months
@alokrawatt You can't really compare ₹ to €, the cost of life isn't the same. Cell phone bills are also cheaper than home internet bills
13
1
125
@tomlienard
Tom Lienard
1 year
Tweet media one
1
0
123
@tomlienard
Tom Lienard
1 year
@nextjs @vercel Found the reason and a fix thanks to @leeerob 🙏 I used `fetch` with `revalidate: 60` in a component, so Vercel created an ISR function (the pretender thing) which is invoked every minute, causing the above issues Switching to client-side fetch, PR here:
4
2
119
@tomlienard
Tom Lienard
10 months
TIL that @nextjs 's revalidatePath is the same as revalidateTag Why do we need them both?
Tweet media one
13
4
120
@tomlienard
Tom Lienard
1 year
An excellent blog post about how Vercel deployments work under the hood
Tweet media one
@vercel
Vercel
1 year
Learn how Vercel builds and deploys serverless applications for maximum scalability and performance.
1
37
219
4
9
118
@tomlienard
Tom Lienard
4 months
The best perk of my new job is getting to use @linear every day
9
6
118
@tomlienard
Tom Lienard
9 months
@ZoltanKochan Same for wss, ws, and ftp. These are called "special schemes":
Tweet media one
4
5
117
@tomlienard
Tom Lienard
7 months
The JS tooling ecosystem is being 🦀 Rust-ified very quickly SWC, Lightning CSS, parts of Parcel, Turbopack, OXC, Rspack, Biome (Rome), and now Rolldown
5
9
116
@tomlienard
Tom Lienard
6 months
⚡️ Sherif, my opinionated, zero-config linter for JavaScript monorepos, now supports a `--fix` option to auto-fix issues! Try it on your monorepo: `npx sherif @latest `
5
6
117
@tomlienard
Tom Lienard
1 year
Migrating to @nextjs 13 app directory with RSC = 2x less JavaScript 🤯 Before / after:
Tweet media one
Tweet media two
4
1
115
@tomlienard
Tom Lienard
1 month
@ixahmedxii They're all so good
Tweet media one
3
0
115
@tomlienard
Tom Lienard
1 year
Tauri will soon support both Android and iOS! I'm hyped for this
Tweet media one
6
6
111
@tomlienard
Tom Lienard
3 months
PSA: please update to Node.js 20 if you're using serverless functions It takes ~40ms less in cold starts, and many runtime APIs also have better performance
Tweet media one
10
11
111
@tomlienard
Tom Lienard
1 year
I've been working on some animations for 's new landing page ✨ Thoughts?
13
4
110
@tomlienard
Tom Lienard
6 months
I don't often talk about my daily job, but I'm proud of this feature: It's a built-in terminal to interact with our CLI, with support for common keybindings and autocomplete
10
3
107
@tomlienard
Tom Lienard
11 months
So I think I'm in love with @DrizzleOrm Got it working with full type-safety, migrations, query builder, and with a @tursodatabase SQLite database in < 15min 🤯
Tweet media one
@tomlienard
Tom Lienard
11 months
It’s time to build a + @DrizzleOrm + @tursodatabase example
2
0
35
7
11
104
@tomlienard
Tom Lienard
10 months
TIL that Client Components also renders on the server, now I understand folks that would prefer 'use interactive' My mental model of RSC shifted again: Client Components are like components within the Pages Router?
Tweet media one
16
1
98
@tomlienard
Tom Lienard
3 months
Partial Prerendering (PPR) is goated TTFB is only a few milliseconds from anywhere (static), while the dynamic parts are streamed in (lambda)
Tweet media one
10
4
98
@tomlienard
Tom Lienard
1 year
Tweet media one
11
3
95
@tomlienard
Tom Lienard
8 months
Spent almost 3 days fixing a bug in next-international with the @nextjs App Router The fix is a 2-line change
Tweet media one
7
4
96
@tomlienard
Tom Lienard
9 months
People don't realize how great of an era for JavaScript we're in Tons of tools and technologies are being developed to reduce client-side bundles (Server Components, Qwik, Astro...), improve dev and build speed (SWC, ESBuild, Turbopack, Rspack...), reduce end-user latency (the…
6
2
91
@tomlienard
Tom Lienard
1 year
Back to some design work this weekend, I've rebuilt the Chart component of :
6
3
88
@tomlienard
Tom Lienard
8 months
Working on a new tool this weekend...
Tweet media one
10
2
90
@tomlienard
Tom Lienard
1 year
Amazing work by the @nuxt_js team! I wish we had the same for @nextjs
@nuxt_js
Nuxt
1 year
Introducing the Nuxt Devtools ✨
17
179
871
4
1
87
@tomlienard
Tom Lienard
2 years
So I made a Brainfuck interpreter using @typescript types, in ~40 lines of code. Here's the repo if you want to try (at your own risk):
Tweet media one
Tweet media two
3
5
86
@tomlienard
Tom Lienard
1 year
🚀 Here it is! vite-plugin-ssr deployed at the edge on , in a few seconds! Try it at (it's pre-alpha, so beware of bugs)
@brillout
Rom
1 year
vite-plugin-ssr @0 .4.112 The server runtime doesn't depend on Node.js anymore. No more Node.js shim necessary for deploying to the Edge ✨ Props to @rob__koch for the PR. FYI @tomlienard
2
8
36
2
10
79
@tomlienard
Tom Lienard
6 months
🤔 What if... you could easily identify Client Components / Server Actions when you use them, just by looking at your code?
6
5
77
@tomlienard
Tom Lienard
6 months
@thdxr I'm at ~80ms it's fine
Tweet media one
6
0
80
@tomlienard
Tom Lienard
11 months
Nice to see (bootstrapped side project) next to big (VC-funded) companies on @DrizzleOrm homepage!
Tweet media one
1
4
78
@tomlienard
Tom Lienard
1 year
@ThePrimeagen you forgot the right part
Tweet media one
3
0
76
@tomlienard
Tom Lienard
10 months
Looks like someone benchmarked a function: Happy to report that it easily handled +50 req/s with a CPU time p99 at ~5.3ms and p50 at ~1.4ms The crazy part: it's a server-side rendered @nuxt_js app!
Tweet media one
6
4
76
@tomlienard
Tom Lienard
1 year
@steventey And other libraries are also backed by these companies: ◆ Svelte → Vercel ◆ Solid → Netlify ◆ Eleventy → Netlify
0
2
73
@tomlienard
Tom Lienard
1 year
I wish we could see if we have any ISR functions in the output of `next build` If you don't pay attention, you'll end up with the same issues as me 😅
2
0
71
@tomlienard
Tom Lienard
4 months
2023 was a great year for me: ✨ Published and maintained new open-source libraries (next-international, Sherif, OG Studio) 🟩 +2000 GitHub contributions 🚀 My side-project was acquired 😢 Left the most amazing team at my previous company... ▲ But landed my dream job
2
0
69
@tomlienard
Tom Lienard
10 months
🚀 @neondatabase announced today their updated serverless driver, and it works perfectly with !
Tweet media one
2
9
68
@tomlienard
Tom Lienard
1 year
⭐️New release of next-international, the most type-safe internationalization (i18n) library for Next.js Improved types, inference, and better hooks! Thanks @baptisteArno @MieszkoSabo
Tweet media one
4
0
64
@tomlienard
Tom Lienard
2 years
@supabase Great programming language
5
2
65
@tomlienard
Tom Lienard
9 months
Weekend project: , a minimalist IP and connection information tool It's also made to work with curl/jq and others since it can return plain text or JSON
5
4
64
@tomlienard
Tom Lienard
9 months
Coming soon
Tweet media one
2
3
62
@tomlienard
Tom Lienard
3 months
Gcore just released a new Edge Functions product, powered by WebAssembly Currently in beta and supports JavaScript and Rust A database, KV store and message broker products are also coming soon, similar to the Cloudflare Workers ecosystem
Tweet media one
Tweet media two
8
7
63
@tomlienard
Tom Lienard
1 month
I spent 30min building a Raycast extension to save me 5s every time I forget a region code/name/geolocation
Tweet media one
6
0
63
@tomlienard
Tom Lienard
2 months
nooooooo
Tweet media one
9
1
63
@tomlienard
Tom Lienard
7 months
🚀 Just released Sherif v0.3 (linter for JS monorepos) with improved errors output! Try it on your monorepo: `npx sherif @latest `
4
4
60
@tomlienard
Tom Lienard
10 months
This comment by @timneutkens is a must-read for anyone curious about performance in JS-land:
Tweet media one
@nextjs
Next.js
10 months
Next.js 13.4.8 includes improvements for compiler performance and various bug fixes. On Vercel​.com, this led to 1.5x faster local server startup and 54% faster updates when making changes (HMR / React Fast Refresh). Here are the changes we've made to improve performance ↓ ◆…
104
231
2K
0
5
59
@tomlienard
Tom Lienard
1 month
Faster cold starts & faster builds: time to update! Also Node.js 20 has fantastic improvements, so please do yourself a favor
@vercel_changes
Vercel Changelog
1 month
Node.js 20 is now generally available for Builds and Functions.
1
16
164
2
0
57
@tomlienard
Tom Lienard
7 months
✨ next-international crossed 10 000 downloads per week!
Tweet media one
3
2
55
@tomlienard
Tom Lienard
11 months
Please move your important stuff away from us-east-1
5
3
56
@tomlienard
Tom Lienard
9 months
If true, that's very sad to hear and bad news for the React ecosystem When Netlify acquired Gatsby, they were "committed to being good stewards of the Gatsby open-source project". I guess this is no longer true
Tweet media one
@wardpeet
Ward Peeters
9 months
@FredKSchott It’s dead. The whole staff is gone except one. It still works well but don’t expect major React 18 features to land
8
3
65
4
7
55
@tomlienard
Tom Lienard
2 years
Two legends following each other at @nextjs conf
Tweet media one
1
4
54
@tomlienard
Tom Lienard
1 year
Is it @nutlope on the left? 👀
Tweet media one
3
0
52
@tomlienard
Tom Lienard
8 months
✨ I've added a new `/uses` pages to my personal website, inspired by @danielcroe
4
3
52
@tomlienard
Tom Lienard
8 months
This could be a banger YouTube thumbnail
Tweet media one
4
0
53