Philippe L'ATTENTION

Philippe L'ATTENTION

@phildl.com

I like code, ERP systems, web, open Source & gardens. 💼 Pro: https://basaltbytes.com 👻 Strongly typed Ghost API Client https://ts-ghost.dev/ 🐙 https://github.com/PhilDL 💻 Personal: https://phildl.com 🦤 Odoo tutorials: https://codingdodo.com

50 followers260 following67 posts

in this agentic-coding era, lines of code remain a liability. Like humans, LLMs hold limited amount of context at a time. It's still short-sighted to accept bad code because supposedly "LLMs can refactor easily". Yes it can. Until it cannot because it became unmaintainable

just discovered the amazing i18next-cli so I created a Claude code command to translate my app(s) that use i18next. it executes the cli and find hard-coded string, extract to key, add missing translation and self-verify until done 🤯 published as a plugin github.com/basaltbytes...

github.comGitHub - basaltbytes/agentic-tools: Collection of skills/commands/plugins for agentic toolsCollection of skills/commands/plugins for agentic tools - basaltbytes/agentic-tools

struggling in dev with your monorepo setup and Cloudflare D1? Wrangler uses a persistence folder in dev, often colocated to the wrangler.jsonc conf file where your local sqlite is stored. You CAN override that persistence folder in vite config (for tanstack-start or react-router7) or wrangler cli.

probably late to the party but just added @cursor_ai Bugbot to my repo for @AtolyApp and I like it! - It showed me a genuine bug about serializing multiple set-cookie headers to string - but best of all, it filled up my PR description (was empty because I am solo lazy dev).

Working on implementing Stripe Connect, to allow Atoly users to sell events and products. Here I will share my thoughts and struggle about it. First impression is that Stripe seems to warn you a lot that if you go the path of having custom flow, express accounts onboarding... 1/X

You have to be ready to deal with shady customers and negative balances. Sounds scary, and as a solo dev, with no accounting team I think I will let Stripe handle things. I think I am okay with this but I would like to stay in app as much as possible... 2/X

Working on implementing Stripe Connect, to allow Atoly users to sell events and products. Here I will share my thoughts and struggle about it. First impression is that Stripe seems to warn you a lot that if you go the path of having custom flow, express accounts onboarding... 1/X

You have to be ready to deal with shady customers and negative balances. Sounds scary, and as a solo dev, with no accounting team I think I will let Stripe handle things. I think I am okay with this but I would like to stay in app as much as possible... 2/X

I finally updated the Remix Gospel stack this week-end, it is now on the latest React Router version, but I put some other changes in there that reflect what I use in production: dropped LiteFS for @tursodatabase and added @DrizzleORM as another choice (prisma is still there).

I made a mistake planning for internationalization of Atoly landing page. I used cookies for storing lang instead of URL path. I already had multilang set up for the webapp, it was using cookies (both sites are React Router 7) so I copy pasted the logic.

But a marketing site has specific needs for SEO, you need all lang versions to be their own canonical self (you can reference alternate lang in the header) so all different lang versions should be indexed.

You also probably need to tailor ads and content to specific country when doing digital marketing, it's much easier when your facebook ad for France directly link to the /fr version of the page. And you guessed it, analytics also get easier, seems obvious now but wasn't for me 😵‍💫

I launched my SaaS atoly.co, and am now in the marketing phase 😵‍💫. Tech-wise it's a monorepo: - multiple @reactrouter.com apps (marketing, webapp, frontends). - @tur.so database(s). - @inngest.com ❤️ backend events. - deployed to @cloudflare.social for landing page and Fly.io for apps.

atoly.coAtoly | A booking page your customers will loveOffer your customers a fast, reliable booking page with Atoly, and manage your business easily with powerful tools built for small service providers.

Implementing my own small onboarding components, and was looking for a performant way to do "highlighting" of an element (like the attached screen). My first implementation used a giant box shadow around the highlighter but it lead to TERRIBLE performance...

I asked cursor to give me some clues but it kept failing, proposing webkit-masks, giant -margin, etc... I gave up and went on React Joyride homepage demo and saw the mix-blend-mode: "hard-light" trick in 2 minutes. 20min lost in cursor, while I have the skills to find answers...

...more efficiently by reading open-source code. The amount of talk and fomo from socials media is pushing me to really give a chance to these tools but it keep failing me everytime I need something semi-complex.

Philippe L'ATTENTION reposted

Today we have decided to make @penberg.org 's experimental project, an official Turso project, following its great success. What if instead of just forking SQLite, we were to completely rewrite it - in Rust? That's our moonshot - codename Limbo turso.tech/blog/introdu...

turso.techIntroducing Limbo: A complete rewrite of SQLite in Rustwe forked SQLite with the libSQL project. What would it be like if we just rewrote it?

Went for a quick hike and picnic in « Piton fougères » very calm and peaceful place during the week. Located at 1210m high, you can walk in a primordial forest with endemic fern species of Reunion

Philippe L'ATTENTION reposted

The fastest growing app on the App Store is fully open source. You may have heard of it. But do you know how it works? I do now! Huge thanks to everyone who helped me make this one happen 🙏 youtu.be/cIoYUQhKJUo

Frangipani update #3. The scraps of tropical cyclone Bheki arrived to Reunion Island yesterday, bringing some much needed rain to the garden. New flower and leafs 🌱!

Spend the afternoon yesterday enabling single fetch on 2 @remix_run. It was going okay but I decided to also remove the deprecated json(). Without it the "naked" objects are returned, so if you were implementing some toJSON() method on your custom objects, it won't be called 1/2

... anymore. I was using the "toJSON()" on my entities and value-objects to handle some serialization so it broke some routes. But I created a simple serializer and typed it to a "Jsonified" similar to the original "type-fest" one. Overall it was okay, great job to the team! 👏

Philippe L'ATTENTION reposted

Been burning the midnight oil getting everything ready for this year. Excited to introduce our brand new platform, which we’ll be using from now on for this event! Check it out 🎄 adventofts.com

Philippe L'ATTENTION reposted

with a tiny bit of JavaScript enhancement, take that CSS driven slider and give it "that little bounce™" - use pointer-events to calculate an overdrag - map that overdrag to a CSS custom property --stretch - apply style - profit 💀 (bonus points for only handling drag when limit exceeds)

CSS only balance slider ☕️ the trick: a scroll-driven animation on the [type=range] thumb that updates custom property values which are then used in a counter for the labels and to style the bar (few lines of JavaScript to "polyfill" it) video reveals the <input> 👇

I hope X and Bluesky won’t just melt into right and left wing political echo chambers that drive people away from one to another, diversity is key. Though I think Bluesky is genuinely much cooler, the open source client, atproto, Dan explaining stuff…

It’s been 2 days on Bluesky and still didn’t see any “🌶️ hot take [insert subjective contrarian opinion without any nuance presented as fact]…”. And my mental state thank you for that! please have contrarian opinion but keep nuances, openness and dialogue 🙏

🕵️‍♂️ social media is way more interesting with more Dan Abramov picking your curiosity

dan@danabra.mov

hi to all old friends from twitter! i want to show you this thing: atproto-browser.vercel.app. put your bluesky handle in it and explore :) this should give you some intuition about how this place works under the hood. happy to answer any questions about it!

You are up to date.