Analytics can highlight preferred prosecution strategies for particular examiners. For example, many examiners have notably higher allowance rates after an interview, like MATTER, KRISTEN. Requesting an interview would be a categorically prudent strategy while working with Kristen. In contrast, ZARROLI, MICHAEL—who is in the same art unit as Kristen—has a high initial allowance rate that does not significantly change after an interview. Requesting an interview with Michael would likely be inconsequential with respect to allowance. Patent examiners are not automatons; these kinds of differences are common. Even in the same art unit there are several other examiners like Kristen (e.g. BORISSOV, IGOR and KENNEDY JOSHUA), and several others like Michael (e.g. WONG, ALBERT and JAYNE, DARNELL). This website facilitates effective decision making on an examiner-by-examiner basis.
This website is comprised of a lot of moving parts. Below is a diagram that outlines the site's general architecture, and below that are some technical explanations of how the various pieces interact. Worth noting: if PAIR is having website difficulties, it isn't because this site is hammering their servers. The patent data you see here is gathered from other public resources, e.g. Google's Bulk USPTO PAIR Data and the PatEx Research Dataset.
The frontend is hosted by AWS Elastic Beanstalk, which provides a load balanced web server environment ("Load Balanced Web Servers" and "Load Balancer"). A reverse proxy ("CDN/Web Accelerator"), implemented via AWS CloudFront, sits between users and the web servers. In addition to speeding up load times, using the reverse proxy reduces the traffic that reaches the web servers, which is good because caching is much less expensive than the load balancer spinning up additional instances.
AWS API Gateway ("AJAX API Gateway") provides secure access to the backend for autocomplete search functionality. DNS and an SSL certificate are also provided by AWS (via Route 53 and Certificate Manager, specifically).
The website itself was built with Ruby on Rails and runs on NGINX. The UX/UI was loosely based on Google's material design guidelines. I used Bootstrap for general template design, jQuery for client-side scripting, and Highcharts for the display of the charts. I regret discovering Material Design Lite after already polishing the styling. Eventually I'll give the site a facelift with it; first, though, I'd like to add some more features and clean up some backend things.
The examiner metrics displayed on this website are computed in real-time by an Elasticsearch cluster ("Examiner Database"). This Elasticsearch cluster, powered by AWS Elasticsearch Service, is populated via two application-specific NoSQL databases ("Patent App and Employee Databases"). These two NoSQL databases are provided by AWS DynamoDB, and themselves are populated from a variety of publicly-available patent resources ("Public Patent Resources"), which are external to this application.
A small virtual machine ("Data Aggregator"), implemented as an AWS Nano EC2 instance, slowly crawls the publicly-available patent resources to keep the two NoSQL databases up-to-date. Whenever an entry is added or updated in one of the two NoSQL databases, an AWS Lambda Python script ("ETL") is triggered that performs an extract, transform, and load operation, rebuilding the Elasticsearch document for the examiner associated with the added or updated entry.
Lots of AWS free credit led to this being a highly AWS-centric application.