Family Business Automation: Excel to Software


Automating a Family Business: From Excel to Custom Software

Guests: Amir Nurmukhambetov & Mansur Nurmukhambetov
Host: Askar Aituov

00:00 – Askar Aituov
Hi all. Today we have Amir and Mansur Nurmukhambetov. Both are software engineers who mostly live and work in the Netherlands, and they have been automating some cool stuff. Thank you for your time, guys.

For those watching, you can write comments and questions in the chat. If you are watching on LinkedIn or YouTube, feel free to write comments; we will ask our guests asynchronously. Put a like and subscribe—this will allow plus 10 more people to watch! Thank you, guys, for joining. Please introduce yourselves and tell us more about the case we will discuss today.

00:46 – Mansur Nurmukhambetov
Yeah, thank you very much, Askar, for this opportunity to speak here. My name is Mansur. I live and work in the Netherlands. I finished a Bachelor’s in Artificial Intelligence, and since my university years, I have been working as a Machine Learning Engineer at a software development consulting company. But we will not talk about that; we’ll talk more about the use case that we are doing for our parents. Amir?

01:18 – Amir Nurmukhambetov
My name is Amir. currently, I am a student studying for a Bachelor’s in Computer Science. Right now, I am doing part-time freelance work, as well as doing internal tooling for our family business.

01:37 – Mansur Nurmukhambetov
Yeah. Maybe before we start asking questions, I think it’s good to introduce the topic of what their business actually is. Our mom and dad have their own business related to wholesale and retail. They order toys from China and deliver them to Kazakhstan, where they are distributed among supermarkets and shops to be sold.

This process has a lot of tasks which initially were based on technologies like 1C (1S), Excel sheets, and paperwork. Most of the work was dependent on someone’s memory. Sometimes numbers would not align, and it was very hard to keep track of what was going on. We noticed that some stuff could be improved. This is kind of how it started.

02:51 – Askar Aituov
Pretty cool. Do you want to proceed with the overall context, or should I go with the questions? How do you prefer?

03:05 – Mansur Nurmukhambetov
I think we could give a quick introduction to what kind of projects we did. One of the initial projects that we began doing was an event-based system which allowed tracking when deliveries had been made from the parents’ warehouse to certain stores. That was an initial proof of concept, trying to prove that these tasks can be automated and we can keep track of that.

It was very important because we wanted to optimize for the time it takes to deliver something and track the amount of boxes sold—like a KPI for them. The development was going nice, and the system was deployed. However, we noticed that it quickly hit a lot of roadblocks.

There was no automation or data about what kind of products were in the warehouse. That was a prerequisite for this type of product. Another missing prerequisite was the client list; it was big and stored in multiple places. Because this wasn’t there, the system didn’t really work nicely. So, after that, we pivoted to solving the prerequisites first—figuring out what the products actually are, getting them managed and written down in the system, getting photos out of the drive, and allowing it to be automated.

04:54 – Amir Nurmukhambetov
This was our second application that we built, and it was actually successful. There was only one user actually using it, who provided the actual products by importing Excel sheets of products from China. That way, we digitized the products, and now we have a database of products. This solved one of the prerequisites for the first application.

05:30 – Mansur Nurmukhambetov
Yeah. And once we had that data, we could do operations on it, such as extracting a few products which were desired. You can imagine, from China, we order a bunch of toys. When you go to factories to see what toys they produce, there are tens of thousands of them. You don’t really want to store them in Excel sheets.

Now that they are all digitized, we made an online store-like application where, to place an order, you would just go through the pictures, list the toys that you want, and list the amounts. That would create an Excel sheet which you could just send to your providers. That way, you could place orders much quicker instead of copy-pasting rows of Excel sheets from one place to another.

06:31 – Askar Aituov
This sounds like multiple systems. You mentioned the warehouse, and now you talk about e-commerce. Is it several modules?

06:43 – Amir Nurmukhambetov
Yeah, you can think of it like that. They are all interconnected. The warehouse is dependent on the products in one application, depending on the other application.

Now we can introduce a third application that we built. There was a different situation in the business workflow where there was a lot of manual work required to create plans for the next week—assigning people to different tasks. Especially, there could be a use case where a person gets sick. That means you have to restructure the whole plan again, which is quite tedious.

What we introduced was a Planner App where a person who creates plans can assign people to different tasks at specific dates. In case there is some kind of emergency where a person cannot do it, he or she can be replaced with a different person.

08:03 – Askar Aituov
This overall lifecycle seems reversed. Normally business customers write some specifications or product requirements. In your case, your business customers did not initiate this. It looks like you researched the features from similar products and did the requirements yourself?

