Since the dawn of time and the subsequent patenting of time, man has asked when will my Patent be approved. What stage is it in. And when will that patent on the hills hoist expire. IP Australia is constantly fielding calls from patentees to be. Wanting to know about the status of their patent or trademark. and they can take wildly different amount of times to be processed. As an applicant its hard to tell if my Perpetual Motion Machine will be approved in half a year or in three.
Enter Patent Pending, a system that will let users follow updates on patent & trademark applications. Contacting them when the state of the application has changed.
The solution itself is divided into a series of domains, each responsible for a specific purpose.
Our front end is a Native Android app written in java,
It communicates with a set of Node Lambda functions that funtion as an API.
Our persistence layer is also sitting in AWS on a Postgres RDS instance.
Datasets / Loaders
Data is loaded into our RDS instance from the IP australias demi god data set by a set of loaders scripts written in ruby.
The idea is that they can be run whenever the data is updated in one of the demigod files.
Part of the loader system is a set of node lambdas that are responsible for building our own representation of the state of a trademark or patent. For patents we build this state using a set of rules provided to us by IP Australia and for trademarks by making use of the Trademark timeline status endpoint.
This lambda also will populate the expected close date of the states.
And one final node lambda that is designed to run on a schedule, checking any of the applications that are being watched and communicating to an AWS SES to send an email to the user.
Push notification was descoped because of the length of time someone owns a phone compared to the length of the application process. The functionality is still close to done but we stopped working on it at about 1130pm Saturday night.
We can also easily use machine learning to the prediction of end dates.
Also the app doesnt remember which applications follow.