Acquiring my first Internet project: okjob.io

A few months ago, I acquired my first project ever: okjob.io, a remote jobs board.

The following is a recap of why I acquired it instead of building it myself and how I’m planning to use it. But first…

Why the heck a job board?

It’s been a while since I wanted to build a remote jobs board. Yes, there are thousands out there, and I’m not trying to compete with them, but I wanted to build a board for Moroccans. Why? Because not all remote companies hire from Morocco.

Some companies only hire from the US, Europe, Canada… For Moroccans like me, it’s hard to find a remote job. You need to manually check companies to see if they hire from Morocco.

Most job boards include a “Global” filter, which supposedly, should show you companies hiring “worldwide”. But given most companies call themselves “worldwide” if they hire outside of the US (but not necessarily everywhere), that filter doesn’t work for the majority of cases.

Why acquiring?

I wasn’t thinking of acquiring to start with. But when the opportunity presented itself, I reached out to the maker and we worked out a price.

It was a win-win situation. For the seller, it encourages him to focus on other projects. And for me, the project is built with technologies I’m comfortable with (Node.js, Express, and Next.js), was fairly priced, and helped me move quicker with my idea.

What to expect next?

I didn’t change much on the okjob.io site itself, but I took the same technology and started using it for the Moroccan Remote Jobs board: jobs.remote.ma.

The list of companies is hand picked for now. That way, I know for sure they are hiring from Morocco. The project is currently in the testing phase but will be officially launched in the next few weeks.

Curious about entrepreneurship and building things on the Internet? Follow me for more stories:

Why developers hate Ruby on Rails

Hey I’m Ahmed, a self taught software engineer. In my path of self learning, I tried multiple languages and frameworks; and one of them was Ruby on Rails.

That was at least 5 years ago, and I hated it. I didn’t know why, but it just felt different in a bad way at that time.

A few years after, exactly 3 months ago, I started learning Ruby on Rails again. But this time I was shocked! Why didn’t I learn it before? Look at how things are easier here? Why are we spending so much time in other frameworks while this is working out of the box?…

The hobby phase

As a developer, you start your coding journey as a hobby. You discovered code and how you can turn your ideas to life. Now, you’re hooked. You spend a lot of time coding and working with technology! In fact, according to this StackOverflow survey, 80% of developers code as a hobby.

Before the technology boom, people used to hate their day job. It was a source of income so they can do other things on the side. But for code, it’s different. It’s a hobby and a daily job.

It’s a no brainer that, we as developers, tend to over-architect things, build things from scratch, re-invent the wheel, etc… It’s a hobby and we want to experience the most out of it. And as a fresh software engineer discovering this new hobby, you want languages and frameworks giving you more flexibility to create, architect, and play with technology.

You can spend hours trying to make two frameworks play nicely together. Create the perfect build process. Architect your todo app. Deploy your simple app to a multi-region cloud provider, etc. And in the end, you feel happy. You don’t feel like you wasted time, because it’s your hobby! And we don’t waste time on hobbies. They are a source of happiness.

You’re in the hobby phase.


The get-things-done phase

As you get more experience in the field, you’re more likely move out of the hobby phase. This is due to different causes, and some of them are:

  • You don’t have enough time outside work to play with code (family, children, other new hobbies…)
  • Your past experiences show it’s not worth it to spend so much time early on trying to optimize
  • You’re now happier to see a product launch more than the technology behind it
  • You have a broad knowledge about the product inside your organization
  • And others…

As you reach this new phase, you do not care about frameworks and languages anymore. You want what gets the job done as your objectives are greater than the technology. You want a set of frameworks that plays nicely together and get the job done as quickly as possible. And that’s when you’ll find something like Ruby on Rails.

Ruby on Rails is a set of tools and frameworks that plays nicely together as long as you use what’s given to you. You don’t have the freedom to use new frameworks or build things the way you want. But if you abide by the Ruby on Rails rules, you’ll move faster.

You’re in the get-things-done phase. Being on the get-things-done phase is a prerequisite to liking Ruby on Rails. No one likes something that limits their “creativity” if they are still in the hobby phase.

According to the same StackOverflow survey, 67% of developers have less than 9 years of experience (40% have less than 5 years). That means, 67% are likely to be in the hobby phase. And this is one of the reasons why a lot of developers hate Ruby on Rails.


Skipping the hobby phase

Being on the hobby phase isn’t bad. In your journey as a developer, you’ll start in the hobby phase. And with time, you’ll move slowly out of it. The timing it takes depends on each individual however.

