We decided to change the update cadence to once every two weeks, aligning with our sprints. That way our updates will be more meaningful as we complete clear deliverables in the two week period.

Beginning of Milestone 4!

After several weeks of reflection and planning at the end of the last milestone, we have finally started milestone 4. In this milestone, we will mainly focus on improving quality of the existing features we have created in the past milestones so that by the end of this milestone we would be able to use our own product, a.k.a. dogfooding.
Besides that, we also plan to put more efforts into several essential works like buidling Memri community, Memri incorporation, fundrasing and most important, figuring out our value proposition. As a result, we decided to change the weekly Memri update blog to a bi-weekly blog to ensure content quality. Let's have a look at what happended during the last two weeks.

iOS Frontend

In addition to stablizing the front-end we also added a new feature to the iOS app to enable data collection necessary for indexers. Here's an example of the simple UI for quickly labelling items, e.g. emails. This feature will be of great help when used for gathering data for model training in mechine learning. The displayed content is defined with CVU, so you can show whatever information is relevant to deciding on the labels.

It’s also possible to define a session in CVU for annotating items. Just provide a labelType (you could use different labels for different models) and the labelOptions and thats it!


At the beginning of this milestone we decide to merge several existing components such as Downloaders, Importers etc. into Integrators which integrate your information in your Pod. The functionality of integrators include: import data from external services (e.g. Evernote, Gmail, WhatsApp, etc.), enrich data with indexers (e.g. face recognition, spam detection, etc.), and execute actions (e.g. sending messages, uploading files, etc.). We re-arranged our existing repositories under this new concept.
The current Rust integrator is used for importing Whatsapp messages into the Pod, which is based on a combination of Matrix Synapse homeserver + Whatsapp bridge. Recently we shifted the import source from the bridge database to the homeserver database so that in the future, adding new bridges for importing messages from other networks would become a trivial work as the homeserver database is the only source for data.


On Pod's side, CLI (command line interface) has landed, which allows a more intuitive interaction with the server. All unexpected keys should be reported uniformly at start-up now, and there's no need to look for hidden environment variables across docs and code. Schema verification was also implemented to allow usage of it in e.g. the schemas repository.


The incorporation documents for the Memri coop and the Memri B.V. (limited liability company) are nearing their final forms. Our accountants have plot a route to transfer the IP and contracts to the new entities and we are getting ready to execute everything necessary for incorporation. We will soon vote on the first board of the coop. Once we are incorporated we will officially be a democratic organization combining the best of coop philosophy with those of a funded startup. We'll go into much more details on this in a separate blog article.