DEV Community

Cover image for How I sold my first software project for usd 120, the story of NhaMarket
Assis Ferreira
Assis Ferreira

Posted on

How I sold my first software project for usd 120, the story of NhaMarket

A Unique Class

During my university years, I was part of a rather unique class. Many of us didn't just want to earn an engineering degree, we also wanted to build technology that could make a positive impact on society and create jobs so that one day we wouldn't have to work for someone else.

Some dreamed of building sustainable products (what we now call indie projects), while others wanted to build the next big startup.

The Opportunity

Around the third quarter of 2015, my classmate Gelson Soares, a long-time friend since primary school, invited me to join a project that had been offered to him by someone he knew. Besides me, he also invited Kelton Cabral. The challenge was to build a sales and inventory management system for a retail store.

From the very beginning, we agreed that it didn't make sense to build a solution for just one customer. If we were going to invest our time in the project, we wanted to create something that could eventually be sold to other stores.

The budget was only 12,000 Cape Verdean escudos (USD 120). Although the amount was small, it wasn't the most important thing to us as university students. What truly motivated us was the opportunity to put into practice things we had learned in class.

We decided to name the project NhaMarket, which means "My Market." At the time, we had the habit of using the prefix Nha in our projects, since it means "my" in the Cape Verdean language.

I had other projects with the same prefix, such as NhaMundo, a news website inspired by Brazil's TecMundo. Although it was fully developed, it never saw the light of day.

Another example was NhaBex ("My Turn"), the commercial name of my undergraduate final-year project, which I'll talk about in another article.

Development

We decided to build a desktop application using .NET Windows Forms and PostgreSQL.

Back then, we didn't even use Git or any other version control system. We spent several weekends coding, and whenever questions came up about the database structure or a particular feature, we discussed them until we reached a consensus. We followed the same approach when designing the application's user interface.

The system was designed to run on a local network, allowing the application to connect to a database installed on the same computer or on the store's internal network.

We also designed the logo using Inkscape and prepared a user manual with screenshots of the application's main screens.

The Demonstration

Once we had a working version, we scheduled a presentation with Gelson's contact and the store owner, whose shop was located in the city of Praia.

We demonstrated the system, explained its features, and answered the questions that came up during the presentation. The store owner liked what she saw, suggested several improvements, and requested a few adjustments to better fit her business operations.

We agreed to implement those improvements before delivering the final version.

Payment

A few days after the presentation, Kelton and I started asking Gelson about the payment so that we could move on to the final steps of the project.

He told us that he had tried several times to contact the person who had introduced the project, but he kept being put off. From the way he spoke, it became clear that he no longer believed we would ever receive the money.

In the end, we decided not to deliver the application.

Today, I look back on that experience with a smile. We never received the agreed 12,000 escudos, but we gained a valuable experience. It was probably the first time we built software for a real customer. We gathered requirements, designed the solution, implemented it, prepared a demonstration, and received feedback from an actual user.

It was also one of my first lessons in entrepreneurship. Building software is only one part of the job. The other part is learning how to manage clients, align expectations, and ensure that agreements are honoured.

Screenshots

NhaMarket initial screen
Initial screen

NhaMarket main screen
Main screen

NhaMarket sales dashboard
Sales dashboard

NhaMarket sales Management
Sales Management

Top comments (0)