But can you avoid it altogether? Yes, there are some exceptions. These are people coming from other disciplines. They are marketers, sales, and other non-technical people who discovered they can do more with code. Their primary objective isn’t to code. It’s to get help from code.

They are less likely to pick up new technologies or frameworks. They just want something that works and helps them in their job. They are more likely to pick something like Ruby on Rails. Or better, no-code tools.


I’m Ahmed, a software engineer from Morocco talking about technology, and entrepreneurship. You can follow me on Twitter.

Do not miss my next post! Drop your email in the box below and get it straight to your inbox:

The day I accidentally built a nudity/porn platform

I didn’t know that my next project will turn into a nudity platform and a home for spammers. But it did happen while I wasn’t paying attention. And here are the details.

For the next 5/10 years, I’ve decided that my mission will be: “Can a Moroccan build an online business and make a living from Morocco?“. I currently launch multiple projects and give them some time to take off. My blog remote.ma, my jobs board okjob.io, and other projects are all examples of this. The project I’m talking about today, was also serving the same purpose in theory, but it was a flop.

That project is mylink.fyi, a personal and unique link for all your other links. I built it during my weekends given I already have a full-time job and it took me two months approximately. It’s like linktree and other competitors, but I tried to make it different. No ads, no logo, a clean interface, a 100% score in performance… My idea was: take a competitor product, remove all features you don’t need, and make it crazy fast. You have a 14 days free trial to test it out, but you need to upgrade your account afterwards.

I launched it in February 2020 with a completely different identity. I took my name, and thus my followers and my authority, out of the equation. I wanted to replicate “someone starting from scratch” as close as possible. I did use the service for my links (and remote.ma‘s links) but I never advertised the service on my personal account. You can see the Product Hunt launch, and the imaginary Twitter account I created.

Given how I built the app, I optimized it in a way I’ll only pay hosting fees when the site is having a lot of traffic. Like 1M+ visits per month. So I forgot about it, and kept an eye on the bills I get. Two weeks after launch, I had 100 users. No premium account.

Three months went by with 0$ bills. But in June, I received my non-zero bill, it’s exciting the app is taking off! I logged to Firebase (the infrastructure I’m using) and found a total of 1000 users! Wow, that’s a lot.

I took a look at the emails, and quickly saw that something was off. I’ve seen multiple accounts with the same email structure, something like emily123@gmail.com, emily456@gmail.com… I knew something isn’t right given there is a lot of them. So I decided to take a closer look and see the links they are sharing.

That’s when I discovered they were sharing porn and nudes links. These links aren’t permitted on social media, so they used mylink.fyi to “shadow” them. For these platforms, they are mylink.fyi links. But once you visit it, you’ll see a link for the banned site. There were hundreds of accounts doing this. And new ones get created every day. Once the trial period is over, they create a new email, a new account, and then repeat the same process. Oups!

I decided to remove all my links from the platform given it’s probably known for “porn and nudes” now. I logged to Instagram, and got a weird message: “Your profile link is not working“. I didn’t know what that means, but once I visited my profile, I’ve seen I can’t click on the mylink.fyi link. Wow, what’s that? I visited my other profile, and got the same message and the same problem! I later discovered that Instagram banned all mylink.fyi links from the platform. A customer also confirmed to me via email that Snapchat started blocking links. Heh, I’m banned by Instagram and Snapchat! From all scenarios I had in mind, this is not something I prepared for.

The first thing I tried is reducing the trial period from 14 days to 5 days. I was hoping I’ll make them stop. But nothing changed, I can’t outplay them. Damn it! Other solutions include: requiring credit cards for trial periods, ban all adult content from the platform… But they all require me to put extra effort in the project. And I don’t have time for that.

I disabled signups on mylink.fyi for now, and after all trials reach their end, I’ll take the service off. If you’re interested in acquiring the domain name, and/or the app, let’s talk.

That’s it for your daily dose of weird Internet anecdotes.

If you’re interested in stories about building online products and businesses, follow me on Twitter, or consider joining my mailing list 🙂

Do not miss my next post! Drop your email in the box below and get it straight to your inbox:

The green presence dot

Nowadays, every app with a chat feature has a presence indicator. It comes with different flavors, like a green dot, an “online” mention, or a “last seen” feature. But they all serve the same purpose.

It’s a trap.

Every one of them fights for your attention, trying to spend more time with you while using your friends as a weapon.

Beware.

No one wants to let their friends down. They want you to feel bad if you are seen “online” but didn’t respond in time. Feel bad about that message you didn’t read…

Fight back.

I still fail for this sometimes. But it’s good to have some reminders. And today, I wanted to share my reminder with you.

Online indicators are a trap. Beware. Fight back.

