Founders Hussein Ahmed, Skyler Johnson-Wagner, and Samah Gad built KustomNote as an add-on to Evernote, which allowed for creating structured notes. Later, it was transformed into 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, its 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.
The Gearheart team joined the project back when it was called KustomNote. We started with the initial project version that we extended with tons of new features, conducted two complete application redesigns and rebranding, and eventually brought Transpose to its final state as a complex world-class data management system.
Small businesses acquire tremendous amounts of data that need 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 expensive enterprise systems and purchase consulting services to educate employees to use them. A 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.
The Transpose project initially began for us as a small bug fix project on Upwork, but the founders liked how we work. Soon our cooperation developed into the gradual rewriting of the entire back end and essentially developing a new, more sophisticated web application. The initial version was quick and dirty (which is fine for an MVP), but we 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. The Transpose founders regularly provided new feature ideas and designs, so we clarified requirements, prepared technical specifications, and implemented new features.
We 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.
The entire application was built as a single-page application based on Angular. The back end, based on Django, served only a REST API; everything the user saw was rendered in the browser.
The back end provided API both for web and mobile applications. Transpose had both iOS and Android applications, so we implemented our versioning system to support multiple API versions simultaneously.
The 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 we met standards on each release.
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, and signatures. 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 teammates or outside users, smart search and filters, and 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 who registered in a specific date range or had a status assigned was filterable. Each template offered different filter options.
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.
Data viewed in a preformatted table.
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.
Other 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.
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, and 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.
The landing page, built with Django CMS, easily allowed for the creation of new pages and the ability to edit them on the front end. Django CMS allowed for the composition of pages with separate “blocks.” We implemented a set of custom blocks for Transpose, which allowed the administration to create pages with different structures.
For example, the main, features, and partners existing pages were all created in the Django CMS editor.
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:
We successfully completed implementation for all requests, changes, and additions to Transpose over the two-year period we worked with them.