Skip to content
  • LC
    Luis Castro

    Mar 26, 2026

    Still testing the game screen designs. I know they don’t need to be perfect before I launch to TestFlight users, but I want them in a state I’m proud of. Day 6 of #BuildingInPublic. I’m going to lay low this weekend, take the dog to the mountains, and step away from the screen. Starting somewhere new on Monday 🎉

  • LC
    Luis Castro

    Mar 25, 2026

    Light post today. I had lunch with friends and we discussed many fun topics: software development, crypto, and the state of AI in our day to day. I also met someone through a friend who lives in the same town, and I’m pretty sure we’ll grab coffee soon.

  • LC
    Luis Castro

    Mar 24, 2026

    The design is coming along. I now have the board set and a color theme for at least the light mode. I had a great talk with a friend yesterday, we discussed the game and he offered to be an early test user. He also suggested a campaign mode, which I’m now figuring out how to seed without using too much local storage. Day 5 of #BuildingInPublic.

  • LC
    Luis Castro

    Mar 23, 2026

    Thinking about the game’s design. I’m aiming for a vibe similar to paper app Dungeon notebooks. Now I need to translate that vision into an actual design. I’m not a designer, but I collaborate with them daily, so I should manage something and refine it with a few designer friends. Day 4 of #BuildingInPublic.

  • LC
    Luis Castro

    Mar 21, 2026

    Taking it slow today since it’s a nice spring day. The cherries are in full bloom, and I went to my favorite coffee shop in town. The owners had their two lovely dogs with them, but mine isn’t a big fan of them.

  • LC
    Luis Castro

    Mar 20, 2026

    Today was interesting. I focused on core mechanics. The base is Sudoku, but with twists to help or slow you down. All ideas were handwritten, so tomorrow I’ll implement them to see what sticks. Day 3 of #BuildingInPublic. In my mind it’s feeling good 🧐

  • LC
    Luis Castro

    Mar 19, 2026

    Day 2 of #BuildingInPublic. I already had a board rules engine with solid test coverage and good adaptability, built for simple games (less complex than chess). I had a lot of fun making it but never used it, so today I’m forking and adapting it for this game.

    Also, I do wonder, how much should I be sharing? My goal is to be held accountable and ship it, instead of leaving it like my board rules engine, gathering dust in one of the corners of private GitHub 😅. If you have comments and thoughts, please send me an email!

  • LC
    Luis Castro

    Mar 18, 2026

    I’ve been wanting to build something purely for fun. No client, no deadline, just a project where I get to experiment with game mechanics, play with React Native and Expo, and learn by doing. Sudoku felt like the perfect canvas for that.

    Does the world need another Sudoku game? Probably not. But I’ve been playing Sudoku on and off for years and at this point my brain is so wired to the numbers that it almost feels like autopilot. I want to shake that up a bit, give it a twist that makes you think differently. That’s the experiment.

    Before getting fancy though, I want to nail the fundamentals. The plan is to start with the classic Sudoku experience done well: four difficulty levels, infinite generated boards, and a clean, satisfying feel. Once that’s solid, I’ll start layering in the twists.

    The part I’m most excited about is the social side. I want to add a daily puzzle, similar to what Wordle did, where everyone plays the same board and can share their results. There’s something great about that shared experience, comparing times with friends, the friendly competition of it all.

    On the tech side, I’m going all in on Expo and React Native. Part of the fun is seeing how far I can push them for a game-like experience. It’s a great excuse to dig into animations, gestures, and the kind of polished interactions you don’t always get to explore in typical app work.

    More updates as the project takes shape. I’m trying to #BuildInPublic which should also be a refreshing experience. In theory…

  • LC
    Luis Castro

    Mar 17, 2026

    At home, I had about 6 smart outlets, 8 smart switches and 2 sensors pre-installed by the builder. I wasn’t able to use any of them because they “required” a proprietary app tied to a cloud service only available on the Spanish App Store, which I’m not on. A shame, because I really wanted to control the blinds from my phone. The switches are as far from the bed as they could possibly be, making it a hassle every night and morning.

    So I said enough is enough and invested the time to understand how these worked. Glad to find they were Zigbee-controlled, which gave me the flexibility to finally set up Home Assistant for the first time.

    I bought another Raspberry Pi 4 board and followed the installation guide. Big props to the team for making it so easy to set up, it almost felt like plug and play. I made a few hardware choices that are not typical. I went with a SanDisk High Endurance SD Card instead of a performance-oriented one since I’m not running any heavy workloads, just a simple home automation setup. I also went with a PoE hat for power because I have a Unifi network already supplying power to basically all the ethernet ports in my home. The most important part, the antenna: I didn’t buy the one Home Assistant advertises. I went with a SONOFF Zigbee 3.0 & Thread Dongle Lite (EFR32MG21), which I was a bit hesitant about given its size, but it has been rock solid.

    So have I done it? Achieved a better life of automation? It feels like early days for the house. Doing this has opened me up to experiment and tinker with what I’d like to set up next. It is a dangerous hobby though. You mess with it too much and risk bricking your setup and annoying everyone at home who now relies on it. So I’m going to slowly plan things out.

  • LC
    Luis Castro

    Mar 17, 2026

    Still thinking about how mesmerizing art can be… I have probably revisited this photo on my phone at least 10 times after my trip to Edinburgh.

  • LC
    Luis Castro

    Mar 16, 2026

    The revamp of the website is now live! Honestly the newest version of Astro has made it so fun to build, the transitions API is incredibly smooth, this past year I focused a lot on React Native, Swift and Kotlin, and comming back to the web even for a few days is such a refreshing view.

  • LC
    Luis Castro

    Mar 16, 2026

    After shipping several React Native apps with complex list UIs, I settled on a set of patterns around FlashList that consistently perform well. Read more to uncover my thought process, strategies like wrapping FlashList in a reusable component, tuning props like drawDistance and recycle pool size differently for iOS and Android, and gating on screen focus to avoid visual artifacts with react-navigation.

    Let’s also take a dive into react-native-gesture-handler’s ScrollView. Why it is an upgrade on iOS, but on Android it has some really bad behaviors that will significantly affect your User Experience.

  • LC
    Luis Castro

    Mar 15, 2026

    I have had my website as a platform for sharing my thoughts and ideas. But I wanted to redesign it to better reflect the idea of occasional thoughts and having less pressure on what we post.

    We don’t give too much thought to what we write on social media. I think it is because we have a sense of immediacy and pressure to post constantly. But we don’t give enough attention to our personal websites, because we want them to be this extra polished thing. That is the total opposite of what we want on social media.

    So let’s meet in the middle and make our personal websites more like social media.

  • LC
    Luis Castro

    Mar 14, 2026

    I had one of my best nights of sleep, and today I focused on what’s important to me. My family, my dog and the sense of accomplishment around the things I worked on. Digg wasn’t a successful project, but it was very humbling to see how difficult it is to build a successful social media platform.

  • LC
    Luis Castro

    Mar 13, 2026

    It’s funny because yesterday I was so calm, but hey, it is a Friday the 13th, and my friend Aleks was right, it’s a haunted day, today I was affected by the layoff at Digg, so I will be looking for a new job and/or opportunities available. I’m grateful for the experience I gained and the people I met during the journey. Breaking the social media network effect is hard in 2026

  • LC
    Luis Castro

    Mar 12, 2026

    Today was a good day. I walked the dog this morning and just had a lovely conversation with one of my neighbors about the building renovations. Then we walked along the river path, greeted other dog owners, and talked for a bit. We only encountered dogs that my dog liked during this walk, so there was no barking. It was peaceful, and everyone was extremely cheerful.

  • LC
    Luis Castro

    Feb 7, 2026

    Howdy, fine people. Remember when I said “once a month, if something interesting happened”? I did not take into consideration the “what if you do way too many things in a month” scenario. So here we are. It’s early February, but this one is a recap of late December and January.

    I’ll get to some life updates further down, but as always, let’s to start with the good stuff: things you might not know existed, and might be interested in. Here are a few that I’m loving and using right now, plus my conclusions after I inevitably obsessed over the details.

    Fashion Winter season is sweater season. I took a chance on this 1941 USN Seaman Sweater (Anthracite). I’d only tried Pike Brothers for their pants before, and there’s a lot of talk online about their wool sweaters. I’m liking it, but I strongly recommend trying it in a store first. It has a very specific fit. I normally wear M, but I sized up because I didn’t like how the M sat on me.

  • LC
    Luis Castro

    Dec 16, 2025

    I have been known for doing lots of deep dives and research before I buy anything among my friends, so I decided to share those thoughts and ideas with everyone. I’d like to make this a monthly thing, only when I have something interesting to share. Some months you will hear nothing, and that is the point.

    Here’s the good stuff: things you might not know existed, and might be interested in. Here are a few that I’m loving and using right now, plus my conclusions after I inevitably obsessed over the details.

    I finally stopped doing the “level + pencil + patience” routine and bought two tools that have saved me an unreasonable amount of time:

  • LC
    Luis Castro

    Feb 1, 2024

    My inner circle of friends is mostly composed of developers, and we always talk about what separates so-called senior developers from actual senior developers. In my opinion, it boils down to professionalism versus wishful thinking.

    There’s always pressure from the Agile flavour your company has chosen to use to show where you are, what’s missing, and how we (the team) can unblock you to complete your tasks. If you haven’t finished your task, don’t lie about it (not even to yourself) – this leads to tech debt that you or your teammates will have to finish and stress about later. If you want to maintain control of the situation and things slip out of control, finish the code you started writing.

    Nowadays, this is quite easy to implement; we have many tools to enforce how written code can be read. Nobody likes a discussion about when to use curly braces or lingering commas at the end of the JavaScript code base. Use prettier, use eslint, use the tools available, and automate all of this work right now.

  • LC
    Luis Castro

    Jan 31, 2024

    I saw this on Matt Birchler’s blog, and then saw on Mastodon a multitude of people posting about their default apps in their own blogs. So I decided to jump on the trend, since it looks like this would be a fun one to do 😅.

    Most of my choices are oriented on trying out the private first focused products; I’ve been through my phase of trying a specific app for everything, but nowadays, I’m settling down on things that actually work and don’t sell my data to others.

  • LC
    Luis Castro

    Jan 1, 2024

    them to grow and build up a piggy bank for their next ventures.

    therefore, I do not have to rush any decision if I want to change the workplace. Before, I dread doing this, but in 2023 I now see it as something that’s fun and refreshing.

    topics.

  • LC
    Luis Castro

    Nov 11, 2023

    One of the things that I have vocalised to myself after reading this article from Dan Lew with the same name, is that I have stopped this behaviour by my own without noticing it. Like the article states, it has made me happier to do so.

    Let me explain my point of view on why I believe this is the natural progression of every senior developer in a company and my reasons behind proposing more adoption of tools like standardJS on your workflows.

    Code is opinionated, we all have our own personal biases and our own way of writing that comes baked in with our personalities, what is easy to understand and write for me might not be so easy for the person in front of me.

  • LC
    Luis Castro

    Dec 28, 2022

    This year has been a big one, we could talk about how there has been a lot of movement on the macroeconomics situation of most countries, that a war started between countries that aren’t that far from where I live, or that we could be living the start of another dotcom like a cycle.

    All of which sounds like we just had one of the worst years in a while, but like always, there’s some good too.

    I will start this year’s review like always, looking at what I wanted to accomplish this year and how close I got to between those boundaries. Then I will reflect on a few life events that changed how I think I should approach the exercise of making new goals for 2023.

  • LC
    Luis Castro

    Sep 14, 2022

    I’m pulling the plug of being comfortable with the apartment, the city, the state, the country I live in, and everyone within a 20km radius from me.

    How? I’m moving to another country, a smaller one that’s not that far, and not too many people even know exists, to begin with.

    Why? Because I want something different, I want to live in the mountains and in a country that treats me well, and that sentence might sound interesting to you, so let’s break down what that means for me.

    1. A winter with a ton of snow forces me to learn how to ski.
    2. More hikes for my dog and me, nature for both of us, and a better quality of life.
    3. Taxes… A country that gives you a lot of benefits through the income you bring into the country and, does not burden you because you might be doing well or better than the average.

    This is the beginning of it, the story of me moving to Andorra.

  • LC
    Luis Castro

    Aug 29, 2022

    The other day at my day to day job I came out with this thought that I had to tweet, because I wanted to seek validation from the community about it.

    To my surprise, lots of people actually felt the same as I, some shared it publicly and others via other channels, but there was a common factor, local State prevails and global state is the root of all evil within React.

    You probably know this already, focusing on your local state first makes more sense than putting everything into the global state, because not everything has to be shared by every single page and user flow your app contains. So that’s not an area we’ll focus in this blog post.