How to build a hardware startup – CodeAll – from scratch to market implementation


Almost 90% of  startups fail . Despite this, the number of startups is constantly growing. I also did it. It is not only about money, although it is also the motivation for many founders – the number of so called unicorns i.e. startups worth over  1 billion dollars, increased by over  350% between 2013 and  2018 . For me, it was mainly the desire to develop. I had a great need to do something that was creative and innovative, but at the same time valuable to others. This is what  makes my work meaningful.

In the last few years in  Expansio  we have built and are still building among others:

  • Chatbot for learning programming, in which while learning you program intelligent environment using wireless sensors (CodeAll)
  • Educational game for companies ,implemented, among others, in Volkswagen Poznań (Enter the game)
  • Machine learning algorithms for natural language processing for corporation (BigData Chatbot)
  • Many mobile applications for corporations (programming services)

CodeAll is a unique project. The history of Expansio began with it. It was the most complex undertaking, as part of which we implemented a chatbot, a mobile application and built equipment in the form of wireless sensors. We took part in acceleration programs (e.g. Google Launchpad Start, Swiss Kickstart Accelerator). We won awards (the first place in the  Edulab competition and the possibility of investing PLN 1 million in the project,  TOP 10 educational  startups from around the world during the South Summit conference). We went to trade fairs (e.g. to Rwanda or South Africa ). We received funding for the development of the project in the amount of over PLN  2 million.

Today we are at a point where I would like to share our experience in the development of this project. It was a story with many ups and downs. Despite the difficulties, the experience of the company’s development is invaluable and very satisfying for me.

I would like you also to be aware of where we are today. Is CodeAll a profitable, stable startup? No. The project is not yet available on the market for anyone, although the first sale and implementation is behind us. There is still a risk that in the future CodeAll  could be included in the group of 90% of  startups that fail :). However, we are  doing everything we can to prevent it from happening. We are in the place where:

  • We have built a team of over a dozen of people (programmers, microelectronics, graphic designers and ,designers)
  • We have completed a grant from the National Center for Research and Development worth PLN  2 million
  • We have completed a grant from the European Commission worth EUR 50, 000
  • We have completed the first sale – we issued the first invoices worth almost PLN 150, 000


Who is this article for?

It will be a long text, intended for people interested in more detail about the next steps in building a startup, not  a relaxing reading for Sunday afternoon. This article is :

  1. For people who are considering establishing their own startup – a company, that develops a risky project, often requiring large funding.
  2. For those who are just curious what is it like to quit full-time job and start your own business.


What will this text be about?

  1. How did we come up with the idea of CodeAll  as it is today and how has it evolved over time?
  2. How did we maintain financial liquidity, where did we raise funds to build  an expensive hardware startup and why did we reject the investor’s proposal at the beginning of the project?
  3. Why and in which acceleration  programs and competition did we participated, how did we get to them and what was valuable in them?
  4. How did we build the team, organizational culture, what was the most important for us in this regard?
  5. What challenges did we face while creating the product and what we did not anticipate?
  6. How did we get to the first implementation ?

Since the whole text is long, and we don’t want to overwhelm you with it, we have divided it into several parts. The first part will focus on the beginnings of the project. I will describe why I have decided to take up this project and how we took the first steps from idea to action.

This is our personal history of startup development, which does not necessary coincide with the stories of other companies. For example, we avoided looking for an investor, scaling the product quickly and taking the market. Therefore, it is not a story like from an American dream from zero to a millionaire, in which we quickly acquired new investment rounds, ending with entering the stock exchange. We had a different, turquoise idea for the development of the company and I will be happy to tell you about the opportunities and threads of this approach.


Where did it all start?

The history of the project did not start with a specific product idea. It started with my motivation to be an entrepreneur. I didn’t know what I was going to do yet, but I knew I wanted to start my own business.

