Inspiration
We designed this web app to encourage more engagement with art by finding similar pieces, excluding painters and other technical details. We liked the engagement of curated museum exhibits, so decided it would be an awesome project to try and demo a technical solution.
What it does
Art is matched using perceptual hashes, a concept that can be used to find similarities between images. You can select certain pieces of artwork that you like and a collection of other images is collated.
How we built it
We built our project using Express as the backbone used React for the frontend.
Challenges we ran into
We ran into quite a few issues which set us back a few times.
Deciding to use CockroachDB was an exciting choice because their services are quite reliable however they are not very big and their connection properties are slightly proprietary. This made debugging harder as it took us a while to find a client that could view table data. We eventually found DBeaver which was very helpful.
React is a great framework for making highly modular applications; however, we wasted a few hours trying to figure out how to create chaining animations and ended up using a less well-suited method that caused a bit of lag. We also ended up making a simpler framework to demonstrate that the core algorithm worked.
We had hoped to implement a liking system to have global ratings of paintings, however, we didn't have enough time to implement this on the frontend.
Accomplishments that we're proud of
We managed to scrape a dataset of approximately 2,325 paintings, their titles and author information which we needed to demonstrate our idea. We used the MET Mueseum API for most of our data.
We built a frontend that demonstrated our concept and managed to create animations that we struggled with.
None of us knew where to start with image recognition, however perceptual hashing turned out to be an effective method for our project!
What we've learnt
Git is an effective tool for working together, and in a team, we progressed much faster than any of us expected
What's next for Pictura
We're planning on implementing more functionality including global ratings, and daily feeds/notifications using Twillo and allowing the service to be more generic where users can upload their content.
Built With
- azure
- cockroachdb
- express.js
- netlify
- postgresql
- react
- typescript
Log in or sign up for Devpost to join the conversation.