08:31 – Mansur Nurmukhambetov
Yes, I think it’s an interesting way of doing software development. Quite often, you have a list of requirements posted by the client, and you proceed doing exactly what they say. But in our case, it was very much evolved. We are working together with our parents, exploring what kind of requirements they have.

Most of the time, what they want is for the system to not really change—in the sense that it should look for all of their workers exactly the same as it was before, but automated or simplified. All of our products create exactly the same interfaces that the workers would expect; it’s just now in an application instead of having someone do it in an Excel sheet.

And regarding multiple services—it is actually multiple services. I think it’s already like nine or more applications that we made. Some are connected directly through API, and some are connected by proxy, for example, like Excel sheets.

When you make an order from China, you don’t really want to put all the toys you made there into the warehouse immediately because you aren’t sure if they are coming in exactly this quantity. So you actually get a new Excel file after communicating with the providers. Then this new file is being imported into the application. We are removing unnecessary work that goes within them. The users are still using Excel sheets, just much less, or only for specific cases.

10:45 – Askar Aituov
That sounds like a decent enterprise development project with lots of details. I have two questions. How long did it take you to do the first version versus the second version? I assume it was evening work out of office hours?

And second question: I read about this project in your blog, “Ugolok Mansa” on Telegram. You mentioned scripts. You saw paperwork, and before doing any machine learning, you had to write scripts for automation. Could you tell us about these results? What kind of scripts?

11:41 – Mansur Nurmukhambetov
I’m not sure if I mentioned scripts explicitly, but what I really meant was like a UI interface where you press a button and it does something for you. In a lot of cases, those scripts would be something like comparing data from this year to last year. To do this manually, you would usually go to an Excel sheet, copy some files from here and there, join multiple clients together into one huge Excel sheet, and then your computer might not even manage to process all that data because Excel sheets have a physical limit on rows.

If you think about it as a Data Scientist or Software Developer, this is work you can do in Python with Pandas. We have quite a lot of export scripts. Amir, maybe you can tell about them.

12:43 – Amir Nurmukhambetov
I can clarify about the scripts. They are more like… you hit an endpoint with an Excel file which can be processed. Several of our endpoints are based on importing the Excel file and storing them in the database in a correct order. It reads the products row by row and fills out the tables in the database. Other endpoints could be exports as well.

13:27 – Mansur Nurmukhambetov
Also sticker generation. For example, on products, you often see a sticker with a barcode and description.

13:40 – Askar Aituov
But normally they do this with 1C. Did you integrate with 1C as well?

13:47 – Amir Nurmukhambetov
No. A lot of our applications were done in a way that we don’t rely on 1C. Yes, 1C still exists as a backup system, so that if our applications don’t work, they have at least something to still do the work that is required.

14:23 – Askar Aituov
For those watching, you can type your questions in the chat. We have a question from Artur Khvan:
“You mentioned that instead of quitting, the business stakeholders (your parents and their team) shifted to other tasks. How did you convince them to trust a script over the manual work they had done?”

15:19 – Mansur Nurmukhambetov
Yeah, we definitely had cases like that. On one side, it was partially due to bad practices in software development—some edge cases were not taken into account, like division or multiplication by zero. Those cases did occur. After every one of those, we tried to improve our development practices and developed quite a robust system.

On the other end, to convince our parents, we introduced processes where we have long talks and discussions about the logic to understand the requirements and how the steps should be taken. We propose edge cases and analyze how the application should work in those cases.

Lastly, once the application exists, it’s a matter of converting the workers to the application. Our parents, as business owners, tell their workers, “Okay, now you have to use this Telegram bot instead of sending something to a WhatsApp group.” From practice, they realize it’s actually so much better and nicer.

People feel happier after using it because they notice that… well, first they don’t trust the system. For example, if the system says there are 100 toys in an area, people don’t trust it because back in the day with 1C, you couldn’t really set expected amounts properly. That formed a habit of not trusting the system. Now, once there is a trusted product, you just let them experience it. By nature, they see it’s nice to use and they can trust the numbers, so the barrier lowers.

Also, the features are introduced gradually.

17:58 – Amir Nurmukhambetov
Additionally, if you provide an application with a lot of features to workers, they could be overwhelmed with feature bloat and won’t be as productive. So we built a simple application with one function initially, so users can gradually become accustomed to it. “Yes, it does work. I should click this button. This is where my data is stored.”

Since our parents are very close to our workers, they can explain the steps of how to use a new feature that was published.

19:14 – Askar Aituov
I had some limited experience building warehouse projects in Estonia and Poland. Back a few years ago, problems in Almaty warehouses and Europe were kind of similar. In Europe, a lot of businesses were not ready for automation. Do you have plans to do this as a side business or maybe a startup inside the European Union?

