Mastery in the digital era

We are Crafting Software, a small but steadily expanding team located in Cluj-Napoca, the heart of Transylvania. It's a beautiful city with great universities and a fast-growing tech community.

We as individuals joined forces in 2015, with the goal of building a highly competitive team, fueled by curiosity and itching to solve the most challenging, technological problems. Our team consists of engineers with more than 8 years of experience on average. They have previously worked on a variety of projects with individuals, groups and organizations from around the globe; places like Silicon Valley, Paris and Tokyo, to name a few.

Our collective experiences allow us to tackle a wide range of development stacks, and to quickly adapt to and learn about new technologies as needed. We consider the confidence with which we approach new challenges to be a key differentiator for us as a business.

Product design

Effective research for a better appreciation of the user’s needs and business goals. Low-fidelity prototypes to support discussions and user testing. This is an iterative process that ends once we find the best and most practicable solution.

Professional graphics to enhance the product’s visual appeal while adding an extra layer of creativity to the mix. Break-down of the final solution into smaller components that can be worked on immediately by engineers.

Web Development

Thorough code review process; all code has to follow well defined quality standards before being accepted. Mandatory testing, which is an invaluable tool when enforcing code quality.

This allows us to continually improve by refactoring with a minimal risk of introducing bugs. Having an easily maintainable code base with little technical debt is vital to a software product’s success. Pair programming is used when working on critical code sections. Continuous integration is relied on to enforce our quality standards with each build/commit.

Mobile development

Responsive websites that function as intended across multiple smart devices. Wrapped web applications as native applications.

Android native applications that adhere to the material design guidelines. iOS native applications that comply with Apple’s human interface guidelines.

Quality assurance and maintenance

Manual verification of newly developed features. Automated test suites for stable features. Role-playing test sessions for detecting functionality and usability issues.

Live monitoring of systems for the swift identification and resolution of production issues. Data analysis for identifying usability issues and improving the user’s experience with the product.

Technical Skills


Technical Skills

Our team members attained and honed their technical skills through their previous engagements with consumer and enterprise products in a wide range of domains, such as:

Financial Trading Online Education Bioinformatics IT & Telecom Real Estate Content Delivery
Functional languages Microsoft Technologies Mobile Javascript Python Databases Infrastructure
Elixir & Phoenix Framework, Elm / C#, ASP.NET, ASP MVC, WPF, F# / Android, Xamarin / React, Redux, Node.js, Angular / Flask, Eve, Celery / Postgresql, MsSql, MongoDB / Amazon stack: EC2, ELB, S3, Lambdas, SQS Docker , Jenkins, CircleCi, Bamboo RabbitMQ, Plivo SDK, Amazon SES
The Process

The work process is divided into 3 major steps:

design coding/testing support.

First, we conduct relevant research to ensure we identify and work on the right problem. Once we understand the user needs, the business goals, and the technological constraints, we begin iterating through mockups with increasing degrees of fidelity. User testing is critical for ensuring that the solution we devise works.

Visual design is the icing on the cake that is a feasible prototype which has been proven to work properly.

Communication between the product and engineering teams is crucial during the development stages. We follow an efficient process with small increments to provide quick results and identify risks at an early stage.

Once the features are stabilized, manual test scenarios are automated and included in the regression suite.

Once the solution is live, support is needed to resolve any issues that arise in the production environment.

Customer requests are confirmed, analyzed and transformed into improvement requests for the product and engineering teams.