Creating a Project Management Tool

Country: United StatesTechnologies: Angular, Django, Python, PostgreSQL, Solr, Sass, AWSTime together: 2 years Team: PM, BA, 4 developers, QA


Founders Hussein Ahmed, Skyler Johnson-Wagner, and Samah Gad built KustomNote as an addon to Evernote that allowed creating structured notes. Later it was transformed to a stand alone application that aided customers in recording, storing, retrieving, and sharing custom-structured notes. Kustomnote users were predominantly individuals along with a few small businesses. In 2015, founders determined that their business customers needed new additional features that pulled insights from unstructured data, files, and voice recordings. A decision to redesign the program led them to rebrand KustomNote as Transpose, and target businesses as their primary market.

Gearheart team has joined the project back when it was called Kustomnote. We have started with initial project version that we have extended with tons of new features, conducted two complete application redesigns and rebranding and eventually brought Transpose to it’s final state as a complex world class data management system.

Purpose and need

Small businesses acquire tremendous amounts of data that needs to be organized and stored. In order to track customers, products, tasks, projects and other entities, users have to utilize an entire ensemble of separate tools, or buy an expensive enterprise systems and purchase consulting services to educate employees to use it. Better way would be to build their own tool that matches their workflows and data structure instead of adapting to existing solutions, but this requires technical expertise and generally takes much effort.

It's an entirely new platform that enables users to design solutions matching their unique needs, and to leverage technologies, such as world-class text analytics, which were previously available only to large companies such as Amazon, Google, and Microsoft. Our vision is to provide an enterprise-level platform that doesn't require knowledge of database design or a huge set of complicated, expensive technologies, and yet delivers the same level of utility.

Hussein Ahmed
Hussein Ahmed,
CEO, Transpose

Transpose eventually developed into a manageable tool that allowed customers without any special training to build databases, add records, manipulate data, visualize and analyze their business progress.

Structure and Features

Transpose allowed users to define a variety of data structures (templates) and then enter records to define each structure.

For example, a user may want to track their clients. Using the simple user interface, anyone could create a template called “Client”. Then define a structure with a simple drag-n-drop UI that declares that every client would have a Name, Registration date, Status, Description and an optional photo. With a defined structure the user could add new Clients to the system by filling in forms within that structure.

There was no limit to the number of object types, record numbers, or cases available for use. The application tracked tasks, employees, products, plans, and workouts. Typical fields used by small businesses may have included text, numbers, dates, google contacts, attached files, voice records, time tracking, signature. Transpose has supported 30 different field types.

Transpose offered numerous features allowing users to manipulate data in a variety of ways. Data visualizations and discovery. Sharing records with team mates or outside users. Smart search and filters. Embedding records on external sites. Many other features were available:


Solr, an Apache platform, performs searches. Custom plugins made the search accurate and Apache’s Pika attached pdf or doc files. By entering an email, external services could find pertinent information regarding that person, and a third party library recognized voice records and used them for searches.


By specifying a structure filtering was possible using any field. For example finding clients that registered in specific date range or had a status assigned was filterable. Each template offered different filter options.

Kanban View

We built a Kanban view where users could select a field then view it as columns. This made it easy to follow any sales process, project progress, etc. Editing records was simple with the Drag and Drop on Kanban view.


The calendar view was set up similar to the Kanban.

Table View

Data viewed in a preformatted table.

Analytics View

For each template the user could specify the report structure, a chart type, field to use, filter option, color, etc. We drew a dynamic analytics dashboard for each client based on their requested data.


Others people could share in the use of templates and records within the system. Administrators could specify a permission level for each invited user. Read only, read+write, write only, and administration options were available. A customer could establish a write only access file if he required certain security for a questionnaire filled out by employees. Embedded public templates built into an external application allowed visitors access and the ability to fill in fields.

Public records

Customers had the ability to embed different records to external sites with a special html tag.

Also, public forms were accessible by external users, which is a great way to conduct questionnaires, tests and interviews.


PDF, Excel, CVS files could be exported.


This feature allowed the importing of data from other files. Users could upload an xls file and when we detected the structure we generated a template and imported the records.


Zapier, Evernote, Google Maps, Google Calendar, and Google contacts were all available for integration into the system.

Landing page

The Landing page built with Django CMS, easily allowed for the creation of new pages and the ability to edit them on frontend. Django CMS allowed for the composition of pages with separate “blocks.” We implemented a set of custom blocks for Transpose, which allowed administration to create pages with different structures. For example, the main, features, and partners existing pages were all created in Django CMS editor.

Transpose targeted several audiences and created separate landing pages for each one, which was simple to do using Django CMS editor.


The Transpose project initially began for us as a small bug fix project on Upwork, but founders liked how we work and soon our cooperation developed into gradual rewriting of the entire backend and essentially developing a new, more sophisticated web application. The initial version was quick and dirty (which is fine for an MVP), we have converted it into a production ready system that was scalable and reliable.

Business development, marketing, and customer support took place at the Transpose headquarters in Seattle, Washington. Transpose founders regularly provided new feature ideas and designs, we have clarified requirements, prepared technical specifications and have implemented new features.

We have suggested and adopted an agile workflow based on git-flow that included estimations, code review and regression testing. This process prevented system crashes and ensured better communication and project development with higher efficiency and superior organization.


Entire application was built as a single page application based on Angular. The backend, based on Django served only a REST API, everything the user saw was rendered in the browser.

The backend provided API both for web and mobile applications. Transpose had both iOS and Android applications, so we have implemented our versioning system to support multiple API versions simultaneously.

Mobile apps had an offline mode. We implemented a sync API so the app could catch up after working in offline mode. We introduced a record versions check to ensure that conflicts were resolved correctly if an edited record was in the app and browser at the same time.

While developing the application on a single page we faced problems with Angular’s performance due to large amounts of data. We produced workarounds to ensure the application worked smoothly and incorporated automated performance tests into the release process to make sure that we meet standards on each release.


We used Recurly to manage all the payments, which were subscription based and made with credit and debit cards.

While the company tested different business models, we implemented diverse payment mechanics:

  1. payments per user
  2. payments per team
  3. limited features during trial
  4. limited time during trial
  5. limited records amount during trial
  6. discount coupons


We have successfully completed implementation for all requests, changes, and additions to Transpose over the two-year period we worked with them.

more cases to explore

Creating custom clothing website

Country: United StatesTechnologies: Angular, Django, Python, PostgreSQL, TypescriptTime together: 1 year Team: PM, BA, 2 developers, QA