Posts List
moustapha.dev : Choosing simplicity and an update on what's I've been doing blog post cover image

Choosing simplicity and an update on what's I've been doing

February 18th 26

Hi there. It's been a while since the last post. I was busy since October, building a new startup and didn't write. I just want to give an update in this post and share the different things I've been doing lately.

We started fasting yesterday. Ramadan is always a particular month for me, it's a great time to take a step back, and start building new habits. I want to be sharing content more regularly. This post is the first one of a 30 day series. I'll also be trying other mediums like podcast episodes and YouTube videos in the upcoming days, so stay tuned and please share your thoughts.

What happened

I stopped publishing around September, the same time I started working on a new project. This one required me to build in silence. It's a geographically-scoped software solution and our main target customers aren't online. That's the reason why we decided, as a team of 2, now 3, to focus on visiting and speaking to our future potential customers, to make sure we understand the problems and gather some insights about the right way to solve those. In parallel, we started building an initial version. That's a time-consuming process and trying to document it at the same time would just be overwhelming and in some way distracting.

It's been challenging in different ways but so far, I'm taking a lot of pleasure learning and building. I'm taking here a kind of risky bet that I wouldn't if I didn't deeply understand the problem, validated the market and knew that I'm heading towards the right solution. That risk and cost is mostly time. There are two elements to take into account here. The first one is that coming from a tech leadership background, I still had some reflexes about how to build a product in the context of a company. So I feel like I lost a lot of time working on things that I could just have ignored as not priority given the need to find product market fit as fast as possible. The second one is just simply that we want to do things correctly. And actually, designing a great experience takes a lot of time, even with all the new tools available to help you move faster. The challenge and questions about what to build or not, how to build it, which balance of constraints to choose, all remains. There are hundreds of things you need to constantly keep track of and try to fit them in the most elegant way.

So I don't really regret taking the necessary time. More importantly, I've been testing a lot of tools and have rewritten some repositories of this project in completely different languages. That helped me pick the technologies I admired for so long and wanted to use. And so far, I would say that's one of the best investments. Working with those technologies brings me a lot of joy and help me keep going even when things are hard and also, it only has to be done once as I'll stick with those choices in future projects, which will help move even faster. I also want to add that you just can't ship slop fast in some areas as the first impression of your customers is way more important than speed. Sometimes I feel like we forget that. Everyone is trying to move fast even when they don't need to. If you have the privilege, remember that you can choose to take your time and enjoy the process.

It's a really nice experiment to go all-in on a startup. It's not all roses. In my case, I felt very anxious some days. I think without realizing it, a lot of things has internally changed during this period. I'm constantly learning, adapting and discovering things about myself. I definitely needed resilience to survive and somehow I do feel a lot more comfortable about failure. I would even say that I can't wait to fail, learn from it and move to the next thing, for everything I'm starting.

Simplicity as a core principle

This is not really about changing tools but just a consequence of a broader and deeper philosophical shift toward simplicity and reducing friction in work and life in general. What I learned is that simplicity can be hard and complex to accomplish. In some way, it's not even attainable; it's just a standard that you define and try to get as close as possible, without drifting into perfectionism.

It's been around two years now that I have a growing interest into the low level space. That curiosity led me to learning Go and Rust. I'm deeply inspired by go's simplicity. It's a very natural language to write, it's powerful and performant by default and its philosophy resonates a lot with me. That's the reason why it's my default language right now for building backends and cli apps. On the other hand, I had growing frustrations around the js ecosystem after building very complex full stack web applications with Nextjs and React. I want to write a more detailed post about that but in summary, I no longer feel like I fit in the philosophy.

That being said, I love the js community and I'm still contributing to it. It's very flexible, accessible, powerful and easy. Those are just personal preferences and at the end of the day, the only thing that matters is working with the tools you and your team like.

As of now, I choosed to use Go as a backend and Svelte(/kit) for the frontend. I admired Svelte for a long time and has used it in some simple projects. It's a nice framework, simple, powerful and intuitive. My personal opinion is that React is really complex and I no longer want to deal with that. I realized the psychological cost of fighting tools every day and that's one of the reason I decided to shift toward simplicity.

AI as a force multiplier

There's a lot of talk and controversy about AI right now. Personally, I'm using opencode as part of my tmux workflow. AI is a great tool for experimenting quickly some ideas, exploring design choices, brainstorming, rewritting things, debugging etc and I believe it's changing the way we all output code. But still, AI is far from enough and it comes with some challenges.

I think we all should embrace it, where it's relevant; but still with precautions.

The 30 day commitment

The upcoming content is going to be more structured. We'll dive into some tech and business subjects and experiment with AI and some intersting tools. I'll also try to keep them short and very raw. I hope to have the opportunity to invite some other people to talk, probably in a podcast episode.

Thanks for reading.

Choosing simplicity and an update on what's I've been doing — Moustapha Ndoye