Project overview

If you ain't got that one super shot of yourself for your profile picture then your online presence will be missing some salt. Profile pictures have invaded everything to such an extend that it is practically impossible to avoid them. You find them on social profiles, blog posts, discussion groups, sharing websites, virtual worlds, gaming networks, chat clients, internet call platforms. They jump at you while logging on to your chosen PC operating system, your mobile phone, your preferred gaming console or even your most recent camera. They come in many flavours, be it user profiles, contact list details, chat buddies. Kartunix - service, which will help users to solve all these problems.

Technologies we used here are:

- Fabric.js is a powerful and simple Javascript HTML5 canvas library.
- Node.js as a backend framework.
- Angular as a main frontend framework.
- MongoDB as a database since it provides a great flexibility absolutely needed in such kind of tasks.


Our goal was to provide a powerful tool for all kinds of avatars customization. That task was really challenging, since it was absolutely necessary to make constructor work extremely fast, all the transitions nearly instantaneous and process large amounts of media data (avatars collections, pics) at the same time.

For the realisation we decided to use Fabric.js framework for the pics drawing and OwlCarousel2 for displaying elements in a user-friendly manner. Undoubtedly, we went beyond the standard with backend development, providing crazy optimizations and speeding the server performance.


Avatars are a bit like logos. Graphical in nature, as the user's alter ego they are ment to identify values, highligthing certain aspects of the persona and downplaying others. Avatars represent the individual and are designed for easy recognition and to generate favourable thoughts and feelings. This is why the Kartunix engine manages layered SVGs. This is how the user's avatar is personalized, by changing hair styles, forms of nose and mouth.

Further, Kartunix works with more than just one avatar set. This allows for the configuration of various styles or types of avatars, be they human, aliens or animals. Storing all that non-typed data is what the MongoDB was created for, so we have designed the database architecture with usage of best known practices to avoid delays in fetching that information. Collections processing is an interesting topic, too, because it is the place where the mathematics comes in to provide as fast as possible data scope handling. For now, we can only tell you that there is a crazy data tree-processing stuff presented :)


The current demands of the online arena requires adaptability, flexibility, and automation. By implementing a responsive design, the screen layout is expanded which, in turn, allows more valuable space for advertisements. We built a framework for content to be viewed on any platform-mobile, desktop, and tablet. Responsive design allows streamlined menus that simplifies user interaction. Additionally, the option to give an advertisement a fixed position, that directs the attention to the most important content while decreasing visual noise.

Let us calculate the costs for your project!