Article image drawn by me on an iPad using Procreate

Do not miss my next post! Drop your email in the box below and get it straight to your inbox:

Reversible decisions and tomato purée

We freak out when we hear “decisions”. We don’t want to make them. We prefer to avoid making decisions.

We think decisions are hard because they are irreversible. Once you make a decision, it will haunt you all your life. But the truth is, the majority of decisions are reversible. You can choose a path, and if something doesn’t work, you can change it.

From big life plans to groceries, reversible decisions are everywhere. We just need to better spot them. Make it a habit, and you’ll get good at spotting those. Here’s a grocery example: tomato purée.

You are getting groceries and you don’t know if you should pick that big bottle of tomato puree or two small ones. The problem is you know when you open the big bottle you need to use it in the next 3 days. And you are not sure if you can do it. But financially, the big bottle is less expensive.

Now which one you should pick? What’s the reversible decision?

What can happen if you pick the big bottle? If you use it all, that’s good. If you didn’t, you need to use it in the next 3 days, or you will throw it away. SO MUCH STRESS TOMATOES! Calm down.

If you pick two small ones and end up needing a lot of purée, you can use both. If you only need a small amount, you can open one and let the other for another time. No 3 days limit, no rush, no stress.

Picking two small bottles is always the best choice. Even if you don’t end up using the tomato puree, you are better throwing a small bottle than a big one. For the price difference, which is usually some cents, it isn’t worth the mental overhaul. If you can save your mind from thinking about this every time you are in a supermarket, just pay those extra cents.

This exercise is a good investment in the long run. And a good example of reversible decisions.

Next time you have a decision, take the reversible one. There is always one out there.

Do not miss my next post! Drop your email in the box below and get it straight to your inbox:

The timing is never right

For all the important things. Timing always sucks.

The stars will never align. And the traffic lights of life will never be all green at the same time.

The universe doesn’t conspire against you. The universe will not line up things for you either.

Conditions are never perfect. “Someday” is a disease that will take your dreams to the grave with you.

If it’s important to you and you want to do it. Do it. And correct course along the way.

Taken from The 4 hour work week book.

Do not miss my next post! Drop your email in the box below and get it straight to your inbox:

On being rich

A little story.

Let’s start from the same base. You and your friend have the same amount of money, say 200$. Who is richer? We can’t decide yet.

Your friend decides to spend his money on this new crazy experience, jumping from an airplane. You decide to keep the money.

After this experience, your friend has 50$, and you still have 200$. Who’s richer now?

… Well, it’s complicated.

If being rich is measured by the amount of money you have in your bank account, then you are richer. If being rich means being alive, living the full life, trying new experiences… then your friend is richer.

When people say “I want to be rich”. What they mean is “I want to live like rich people”. Being rich isn’t always about money. Money’s value is multiplied when you spend it on experiences you like or with the people you love. A dollar is a dollar. How you spend it is what makes the difference. It’s what makes you live like rich people.

Do not miss my next post! Drop your email in the box below and get it straight to your inbox:

Doing a lot of things at once

I always feel I should do a lot of stuff but I don’t have enough time. It seems I can’t focus on something and always get excited by other “more exciting” projects.

Lately, I’ve been pushing myself to focus. It’s still hard as I always get some new ideas I want to work on. But I keep trying.

Yesterday, I stumbled upon this quote from Derek Sivers. And it sums up all of this:

Don’t be a donkey. You can’t do everything at once. Start something and work on it for a few months/years. And then the next for a few months/years. Think long term, you can do everything you want to do. You just need patience

Derek Sivers

Why CEOs wake up at 5AM

Seriously. If you ever see a title like this one. Skip the post. Or better, report it.

There is nothing special in waking up at 5AM. It will not make you a CEO either. The two aren’t related in any way. Correlation doesn’t mean causation.

They aren’t CEOs because they wake up early. They are a bunch of CEOs who happen to wake up at 5AM. And there are others who wake up after 10AM.

People are different. Do not try to mimick others. Find your balance.

Writing daily for a month

Today, I’m celebrating a milestone I never achieved before. I’ve been writing daily for a month.

Even if I share small bits of what I think of, do, or plan to do. It takes a lot of work to show up every day and write something.

To be completely transparent, the first days were hard. I was scheduling the posting at least a day before. I was thinking too much about what I should write on that day and if it makes sense to write it.

But now, things a little easier. I usually set down and write whatever comes to my mind. I don’t stress about it the same way as before.

I’m planning to incorporate this into my life. I love to write and keep track of my ideas.

Thank you all for reading, and let’s continue together.

Do not miss my next post! Drop your email in the box below and get it straight to your inbox: