Keenmate

Sales Portal

Customer

One of the biggest Czech insurance companies

Description

Sales support portal is used daily by thousands of users and serves as a main source of information for insurance agents. It's running since 2009, and beside standard SharePoint functionality, this portal is full of custom server code, user controls, event listeners and Javascript applets communicating with different systems.

Responsibility

In the beginning, our responsibility primarily focused on the transformation of master pages, controls, and existing JavaScript applets to a new design and corporate image, which was part of the migration of the portal from SharePoint 2010 to SharePoint 2016.

Later, we enhanced users' experience with custom JavaScript applets and applications running outside of SharePoint but displayed in the portal.

Technologies used

  • C#/.NET, ASP.NET
  • SharePoint 2013/16
    • Server-side development
  • Microsoft SQL Database as backend data storage
  • Small user controls interacting with end users
    • CSOM/REST API development
    • Written in VueJS and Svelte.dev
  • Maintenance application written in WPF and with DevExpress components

Documents repository

Customer

One of the biggest Czech insurance companies

Description

DocumentHub is a documents catalog where documents can be assigned to multiple categories and scopes. Each document can have specific access list based on membership of end user in Active Directory groups, or they can be assigned manually to specific people.

There are thousands of documents stored in DocumentHub, and they are accessed daily by thousands of end users. List of all documents is fetched in one go and later rendered with Svelte.dev applet in SharePoint Sales portal, for maximal user experience.

Responsibility

Analysis, design and implementation of the whole solution.

Technologies used

  • C#/.NET Core, ASP.NET Core
  • PostgreSQL as a backend data storage
  • ElasticSearch as a fast backend data index with fulltext capabilities
  • FSCrawler as a document extractor for ElasticSearch
  • Vue as framework for SPA Administration
  • Svelte (small widgets for SharePoint pages)
  • SyncFusion components library for SPA Administration
  • ActiveDirectory synchronization for cached permission checks and object lookups

Signature collection tool

Customer

One of the biggest Czech insurance companies

Description

Campaigns are a tool for employee signature collection for different kinds of legal requirements, as well as a tool for quick and simple notification of legal documents changes, product updates and so on.

It has centralized administration where administrators define collection campaigns and an isolated JavaScript applet displaying modal dialogs that can be added to any corporate website.

It has become one of the most used applications in the company, saving months of manual labor and communication.

Responsibility

Vision, analysis, design and implementation of the whole solution.

Technologies used

  • C#/.NET Core, ASP.NET Core as a backend framework
  • PostgreSQL as a backend data storage
  • Vue as framework for SPA Administration, soon to be rewritten in Svelte.dev (svelte-adminlte)
  • Svelte.dev (small widgets for target sites)
  • Bulma CSS library (administration & frontend widgets)

Video portal

Customer

One of the biggest Czech insurance companies

Description

Simple video store for training and marketing videos, used by hundreds of employees. After upload, the system automatically converts videos to preset sizes with ffmpeg. It's no YouTube by any means, but it has been used daily without any issues for years now.

Responsibility

Vision, analysis, design and implementation of the whole solution.

Technologies used

  • Elixir/Phoenix as a backend framework
  • Svelte.dev as framework for SPA Administration
  • ffmpeg for video conversion

Microsoft Brand Designer

Customer

One of the top 3 biggest logistic companies in the world, with cooperation with Microsoft

Description

Simple application that allows PR/Marketing teams to update the visual style of login.microsoftonline.com, define which parts are visible, and update text for each supported language.

Basic features of this application are covered by standard screens in the Azure Active Directory portal, but our application goes beyond basic use.

It's intended to be used in test/prod environment setup, with the ability to transfer settings from test to prod environment and from one language to another.

Responsibility

Vision, analysis, design and implementation of the whole solution.

Technologies used

  • Svelte.dev as framework for SPA Administration
  • ASP.NET Core for data transfer functionality
  • Microsoft Graph API for brand settings updates

Newcomers initialization portal

Customer

One of the top 3 biggest logistic companies in the world

Description

Start is the very first portal newcomers visit when they start with the company. It's a portal that first started as a replacement for Microsoft's cumbersome "Password reset" and "Setup multi-factor authentication" screens, but later outgrew its original intent and became a replacement for the internal complicated process of password resets through helpdesk tickets.

It's based on the idea of community support, where certain trusted employees have the right to reset passwords for other users in their scope of responsibility. For example, a team leader of a sorting line can reset passwords for their workers and can also update their MFA phone settings to help them in cases of lost/changed phone numbers.

This project significantly simplifies the lives of frontline workers and their managers.

The whole solution is built with very low maintenance technologies, which helps reduce maintenance fees to a bare minimum.

Responsibility

Formulating vision, analysis, design and implementation of the whole solution.

Technologies used

  • Elixir, Phoenix as a backend framework
  • ASP.NET Core as a backend framework for Active Directory connector service
  • PostgreSQL as a backend data storage
  • Redis as a session store
  • Svelte.dev as framework for SPA Administration, and frontend Javascript applets
  • AdminLTE HTML/CSS framework
  • Bootstrap library (used within AdminLTE)
  • Bulma (for frontend widgets)
  • Microsoft GraphAPI as a connector to Azure Active Directory (Entra)

Location & address management tool

Customer

One of the top 3 biggest logistic companies in the world

Description

Location factory is an address registry that collects, validates, normalizes, and groups addresses from multiple systems into one globally known and verified address.

Location factory uses multiple address providers for validation, but also allows manual validations and manual assignments to global addresses.

Source systems can then reference these global addresses with a global address code and/or use Location Factory as an address registry for all future needs.

Responsibility

Formulating vision, analysis, design and implementation of a big portion of the solution.

Technologies used

  • Elixir, Phoenix as a backend framework
  • ASP.NET Core as a backend framework for Excel exports
  • PostgreSQL as a backend data storage, with PostGIS extension
  • Redis as a session store
  • Svelte.dev as framework for SPA Administration, and frontend Javascript applets
  • AdminLTE HTML/CSS framework
  • Bootstrap library (used within AdminLTE)
  • Bulma CSS (for frontend widgets)
  • Microsoft GraphAPI as a connector to Azure Active Directory (Microsoft Entra)
  • OpenStreetMap + Leaflet
  • Nominatim, Melissa

OpenAI GPT PoC

Customer

One of the top 3 biggest logistic companies in the world

Description

This proof-of-concept application was meant to test OpenAI ChatGPT capabilities in answering questions of end users based on parsed documents loaded into a vector database.

It was based on the idea of having catalogs of documents, parsed and indexed in a vector database, so that later specific chatbots could be placed at SharePoint sites, different HR systems, and so on.

Responsibility

Formulating vision, analysis, design and implementation of the solution.

Technologies used

  • ChatGPT API as a chat provider
  • PostgreSQL as a backend data storage with pg_vector extension
  • SBert as an embeddings generator
  • LangChain as a chat framework
  • Python
  • C#/.NET Core/ASP.NET Core as a backend framework
  • Svelte.dev as framework for SPA Administration
  • AdminLTE HTML/CSS framework

Custom Avaya client

Customer

One of the top 3 biggest logistic companies in the world

Description

Avaya is one of the biggest help desk solutions. Their Windows client was slow and insufficient, so our customer decided to build their own Windows client. After tens of thousands of lines of WPF code, dozens of sleepless nights, and liters of sweat and blood, they now have a tool that is like something from a different galaxy.

Responsibility

Deep analysis of how the Avaya client works and development of a better one

Technologies used

  • Avaya CCAD client
  • Windows Presentation Foundation (WPF)

Babetti

Description

Small website for our restaurant, with image conversion with ImageMagick library and complete menu management.

Responsibility

Technologies used

  • Elixir/Phoenix
  • Vue (administration SPA)
  • AdminLTE HTML/CSS framework
  • ImageMagick

Key aspects

  • Image galleries
  • Image preprocessing
  • Small CMS capabilities