Earlier,  I had an opportunity to go to the University of Cambridge  for the TOP 500 Innovators program ( There I gained knowledge in the field of commercialization of scientific projects, building startups, soft skills and conflict resolution. During that time I was a full-time employee – I worked as a programmer in IT scientific projects.


After returning, I was offered to join the new  Grinfinity  startup as a co-founder; this startup is building a tool to save energy in computers and machines. A year later, I decided to start my own company.  Expansio was founded and I finished my full-time job.


Project idea

I had a few project ideas at that time, but ultimately I have chosen CodeAll. The history of the project began in 2016, when I met my teenage cousin. Michał wanted to learn programming, but he didn’t quite know where to start, and books, films and tutorials on the Internet did not motivate him. Programming is a very complex field, there are many different programming languages, various  platforms that you can write programs on and lots of tools you can write the code on. It can be overwhelming for a beginner.

I thought that such people want programming to be in a way fun for them, give them satisfaction and practical results. If I am to spend hundreds of hours learning the theory first before writing an interesting program, it can be disheartening.

There are many courses (e.g. Coursera) and online tools (e.g. Codecademy)for learning programming, but they are usually used by people who associate their future professional career with programming. Many people, on the other hand, would like to play with programming first, without much effort, before deciding if it is for them.

I wanted the effects of programming to be as interesting as possible. I discovered that it is much more interesting to “go outside the computer” with the program – that is, programming some physical device. At that time there were already various types of robots on the market that, when properly programmed, could, for example, move along the line or perform other activities. I realized that their possibilities are limited and such fun can get boring really quickly. The capabilities of our device should be much greater.

At that time smart home devices became really popular. I thought – this is it ! We could build a set of many different kinds of  wireless sensors. Each of them alone would be very simple and would perform a simple task  e.g.:

  • The distance sensor provides information about a distance from it to the object in front of it,
  • The button sends information whether it is pressed,
  • And a smart socket switches the electricity on or off from the device connected to it.

A set of many ( a dozen or several dozen) sensors would allow to come up with hundreds of different scenarios. And it would be even more interesting if we could connect these sensors to the Internet and send and receive information from e.g. Facebook, Google or Spotify.

It  would be great if we could launch CodeAll application and start programming for the first time in our life and in 5 minutes write a code that triggers an alarm (e.g. plays a loud Spotify song on our phone), when someone comes to our house after 10pm and additionally saves information about this fact in the Google sheet.

We get maximum results with minimum effort. This would definitely motivate me to learn programming .

The meeting with Michał also showed me how valuable is the contact with the teacher/someone more experienced. I was wondering if it would be possible to build a virtual teacher, who would lead the student step by step through all the lessons, answer questions on an ongoing basis, check progress. And this is how a chatbot was added to the entire set.

The idea seemed complex and crazy. CodeAll was supposed to include:

  • a chatbot, in the role of a virtual teacher (challenges: fluent conversation, answering users questions, step-by-step guidance through subsequent issues),
  • equipment in the form of at least a dozen of wireless sensors (challenges: reliability of wireless communication, low production cost, nice design),
  • scenarios in which complex programming issues would be explained in simple language by analogy with everyday life, and short uncomplicated programs written by the user would connect to sensors and perform programmed actions.


There are certain  ideas that are really valuable but technically not complicated to build. Today, after many years of development, Facebook is one of the most complex projects, and if you believe information from the Internet – it has more lines of code than  Windows 10. However, Mark Zuckerberg built the first version of Facebook in just 2 weeks. Such projects also arise today (e.g. the Polish Albicla).

On the other hand, there are ideas that are very complicated to implement. For example, building a nice, efficient (with a long range), safe and accessible to the masses electric car  was a huge challenge when Tesla was created.

I don’t want to compare CodeAll to the construction of an electric car, but the idea certainly didn’t sound like another simple instant messaging program. I remember talking to people who ran other startups and hearing about our idea said : “Oh gosh,  I think you will need a few million for this”.

However, I was convinced of the project because:

  1. In the conversation with my cousin I used a similar method of teaching programming. I showed him a game in the browser (in which you flew around the planet and collected points) we made simple changes to its code (e.g. we modified the variable) and after refreshing the browser, the plane, for example, flew faster or had different color of wings. This form of learning was very attractive, understandable and motivating for him. So much so that in the following weeks and months he studied programming himself.
  2. There was a simple idea how  CodeAll was supposed to make money. The company has to make money and the key  question for me from the very beginning  was – how and how much will we earn on this? It may not sound romantic, but the question will have to be confronted sooner or later. At that time I did not feel confident enough to propose a business model in which the users pay, for example, for lessons or other content, and even less so , for example, for advertising. I had the feeling that people’s willingness to pay for content on the Internet was getting lower and lower, and I’d never build anything that made money like that. Selling equipment seemed to be the safest solution  (unfortunately, difficult to scale), and I decided to leave the remaining ideas for later as an additional element.
  3. I could see a very fast developing market of  STEM tools , i.e. devices that support learning. I didn’t know the LittleBits startup then, but about a  year later I found out about them and I noticed how much sales they had, and in the last round they raised 40 million dollars. Today they do not operate under a separate brand because they were bought by Sphero.
  4. And of course I noticed a constantly growing demand for programmers, and therefore also a demand for learning programming. In one of the reports, I read that 90% of parents in the US would like their children to be able to program. I don’t know how much truths there is, but it’s a fact that there were many programming schools opened.


Idea implementation

The idea seemed so complex and expensive that  I had no clear idea of how to get from scratch to the finished product. However, I had:

  1. Experience in pitching, presenting technical products and meeting clients , all from the previous startup. I’m an introvert, therefore performing on stage, selling and being in company is not my natural environment. On the other hand, I was aware that without selling even the best product in the world would suffer an overwhelming defeat, so I spent a lot of time learning these skills.
  2. Ability to write EU applications. I worked for many years in a company that lived on public funds, so I understood how to write and settle such grants.
  3. Persistence  🙂


I did not want to invest only my funds. Firstly, because I didn’t have that much money. Secondly, – the project was very risky.

I also didn’t want to start with looking for an investor. I was afraid of too much pressure at the very beginning of the project when we only had an idea that could still evolve a lot.

I know that many people have criticized and still criticize  the EU funds. Yes, they can be a very big threat – for a given company, but also for the economy in general. However, I think that using these funds fairly and building real innovation can be beneficial for a startup.

Then I applied for funding to the Marshal’s Office for research in schools. An opportunity has just emerged to raise funds to introduce innovative services and products to the market. It was a very complicated application. The maximum amount that could be applied for was a dozen or even several dozen million zlotych, so companies with much more complex projects also applied, but the requirements in the application were the same for everyone. I wrote the application while on vacation – I went to the mountains with my wife and I had a really nice  view from the window but I spent the whole time in front of the computer :(.


I didn’t want to start with building the target product, but rather go to schools to talk to students and teachers about what learning looks like today, what, in their opinion, would encourage programming and what their opinion is about our project. At the same time I wanted to use these funds to build the first simple prototype – then without sensors.

I wasn’t alone then, I invited a friend from university to cooperate with me, who became a partner in the company: Adrian Szymczak. Before we got the funding results, Adrian received a very attractive job offer from an American company as a machine learning engineer. The offer was so attractive that Adrian decided to accept it and left  Expansio. However, it was very valuable to me that I had a partner for this short period of time. Developing the company with someone you trust and who has the competences that you lack gives a lot of support.

It so happened that a few years later our path came together again and Adrian is helping Expansio once more  – this time using the machine learning knowledge that he has gained over the past few years.

The funding was awarded to Expansio and the adventure began. There is probably no point in talking about the merits  of this project – we just step-by-step implemented what was written in the application.

The important thing, however, is the fact that a startup is a company like any other. Expansio is a limited liability company, which involves more formalities in running a business than in the case of  a sole proprietorship. You have to submit financial statements, adopt resolutions at the shareholders’ meeting and e.g. pay more for accounting :).

Due to the co-financing we hired the first two people in the company under an employment contract – me and the first employee :). This involved the payment of social security contributions and tax to the Tax Office. I realized at that point that when an employee earns PLN 4000 net, then as an employer I additionally pay over 67% of this amount to the offices (according to the calculations from this calculator  of June, 24, 2021).

