logo

Bookmark-se

undefined image
Docker image Docker
GraphQL image GraphQL
JavaScript image JavaScript
LaTex image LaTex
Laravel image Laravel
Netlify image Netlify
Node image Node
PHP image PHP
Postman image Postman
Word image Word
tailwind image tailwind
  • Project Overview: The project is a web-based bookmark search engine that supports multi-modal searches, including text, image, and code. It employs vector databases for semantic relevance and features role-based access control for user and admin roles.
  • Key Technologies: Laravel PHP, TailwindCSS, ChromaDB, Weaviate, Docker, t-SNE.
  • Major Features: Semantic and visual search capabilities, interactive visualizations, role-based access, responsive UI for managing collections and bookmarks.
  • Challenges and Solutions: Integrating vector databases with Laravel posed challenges, but modular architecture and Dockerized APIs enabled efficient data processing and retrieval.

Case Study

Project Motivation

  • The project was undertaken to address the limitations of traditional bookmark management systems, such as the inability to handle multimedia content and lack of semantic search capabilities.
  • The goal was to develop an advanced web-based bookmark search engine that supports multi-modal and contextually relevant searches.

Objectives

  • Develop a system enabling semantic and visual bookmark retrieval using text, image, and code searches.
  • Implement role-based access control with separate admin and member roles.
  • Create a robust backend supporting vector database integration for high-performance search capabilities.
  • Provide a user-friendly frontend for bookmark management and multi-modal search execution.

Challenges

  • Integrating ChromaDB and Weaviate with the Laravel backend for seamless vector search functionality.
  • Processing diverse content types, including text, images, and code, to generate embeddings for semantic and visual searches.
  • Designing an interactive user interface for displaying search results and their relevance.
  • Ensuring efficient handling of large datasets while maintaining near real-time search speeds.

Approach and Process

  • Started with requirement analysis and database schema design.
  • Implemented the Laravel backend using MVC architecture for clear separation of concerns.
  • Integrated vector databases for semantic searches and developed API endpoints for operations like web scraping, embedding generation, and search execution.
  • Built the frontend with TailwindCSS and FilamentPHP for a responsive and interactive user experience.
  • Conducted iterative testing to optimize performance and ensure feature completeness.

Technologies Used

  • Frontend: TailwindCSS, FilamentPHP, AlpineJS.
  • Backend: Laravel PHP with MVC architecture.
  • Vector Databases: ChromaDB for text searches and Weaviate for image searches.
  • Tools: Docker, RESTful APIs for backend operations.
  • Database: Relational database with tables for users, collections, and URLs.

Implementation

  • Developed APIs for web scraping, metadata extraction, and embedding generation.
  • Integrated vector databases for context-aware searches using vector distance calculations.
  • Designed a responsive UI enabling users to create and manage collections and perform multi-modal searches.
  • Visualized search results using t-SNE for intuitive representation of relationships among stored URLs.

Results

  • Delivered significant improvements in search accuracy and speed with near real-time results, even for large datasets.
  • Enhanced user experience through intuitive role-based access and interactive visualizations.
  • Successfully showcased the broader applicability of vector databases in advanced information retrieval.

Lessons Learned

  • Gained insights into integrating vector databases with traditional backends like Laravel.
  • Highlighted the importance of modular architecture for handling diverse content types efficiently.
  • Recognized the potential of multi-modal search capabilities in improving user interaction with bookmark tools.

Future Improvements

  • Expand the system’s multi-modal capabilities by refining embeddings and enhancing model training.
  • Add support for handling larger datasets with optimized data processing pipelines.
  • Introduce additional features such as collaborative collections and personalized recommendations.

Screenshots

0 image
1 image
2 image
3 image
4 image
5 image
6 image

Links

TitleDescriptionLink
CodeGitHub Code for main site
API CodeGitHub Link for API code
weaviateweaviate website - Image search
ChromadbChromadb vector database and text, code search
2024
Updated: 1 month ago