MCR Labs: MMJ Testing Laboratory

Massachusetts Cannabis Research Labs is a team of researchers, analytical chemists, pharmaceutical scientists, and technologists using big Pharma-inspired quality control and testing methods to help patients find the best medicine for their needs.

Initially, the lab just needed a website that would clearly explain what they do and present data from their labs to the public. Subsequently, they’ve also come to us with various automation needs for displaying test data as well as producing data reports and sample labels.


All work done by Sasha was done on time and to the highest quality. I was very happy with the level of communication throughout the project. Her attention to detail and creative vision made the website stand out in just the ways we wanted. I highly recommend her!

Michael Kahn
President at MCR Labs

  • What we did: Wordpress web development, Front-end web development
  • Project features: Automated PDF report generation, Data visualization
  • Visit Website

    The Challenges

    • presenting data is a visually ┬ácompelling way
    • creating tools helpful to MMJ patients
    • improving and optimizing data uploading
    • automating frequent tasks to improve team productivity
    • giving lab clients (dispensaries and licensed growers) control over publically available data along with access to records of past test results

    The Solutions

    The original website is based on a premium WordPress theme, our work consisted of creating new features rather than revising any existing designs. In order to keep the website visually appealing and informative at the same time, we created visual representation of all data in forms of charts as well as graphics to represent chemical elements and workflows.

    MCR Labs homepage screenshot

    Dose Calculator

    In order to provide useful real-life tools for the patients using MCR labs’ website we created a dose calculator that allows them to quickly find out how much of a given product they need to consume in order to reach their prescribed dosage of either one of the three major cannabinoids. The calculator works by taking the reported sample values and processing them against the prescribed amount via a combination of JQuery and PHP.

    JQuery and PHP based dose calculator

    Data upload optimization

    Due to the high volume of samples processed by MCR labs, uploading data one sample at a time simply isn’t a viable long-term option. We’ve devised a way to take advantage of the WordPress import feature and import large volumes of sample data using a CSV document generated from an Excel sheet.

    Automated PDF report and label generation

    Prior to automating the report generation process an employee of the lab had to create each report individually and then send it off to the client. As part of improving productivity, we created an automated way to create reports and product labels by simply clicking a button on the sample’s page while being logged into the website.

    Buttons allowing auto-generation of reports and labels

    The code takes reported sample data via PHP and generates PDF documents via fPDF. The final result displays all the relevant data plus charts, client information, and relevant disclaimers.

    MCR labs sample label

    Client login and account areas

    The other part of the automation process consistent of creating a members area for the lab’s clients. Here they are able to generate their own sample reports and labels, eliminating the need for having a lab employee email these documents. The login functionality limits clients from accessing the website’s back-end CMS so, they are not able to change any site or sample information, nor can they access any of the website’s settings. However, the clients are able to access their account page which displays all of their processed samples and allows them to have control over which samples are shown on the website.

    Client area screenshot

    This area takes advantage of a number of WordPress user related functions and allows for the changing of sample post statuses through the front-end of the website. It also ensures that clients can only access these additional features for their own samples, rather than for all the samples available on the website. The status action buttons are also available for logged in clients when viewing individual sample results.