Software Engineer at IKEA | 🇧🇷 living in 🇳🇱 | tweets are my own

Joined July 2009
100 Photos and videos
Minha gente, fiz um site aqui pra visualizar os casos de COVID-19 por munícipio: mapadocovid19.com.br Completamente open source, subindo nos ombros de gigantes como next.js (@zeithq), chakra-ui (do @thesegunadebayo), vx, d3.js entre outros ❤️

6
29
60
🧙‍♂️Juliano Farias retweeted
/teach is live Learn anything, from rubik's cube to vocal harmonies to software fundamentals. npx skills add mattpocock/skills --skill teach Best skill I've ever built, video coming soon github.com/mattpocock/skills…

79
179
2,862
159,737
🧙‍♂️Juliano Farias retweeted
Making implementation cheaper has made creating bad code cheaper But it's also made creating good code cheaper You just need to know the difference
49
25
459
22,599
🧙‍♂️Juliano Farias retweeted
4 of the most confusing terms in AI, defined: Model: a blob of parameters, written during training. Does next-token prediction and nothing else. Stateless. Harness: everything around the model that turns it into an agent: tools, system prompt, context window management, etc. Environment: the world the agent acts on. Anything outside the harness that the agent perceives and acts on via tools. Agent: a model, harnessed, in an environment. --- Opus is a model. Claude Code and Claude Web are different agents, because their harnesses differ - even though the models are the same. The file system is an environment. MCP servers add tools to the environment.
75
117
1,321
81,717
🧙‍♂️Juliano Farias retweeted
Writing code is cheap Maintaining code is not cheap Anyone who's hired an external contractor knows this
For 50 years, software engineering ran on code rationing. Writing code was expensive, so we rationed it carefully through roadmaps, RFCs, prioritization meetings, and scope reviews. This created a role: the No Engineer. No, that won't scale. No, we don't have bandwidth. No, that's out of scope. No, we need a design doc first. The No Engineer was valuable for 50 years. Every "no" saved real money. Their judgment was the rationing system. LLMs will be the end of code rationing. Code is cheap now. And while the No Engineer is explaining why something can't be done, the Yes Engineer has already shipped three versions of it. If you're a Yes Engineer, the next decade is yours.
84
206
3,032
146,744
🧙‍♂️Juliano Farias retweeted
Just shipped Sandcastle 0.4.1. - OpenCode, Pi, Codex support - Podman, Daytona, Vercel support It's becoming the simplest way to run any agent, sandboxed anywhere
36
40
737
44,425
🧙‍♂️Juliano Farias retweeted
24 Sep 2025
Just implemented a feature using GitHub spec-kit. It's an opinionated workflow for coding via an LLM. I used it with Claude Code, but it works with many different LLMs. Wow. It does a LOT. - Creates feature branch - Generates a high-level plan - Creates a quickstart doc for trying the feature - Generates research docs about decisions and alternatives - Outputs a detailed spec - Creates a list of tasks based on the spec - Implements tests first and enforces that they fail (TDD) - Does the implementation using task list. - Validates it all works by running linting, build, and tests (it fixed its own minor mistakes at the end too). It's VERY thorough and organized, and walks you through a highly opinionated development flow. I told it to create an admin feature for my restaurant app and it generated and implemented these 32 tasks, checking them off as it progressed. If you're coding with AI assistance, you should absolutely try this. It's a real eye-opener to how far you can take things.
15
28
310
31,613
🧙‍♂️Juliano Farias retweeted
Agora é oficial: sou Lead Developer Advocate na @meteorjs ☄️ “Mas pera, MeteorJS ainda existe?” Não só existe como tá mais vivo do que nunca! Tem versão nova, comunidade engajada e produtos além do framework. Ansioso pra trabalhar com open source e por tudo que vem aí ❤️
28 May 2024
Welcome @o_gabsferreira, our newest Lead Developer Advocate!
7
5
169
7,245
🧙‍♂️Juliano Farias retweeted
I couldn't be happier today - we're entering a world without forwardRef ✨
2
7
85
15,395
🧙‍♂️Juliano Farias retweeted
25 Apr 2024
React 19: Never forwardRef again
25 Apr 2024
We just published the first beta for React 19! This beta release is for collecting feedback and preparing libraries for the next major version of React. To see what's included, check out the release post: react.dev/blog/2024/04/25/re…
21
66
897
100,622
🧙‍♂️Juliano Farias retweeted
4 Apr 2024
I often see aria-labels that look like an id: 🚩 aria-label="delete-user-button" An aria-label should have a *user-friendly* label that describes what the button does. And it shouldn't repeat the tag's name - that's redundant. ✅ aria-label="Delete Cory House"
6
13
154
11,610
🧙‍♂️Juliano Farias retweeted
5 Apr 2024
We are introducing a new mode for Blocks called Lift Mode. Enable Lift Mode to "lift" components from a block template for copy and paste i.e you will be able to copy the smaller parts that make up a block template like cards, forms...etc Visit the Blocks page to try it out.
78
127
1,810
88,513
🧙‍♂️Juliano Farias retweeted
Do you love The Office? I've created a small free-to-play fan game to show some love for the series! Help me by showing this little game to the world!! enchantgames.itch.io/a-meeti…
1
16
35
1,636
🧙‍♂️Juliano Farias retweeted
21 Mar 2024
A developer shouldn't merely do what they're told. Why? Because it's not a developer's job to merely follow orders. We're paid to see the gaps. We're paid to collaborate with others. We're paid for our professional judgement. So: We should push back. We should point out issues. We should suggest alternatives. We should consider the big picture.
57
118
892
87,322
🧙‍♂️Juliano Farias retweeted
2 Mar 2024
This is actually a good question (quoted below), and I have a good answer for it. I was an iOS native dev from 2012-2015 (Obj-C days) and really, really loved it. Xcode was annoying but I could get around that with various tooling (RubyMotion, cocoapods, etc) that made it so I could be in Xcode less. And I shipped native binaries. I had no intention of changing. But I run a consultancy, and my clients increasingly started asking me for Android versions as well — their users were demanding it. So I started learning Android development in 2014-2015. The problem was that my team was clearly going to have to go through a transformation: 1. I’d have to double the size of the mobile team 2. Half would be iOS, half Android 3. We were still doing web at the time, so I’d have a whole other separate team doing web 4. The costs would go up tremendously — good for me, but bad for my clients In 2015 I was also preparing to merge my company with another company to become the new Infinite Red. As we were doing our due diligence, we realized both of our teams were facing this same potential issue. And with the doubled team size, it was now magnified. Because of this, my cofounder @twerth started researching alternatives in September 2015. We had heard of React Native but our assumption at the time was that it wasn’t good enough to deliver the level of user experience that we were used to. But his evaluation when he came back was “This is actually quite good.” (Remember, early days for RN! But he saw where it was going.) The primary reason it made sense was from a business standpoint. We could use the same team for all three platforms and share code, devs, training, tooling, and more. We could ship apps for about 60% of the cost (half the time with iOS plus a bit to tweak for Android). This is by far the biggest reason. But the second reason was technical. React Native is native, and the JS layer is just orchestrating UIViews and Android native views via React’s brilliant “UI as a function of state” paradigm. That meant views take up the same amount of memory as native (because they literally are native) and feel and look native to the user. With that decision made, we converted two native projects that were just kicking off to React Native and have been focused on that from then on. Now, what about personally? Truth be told, I still like iOS native dev the best. Swift is cool, and the SwiftUI declarative UI system (stolen shamelessly from React) is a good improvement over previous interface builder and xibs and programmatically / imperatively built UIs. If I was an individual dev, I’d probably lean that direction. But I’m not, and there’s almost no business case for doing native mobile dev these days when React Native exists. It’s plenty good enough in most ways and even superior in a few ways — the third party ecosystem is vast, libraries like Reanimated and Vision Camera have no equal in native land, etc. That’s why I use React Native. It is a native app in the end, just running Hermes with some bytecode to orchestrate the native UI. And I still enjoy it 8 years later!
7
20
214
43,937
🧙‍♂️Juliano Farias retweeted
Acusação: o podcast Xadrez Verbal é financiado por think tank dos EUA e do MBL Realidade: Padrim, dívida com os ouvintes, muita insistência minha e do Matias e só uns cinco anunciantes em nove anos de podcast Não postem sob efeitos de lisérgicos, jovens
117
95
4,112
156,610
🧙‍♂️Juliano Farias retweeted
using a <div> as a <button>
177
2,104
25,078
3,414,618
🧙‍♂️Juliano Farias retweeted
13 Feb 2024
PSA: Whenever you think of writing useEffect, the only sane thing is to NOT do it. Instead, go to the react docs and re-read the page about why you don't need an effect. You really don't. But what if I ne.. - NO. read the page! In my specia.. - NO. read the page! READ THE PAGE
61
115
899
201,072
🧙‍♂️Juliano Farias retweeted
11 Feb 2024
A common case of needless state: Dialog visibility. Example: If a dialog displays when I click on a user, I only need one piece of state, not two. And this can be streamlined even further. Here, assume UserDialog only renders when provided a user. UserDialog simply returns null if no user is provided.
13
15
263
53,745
🧙‍♂️Juliano Farias retweeted
23 Jan 2024
components / hooks / types / utils (and constants) is the split I'm seeing in many codebases, yet it's the one I dislike the most. It groups by type, not by domain. "useTheme" will live next to "useTodo", but not next to ThemeProvider ... why?
138
179
1,779
514,594