​The Opportunity

FamilySearch is an online genealogy and family history tool. Customers use links to find ancestors through external sources and to upload documents. Data is common to all users, so collaboration is key. There was no way, however, for users to explicitly communicate and collaborate within the existing application. FamilySearch asked us to provide this function using the existing framework.

​The Solution

We implemented a customized, user-to-user messaging service, fully housed within the existing FamilySearch site. This new feature allows users to contact one another, without disclosing personal information of users (names, email addresses, locations), thus providing online collaboration while retaining voluntary anonymity.

We provided:

  • Business Analysis
  • Project Management
  • UI/UX
  • Java Architecture

Business Analysis & Project Management

SolutionStream worked with the client’s product team to fully define the functional and non-functional requirements for the product. We held several discovery sessions to prioritize requirements and to refine the original specifications. This close partnership allowed for a quick, iterative delivery of the most important features.

User Experience

We collaborated closely with the Design Team at FamilySearch to implement the given design wireframes. These team members ensured that all visual cues and functionality were in line with the site’s existing look and feel; meanwhile, our UX Team ensured that the frontend integrated seamlessly with the backend services.

Java Architecture

FamilySearch provided general technical guidelines, but asked SolutionStream to research other design options and make recommendations. The client ultimately accepted and incorporated into its existing tech stack the recommendations of our architectural team. The new framework included AngularJS, RequireJS, Java with Spring and Jersey, Feign, Maven, and Cassandra.

Java Development

Our development team handled all backend development, from design inception to implementation. Following the approved technical plan, we implemented a scalable, persistent database for handling all messages, transactions, and storage. Finally, we connected the frontend, the database, and the existing client-side services.