19:47 – Mansur Nurmukhambetov
We keep this very much in mind. To be honest, a lot of businesses require applications to manage logistics, manage the warehouse, place orders. These are common tasks for retail and wholesale. It’s a natural idea to scale this up, make it multi-tenant, and allow other users to use it.

But for now, we are focusing specifically on automating our parents’ tasks. We want to solve their issues first. We are reaching the stage where we’ve automated most tasks, so rolling out the applications for even the Kazakh market is on the table.

20:58 – Amir Nurmukhambetov
Also, our tools worked because we were quite close to the actual client. If we introduce it as a startup, you have to be more gradual. You have to be more aligned with customers and be very close to them to specifically build applications tailored to them.

21:39 – Askar Aituov
We have another question from Artur Khvan:
“To what extent did you have to immerse yourselves in the day-to-day operations and internal processes of your parents’ toy retail business in order to design and build these automation apps? For example, understanding inventory flow, sales routines, supplier orders, pricing, reporting?”

22:16 – Mansur Nurmukhambetov
There are two steps to this. On one hand, we would sit by our parents—literally sit right next to our mom—and analyze how she does her work. We’d spend hours observing every move, copying stuff from Excel sheets, and asking about the process: “Why is she doing that? Why not use this feature?”

On the other hand, we have long discussions in the evenings to understand the business process. Our dad is heavily invested in how every business process works and how everything is structured. He is the domain expert. He knows the ins and outs. He writes it out on paper, shows it to us. Most of the planning and features are done by our dad; he imagines there has to be some sort of UI, it has to be comfortable, buttons big enough for mobile, etc.

All of this is taken into account. Our dad is the main source of ideas. We take input from that, brainstorm ourselves, propose additions, and then execute.

24:23 – Amir Nurmukhambetov
I think it’s very nice teamwork in this case. We understand each other from half a word almost. It is very easy to explain exactly what they want, even though they don’t know the right terminology in programming.

24:54 – Askar Aituov
So they are like the Product Owner, your dad is the experienced Product Owner.

We have a few minutes left. You guys both studied in European universities—Eindhoven and Groningen. These are super techno-parks, mostly focused on science. In Kazakhstan, it’s sexy to go to California or London. I don’t know many people going to your universities. What is your take on the job market and competitiveness for developers in Europe compared to Central Asia?

26:41 – Amir Nurmukhambetov
Eindhoven is considered to be one of the technological cities in the Netherlands. There are a lot of startups and events where startups gather. Just yesterday I was at a startup event where people pitched their ideas. It’s a great community.

Considering the market, right now as a junior trying to find an internship, I’d say it is quite difficult for me personally. But I believe the market is still growing in Eindhoven and there are a lot of opportunities, especially in the Netherlands.

27:56 – Mansur Nurmukhambetov
I can follow up on that. You have the big tech companies like Booking, and the community there is quite big. But there is another side to the Netherlands, which is a lot of small startups or companies that do smaller works. We work in a software consulting company, and I noticed that a lot of projects involve multiple companies working together on smaller parts of an application.

One startup provides a modem, another provides the AI algorithm, another makes the mobile app. It’s a lot of companies joining together and working such that they can provide the solutions. I think that’s very cool and haven’t really seen that as pronounced elsewhere.

29:23 – Askar Aituov
Thank you. So the job market for juniors is kind of the same as in Central Asia, but for companies, the value chain is more sophisticated and companies work together.

Last question from Artur: “What would need to change (or be standardized) to make it scalable beyond your own family’s store?”

30:03 – Amir Nurmukhambetov
It really depends on the different businesses. I don’t really know how other businesses operate. It’s understandable they use Excel and 1C, but our family business is quite rigorous in the way they work. There are a lot of standard tasks that each person does. Other businesses might be quite vague. So there should be some required changes to make it scalable.

31:03 – Mansur Nurmukhambetov
Adding to that, the solution itself has to be made generalizable such that it’s not dependent on our workflows. Maybe we could introduce our own mindset of doing work to them—because people lack the process of how to do something.

If we go for scaling, it would be more like adding one client, then another, and seeing one-by-one how the application generalizes. Right now, our connection between apps is through Excel sheets. Maybe someone wants a direct connection or a unified monolithic project. We will experiment and evolve the project as the number of companies using it grows.

32:25 – Askar Aituov
I think this project has great potential. We will conclude here. Probably I will write to you after one year to see if you continued with this project. Thank you, guys, for your time and thank you Artur for the questions. Amir and Mansur are both on LinkedIn if you need to contact them. Have a great day!

33:00 – Mansur Nurmukhambetov
Thank you.

33:03 – Amir Nurmukhambetov
Thank you. Goodbye.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.