Imgress : A cloud based Reverse Image Search engine Orchestrator
All hearted credits to my peers :
Image Search Fundamentals
Image-based searching has gained a lot of popularity in recent times. Fields like AI/ML are seeing unprecedented technological advancements and a variety of new applications in the industry. Reverse Image search is one such application. Here based on a "provided image", Semantically or logically similar images are fetched and provided as a result. Several E-commerce businesses use their custom Image search engines to provide an efficient and next-gen solution for clients. Not only them but Google , Yahoo , Bing provide their built-in Image search engines. However, creating a custom Reverse Image Seach Engine (from here on - rise) gives the user the advantage of providing custom search option from the database thus eliminating third-party results.
What is Imgress ?
Imgress is a one-stop solution to Create, Manage and deploy your rise instances efficiently, which provides the user the ultimate capability to customize their instances. Imgress automates the process of creating a rise instance within a few minutes and lets the user operate the instance in some remote application.
Architecture
Let us focus on the backend architecture of Imgress. The application uses distributed microservices as its core architecture. It uses 3 serverless nodes, which perform structurally different but logically coherent functions.
The first Node handles the different generic functions with respect to the main page like login handling, sign up etc. The second Node handles the heavy requests regarding the TiDb serverless instances and the S3 bucket. I call this heavy because the main image is stored in an S3 Bucket, as a part of the app's commitment to provide huge data handling. The last node handles all the requests for weaviate (class creator, schema getter etc).
GitHub & Conclusion
The source code for this project lies here: code.
Overall I feel search engines, especially the image based are going to revolutionize how the users will search in forthcoming years. Creating such a project out of scratch from an idea with unknown prospects was adventurous for me. Hope you enjoyed this short blog that covers the basics of Imgress.
Happy Coding!