Inspiration
Coming up with comprehensive tests for data intensive operations is difficult. When replacing old code with new code, the ability to compare outputs in a production environment without impacting end users is very useful.
What it does
Insightful is meant to contrast the outcome of 2 pieces of code that result in JSON that should be equivalent. Insightful has 3 components: A nodejs client library, a rest api, and a dashboard. To compare old code and new code in a production environment, both pieces of code are run in production. The difference is that the old piece of code functions normally, and the new code runs in the background without its outcome impacting end users. The insightful client is used to compare the JSON from both programs and publishes the result. Error rates (different JSON) and Success Rates (equivalent JSON) can be viewed over time in an online dashboard that is associated with one insightful user.
How I built it
I used Typescript both in the Node backend and the React frontend. I used MySQL to persist the data.
Challenges I ran into
The project had an ambitious scope. I was not able to add all of the features I had in mind, like details about where differences occurred and filtering by project or result type.
Accomplishments that I'm proud of
Finishing functional app that is faithful to my original vision.
What I learned
Don't bother with authentication at a hackathon.
What's next for Insightful
Support for large JSON inputs. Support for files. Better filtering in dashboard. More detailed information in dashboard.
Log in or sign up for Devpost to join the conversation.