In addition, one should take into account the fact that I received a grant, which means that a very large part of the costs (then it was  80%  of the amount so approximately PLN 180, 000) is covered by EU funds, but 20% still has to be spend out of your own pocket. On the other hand, the completion of the project was not directly related to the company’s revenues. No – we wanted to do research in schools and implement the first prototype, and not have a ready-made tool that we would immediately start earning money on. We did not make money on this project and you have to live on something.

The worst, however, came after a few months. I assumed that the next installments of the funding would come in regularly every 3 months. The first tranche actually appeared on the account, but later the office stopped so efficiently  answering our subsequent applications for reimbursement of costs and began to draw our attention to minor mistakes in the documents. Each mistake delayed the  payment for another weeks and months.

I could tell in detail what happened next. Perhaps, when I describe it briefly,  it will be hard to believe. However, it was so – and it affected not only me, but also most of the companies that participated in this funding.

Due to the very large formalities in the project and a large number of companies, that were serviced by the office, we received the remaining amount of money… 2 years after the end of the project ! (3 years from its start).

Initially, I used my savings to maintain financial liquidity. Later I started asking my family for help. The worst thing, however, was that despite many  e-mails, phone calls and live meetings with the officials, I did not know how long it would take – a week, a month, half a year or more.



Today I am grateful for this situation. It also showed me that you need  financial proficiency in running a startup. No, I don’t mean the so called creative accounting, e.g. accounting in company costs something that is used for private purposes or generating some “false invoices”. Honesty in company’s finances means a good night’s sleep and the opportunity to focus on what is the most important in the company instead of making sure that some scams are not disclosed.

