- Perfect communication for specific information.
- Specific Technical knowledge to query database.
- Time to develop is long, and you may have lost opportunity to make a decision
- Complete and instant access to data for non-technical users to make informed decisions.
What it does
Traditionally accessing specific elements of your database required technical knowledge, a lot of time and perfect communication. Resolvr takes out the middle man between those who need to make decisions in their company and the technically proficient. In other words... Siri for your own data.
Users can query their database with their voice or through text, with an extremely flexible, multi-database and multi-schema support.
- Resolvr allows non-technical users to have instant and complete access to their database without writing a line of code or having a dashboard designer implement their needs. It's extremely flexible in that it is plug and play with many popular enterprise database solutions including mySQL and PostgreSQL, and can be further expanded to work with propriety data such as salesforce.
Polish and Design:
- It was important that we created a simple user experience which catered to non-technical users. The idea was to abstract the technical detail away which allows the user to focus on displaying numbers, lists and charts.
We deliver a totally unique experience to those who want to access their data in a convenient and easily readable manner. While other solutions such as PowerBI or other dashboarding tools allow users to analyse complex data at a glance, it falls short in the way it is hardcoded, and requires the person using the application to have technical knowledge in order to make their desired changes.
Our application is original in that we are able to build really complex queries to find relevant information in a database, and present it in a unique manner. We haven’t seen this done anywhere before.
- This program was incredibly difficult for many reasons. The first of which was trying to make sense of the English language, and translate an incredibly diverse set of words, phrases and quirks into a query that a database would understand.
Moreover, removing all hardcoding from the application was a really difficult challenge, but a challenge that was equally rewarding. By achieving this, we provided the most possible value for anyone who may need to use the database; we were able to perform increasingly complex queries and furthermore, perform this on a bunch of different database types and schemas.
To generalise and automate a problem that was difficult to solve by hardcoding was incredibly difficult, which made it all the more rewarding to have our program working, provide genuine value for those who use it.
How we built it
Core (Natural Language Processing):
Using CoreNLP as a dependency parser we created rules to map to natural language to an indexed database structure
The Front End uses a combination of React and SCSS to draw the user interface for Resolvr. All communication goes straight to the Transaction Server where requests flow through out entire back end pipeline.
Using dynamically creqted SQL style models for your database that we generate at run time, we map the resolved query from Resolvr Core to an actual SQL query for your database.
Set's up a high level communication protocol that allows the Font End to have a two way conversation with Resolvr Core so that if requests are made that are missing information Resolvr Core can request the missing details.
Takes the raw output of the Query Engine and the determined return type from Resolvr Core and generates the metadata that the front end will need to render results.
Using queries processed through CoreNLP and using brat visualisation/annotation software users are shown how their questions are broken down in CoreNLP (note: visualisation is avaliable through WebSockets and not apart of the main user interface)
Challenges we ran into
Black Box Magic:
- Indexing and creating an appropriate data structure to interpret between natural language and a structured dataset.
Natural Language Processing:
- Parsing dependancy structure of natural english language to obtain appropriate query conditions.
- Implementing an appropriate component architecture to facilitate development of the natural language engine.
- Designing an appropriate, intuitive user experience to abstract technical detail away from the user.
Accomplishments that we're proud of
- Low-latency: waiting time for query results is minimal
- Creating minimalist user experience by abstracting away from technical expertise
- Mobile user interface
- Generation of both pie and line charts
- Visualisation interface showing natural language processing
What's next for Resolvr
- PowerBI: create dashboards - but require technical knowledge, time and perfect communication.
- Combines the intuitive nature of Siri with the
- Incorporate IOT support with Google Home, Amazon Alexa.
- Support for customer developers to implement specific business logic to enhance their companies capabilities even further. (Compare items in a database)
- Incorporate further accessibility for all users
- Support multiple languages