Taking technical decisions for your side projects

Taking decisions for technical projects

How to take technical decisions for your side projects?

Some people allocate a sizable amount of time to this. My approach is much more simple.

Taking decisions for technical projects

First, categorise this decision. Is it a one-way door decision or a two-way door decision? Most of the time it is the latter. Being that the case, I dedicate 30-45 minutes to research what are my options. What analysis of the options already exist out there, medium, .dev, Reddit… If I think it might be relevant, ask in one of my core chat groups for an opinion. Most of the time it falls on one of two buckets, a) no opinion / educated guesses or b) extremely polarised opinions (pro or against particular options). People might reveal big hurdles or advantages for a particular choice.

By then I should be able to narrow it down to 2-3 options. Then I prioritise based on a series of factors that can be interpreted as gut feelings, but they are not. Does it look great and polished? Indicator of care and commitment behind it. Abundant documentation? lots of posts about it? great examples? good indicators of an existing community, up-to-date docs, easiness to find help when finding any blocker down the road,…

The next step is to pick the most appealing one and build a (VERY) rough version of whatever I need. Sometimes that means writing a basic script to test being able to solve a sample of the problem or a limited aspect of it. Sometimes means quickly integrating it with an existing project in a branch and seeing how it goes. The goal is to get a rough idea of how difficult will be to actually implement it at a production level, a proof of concept. As a rule of thumb, if I am not able to get a positive outcome in a short time, I discard it. The time can go from two hours to a morning, but no more than that.

The moment I hit a visible wall, I park that one and move to the next possible option. If I find a solution that is “good enough”, I just go for it, without exploring the next ones. My goal is to identify as fast as possible a viable solution for a particular problem I am looking to solve, minimising potential friction down the road. My process for not easily reversible decisions looks different (MECE, etc, but the reality is that those are indeed pretty scarce.

Avoid analysis paralysis with an approach that works for you.

To summarise this little piece of advice:

1. Simplify it and identify what type of decision you are taking

2. time-box your process

3. have a clear understanding of what success looks like before starting your analysis

How do you make your choices out there?

Product updates and deliveries

Latest Becar.io product updates and deliveries for the past week! Not a lot, because I am still juggling with my consulting gigs…

I’ve made some major improvements to the onboarding pages, added support for amplitude, and now I am able to reset passwords for all users. Keep reading for more details on these updates. If you have any feedback on the new onboarding pages and changes, please let me know!

Becar.io, a solution for having better meetings.

Improved Onboarding Pages

I’ve made some major improvements to the onboarding pages! These changes should make it easier and faster for new users to get started with our product.

So far, 5X conversion rate ??…

A clear sign of how poorly designed was the flow before. To be honest, it is still a disaster. I rather have some friction there . It ensures clear interest from early adopters. The ones signing up

have a real interest in improving their handling of their professional time…

I was considering a couple of options and there is still a few better options than the one I ended up deploying. But there were a couple of technical implications that would have increased the time to deliver.

This version is versatile and fast enough.

I am still testing better ways to deliver value with becar.io and do not want to focus too much on the external layers (yet). This sprint will be focused on the core of the product, increase value delivery and having more interviews with customers and prospects.

Added Amplitude

I’ve added amplitude so that I can now track your progress and performance issues over time. @Amplitude_HQ is a great tool to measure your product. Instrumentalising products has been my bread and butter for years, but had somehow delayed it…

It has been barely 2 months since I started building becar.io. At this stage having qualitative feedback, direct from users is way more important. In any case, if you haven’t already, be sure to sign up for a free trial…

Reset password

I was able to reset the passwords manually, but users were not receiving any notification. I had yet to connect @Firebase to be able to sent the emails with the reset link. This was way easier than expected…

Just to clarify, I sually I would not care about adding anything like that (In fact I still have to do it manually), but I had two requests this week to reset the password and one was from my brother. Hard to ignore…

Thanks for your patience as I make adjustments and evolve it! I need to allocate time to have something decent (What can I say, the shoemaker’s son always goes barefoot…) .

Please, send any feedback or ideas my way!

#buildinpublic #indiedev

Mistakes and challenges, shipping an MVP in 90 days

Mistakes launching a product in less than 90 days

It’s been a bit more than two months since I decided to create something around a problem I care about. I deeply hate meetings. Inefficient meetings are a plague. I am building a solution to help you improve your meetings. What final shape that will have, I am still not sure, it will definitely change along the way, but it is something I want to tackle…. #buildinpublic

Speed is key. I know, it is not as fast as developing and testing in a week as @shl process (I have a couple of ideas I’ll test his process with, but not this one). I had a few domains saved for side projects and that’s the one better fitted for the project…

My goals these past months have been a) validate if there if it is a problem want to have solved (can it get traction?) b) if I can deliver the technical parts, c) can I deliver value by solving the most annoying parts of meetings…

So far it is going great, but I am gonna review some of the mistakes I have made this time. I think it is also important to review your errors. They are not the only ones, but the more painful ones.

Diving fast into developing something you do not know…

Launching the Chrome Calendar Extension. I had zero experience with extensions. I have learned a lot about it during this time. Something that is kinda tricky when developing extensions is there is no easy way to declare environment variables.

Why is that important?

The first time I submitted the extension to the Chrome Store, I forgot to change the (hardcoded) API endpoints! It was approved, but was making the calls to… localhost ?‍♂️. Another important learning there.

Every submission to the Chrome Store goes through a cycle of up to 10 days to be re-approved. Sometimes it takes less time, sometimes more. Insight from all this?

  • Run an exhaustive checklist, making sure that all that could be broken is not broken…
  • Regressive tests are your friends. Not at this stage though, many things will change. But eventually will have a set of regressive tests to run before submitting. Testing chrome extension is a different beast. Will probably write about it at some point…

Mistake number 2, not checking my requirements when picking my stack

Without going into much detail, I found out, when I was already committed with a stack (having developed a substantial part of what I had planned), that some of the things I wanted to be able to do, were…

complicated. NextJs comes with a couple of great advantages, like having an API out of the box. Well, that was not easily deployed on my platform of choice. Also generating dynamic pages had some complexities.

In the end, I was able to overcome those hurdles, but I had at least a couple of stressful days.

Insight?

  • Listing the critical needs of your project. Going through them, and checking they are available in your stack… can save you a lot of headaches.

I think the main lesson is it is okay to make mistakes. Shipping fast, finding insights sooner, make up for the mistakes.

Previously oorei dot com | Comments are disabled