By financial proficiency I mean understanding and keeping an eye on all costs in the company, anticipating what may happen in a month, two or three (currently in Expansio I try to predict a year in advance) and looking for alternatives, sometimes unobvious sources of income.

We started our business without contacts with companies or entrepreneurs to whom we could sell something, without an investor, even without a clear answer when we could start making money on our product. In addition, if the company does not receive the  funds that it should receive on an ongoing basis, it may lead to its quick death. You need to be smart to survive 🙂

This article is very long now and I think it’s time to finish its first part. The conclusions from this stage of developing the company are as follows:

  1. Financial liquidity is like a bloodstream, also in a super innovative startup that changes the world – financial liquidity retention can end just like stopping blood circulation in the body. It is worth having a  plan B and thinking about  where to get the money from (or when to file for bankruptcy).
  2. I did not start the company to add to my monthly salary. To be honest I had no idea how to start earning in a short period of time. I was working with the desire to build something bigger and I was focused on whether what we were building had any long-term value. I was hoping that we would manage somehow. You can call it youthful enthusiasm or carelessness. This is probably why the older you get the more difficult it is to make a decision about starting a startup. You need a little bit of madness. We did manage but it took a lot of stress.

However, I draw a conclusion from this that it is more important to focus on building  value in the company that may turn into money only after some time, than looking for a short-term profit. This applies to the product but also to the organizational culture.

3. Therefore, it is difficult to build something lasting, valuable and something which you will be proud of without toil, sacrifice and work. I think, first of all, work on yourself.

In the next part I will tell you how we dealt with almost PLN 200, 000 of family debt, how we got an offer to invest PLN  1 million in the company from an investor and why we rejected this offer, how we later obtained a grant for over PLN 2 million, where we took money for our own contribution from and how the project and the whole company developed :).  Until next time !

Dodaj komentarz