{"id":18003,"date":"2026-03-30T11:38:20","date_gmt":"2026-03-30T18:38:20","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=18003"},"modified":"2026-03-30T11:47:43","modified_gmt":"2026-03-30T18:47:43","slug":"build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/","title":{"rendered":"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Most AI demos feel impressive for 30 seconds and then leave one question unanswered: How would you actually build this?<\/span><\/p>\n<p><span style=\"font-weight: 400\">This one is different.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In this post, we\u2019ll build a simple but compelling multimodal AI app to upload a face photo and return the top celebrity matches in milliseconds. Under the hood, the app uses local face embeddings, Couchbase Capella Vector Search, and a lightweight FastAPI backend to turn an image into a searchable vector and retrieve the nearest matches in real time.<\/span><\/p>\n<p><span style=\"font-weight: 400\">It is a fun demo on the surface. But for developers, it demonstrates a important pattern:<\/span><\/p>\n<p><span style=\"font-weight: 400\">unstructured input \u2192 embedding generation \u2192 vector retrieval \u2192 filtered results<\/span><\/p>\n<p><span style=\"font-weight: 400\">That same pattern shows up in identity verification, fraud detection, visual search, personalization, and media asset matching.<\/span><\/p>\n<h2><b>Why this demo is important to developers<\/b><\/h2>\n<p><span style=\"font-weight: 400\">This app is not just \u201cAI for fun.\u201d It is a practical example of how to build multimodal search without stitching together a separate vector database, metadata store, and sync pipeline.<\/span><\/p>\n<p><span style=\"font-weight: 400\">With one uploaded image, the app:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Detects a face locally<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Generates a 512-dimensional embedding<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Sends that vector to Couchbase<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Runs a similarity search over 12,000+ celebrity face embeddings<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Returns the top 3 nearest matches with scores<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">The result is straightforward for users: Upload photo \u2192 get top celebrity matches.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The result for developers is more useful: A clean reference architecture for real-time image similarity search.<\/span><\/p>\n<h2><b>What the app does<\/b><\/h2>\n<p><span style=\"font-weight: 400\">The app takes a face image and matches it against a dataset of celebrity embeddings.<\/span><\/p>\n<h3><b>Current capabilities<\/b><\/h3>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Face detection and embedding generation using InsightFace<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Real-time nearest-neighbor retrieval with Couchbase Vector Search<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Gender-based filtering<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Top-k result ranking<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Support for 12,094 images across 100 celebrities<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">This makes the user experience simple, but the underlying design is production-relevant.<\/span><\/p>\n<h2><b>How it works<\/b><\/h2>\n<h3><b>1. Convert an image into a vector<\/b><\/h3>\n<p><span style=\"font-weight: 400\">This demo uses InsightFace\u2019s <\/span><span style=\"font-weight: 400\">buffalo_l<\/span><span style=\"font-weight: 400\"> model to extract a face embedding from the uploaded image. That embedding is a dense numeric representation of the face.<\/span><\/p>\n<p><span style=\"font-weight: 400\">In practical terms, the vector captures features such as facial geometry, spacing, proportions, and structural patterns. Similar-looking faces produce vectors that are close together in vector space.<\/span><\/p>\n<pre class=\"lang:default decode:true\">from insightface.app import FaceAnalysis\r\n\r\nmodel = FaceAnalysis(name=\"buffalo_l\")\r\nfaces = model.get(image)\r\nembedding = faces[0].embedding\r\n<\/pre>\n<p><span style=\"font-weight: 400\">That delivers a 512-dimensional vector for the detected face.<\/span><\/p>\n<h3><b>2. Store embeddings with metadata<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Each celebrity face is stored as a document in Couchbase, with both metadata and embedding in the same record.<\/span><\/p>\n<pre class=\"lang:default decode:true\">{\r\n  \"type\": \"celebrity_face\",\r\n  \"celebrity_id\": 4,\r\n  \"celebrity_name\": \"Shah Rukh Khan\",\r\n  \"gender\": \"male\",\r\n  \"embedding\": [0.023, -0.045, 0.089, ...]\r\n}\r\n<\/pre>\n<p><span style=\"font-weight: 400\">This matters because it lets developers keep structured fields and vector data together, instead of splitting them across multiple systems.<\/span><\/p>\n<h3><b>3. Run vector similarity search<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Once the query embedding is generated, the app performs a nearest-neighbor search against the vector index in Couchbase.<\/span><\/p>\n<pre class=\"lang:default decode:true\">{\r\n  \"knn\": [\r\n    {\r\n      \"field\": \"embedding\",\r\n      \"vector\": [...512 floats...],\r\n      \"k\": 3\r\n    }\r\n  ]\r\n}\r\n<\/pre>\n<p><span style=\"font-weight: 400\">The database returns the closest matches ranked by similarity. Because the vector index and metadata live together, you can also combine similarity with filters like gender, region, or category.<\/span><\/p>\n<h2><b>Architecture overview<\/b><\/h2>\n<p><span style=\"font-weight: 400\">The system is intentionally simple:<\/span><\/p>\n<p><span style=\"font-weight: 400\">Browser \u2192 FastAPI \u2192 InsightFace (local inference) \u2192 Couchbase Capella Vector Search \u2192 Results<\/span><\/p>\n<h3><b>Stack<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-18004\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-30-at-10.28.10-AM.png\" alt=\"\" width=\"1262\" height=\"520\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-30-at-10.28.10-AM.png 1262w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-30-at-10.28.10-AM-300x124.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-30-at-10.28.10-AM-1024x422.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-30-at-10.28.10-AM-768x316.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Screenshot-2026-03-30-at-10.28.10-AM-18x7.png 18w\" sizes=\"auto, (max-width: 1262px) 100vw, 1262px\" \/><\/p>\n<h2><b>Why local inference helps<\/b><\/h2>\n<p><span style=\"font-weight: 400\">For this demo, face embedding generation runs locally instead of calling a remote model endpoint.<\/span><\/p>\n<p><span style=\"font-weight: 400\">That gives two immediate benefits:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Lower latency because the image does not need to round-trip to a hosted inference service<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Better privacy posture because the raw image can stay local during embedding generation<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">For developers, this is an important design pattern. Not every multimodal AI workflow needs to push raw user content into a remote service before retrieval begins.<\/span><\/p>\n<h2><b>Why Couchbase is a good fit<\/b><\/h2>\n<p><span style=\"font-weight: 400\">This app becomes much cleaner because Couchbase can handle both document data <\/span><i><span style=\"font-weight: 400\">and<\/span><\/i><span style=\"font-weight: 400\"> vector search in one place.<\/span><\/p>\n<h3><b>1. Vector and metadata live together<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Instead of managing one system for embeddings and another for application data, the embedding is stored directly inside the document.<\/span><\/p>\n<p><span style=\"font-weight: 400\">That removes a common source of architectural drag:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">No extra vector store<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">No data duplication<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">No sync jobs between metadata and embeddings<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">No separate retrieval layer to maintain<\/span><\/li>\n<\/ul>\n<h3><b>2. Hybrid retrieval is built in<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Real applications rarely do \u201cpure similarity search\u201d alone. They usually need a combination of semantic similarity and structured filtering.<\/span><\/p>\n<p><span style=\"font-weight: 400\">For example:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Find the top 3 matches among female celebrities<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Search within a specific category or region<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Return similar faces only from a given subset of documents<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">This hybrid pattern is what turns a demo into an actual application primitive.<\/span><\/p>\n<h3><b>3. Managed infrastructure reduces friction<\/b><\/h3>\n<p><span style=\"font-weight: 400\">With Capella, developers do not need to spend time standing up and tuning another specialized service just to test or ship vector search.<\/span><\/p>\n<p><span style=\"font-weight: 400\">That means more time spent on:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">User experience<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Ranking logic<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Application workflows<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Production integration<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Less time spent on infrastructure plumbing<\/span><\/li>\n<\/ul>\n<h2><b>Index configuration<\/b><\/h2>\n<p><span style=\"font-weight: 400\">For this project, the vector index is configured with:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Index name:<\/b> <span style=\"font-weight: 400\">celebrity_face_index<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Dimensions:<\/b><span style=\"font-weight: 400\"> 512<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Similarity metric:<\/b><span style=\"font-weight: 400\"> Dot product<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Dataset size:<\/b><span style=\"font-weight: 400\"> 12,094 documents<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Retrieval approach:<\/b><span style=\"font-weight: 400\"> Approximate Nearest Neighbor (ANN)<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Because the embeddings are normalized, dot product serves as an effective similarity measure for nearest-match retrieval.<\/span><\/p>\n<h2><b>More than just a fun app: real business patterns<\/b><\/h2>\n<p><span style=\"font-weight: 400\">The \u201ccelebrity twin\u201d concept is just a consumer-friendly wrapper around a serious architecture pattern.<\/span><\/p>\n<p><span style=\"font-weight: 400\">At its core, this is a multimodal retrieval workflow:<\/span><\/p>\n<p><span style=\"font-weight: 400\">image \u2192 embedding \u2192 similarity search \u2192 ranked result<\/span><\/p>\n<p><span style=\"font-weight: 400\">That same workflow can support a range of enterprise use cases.<\/span><\/p>\n<h3><b>Identity verification and fraud detection<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Financial services and digital onboarding systems can compare a selfie against an ID image, detect duplicates, and flag likely impersonation attempts.<\/span><\/p>\n<p><b>Pattern:<\/b><span style=\"font-weight: 400\"> Face similarity search across large identity datasets.<\/span><\/p>\n<h3><b>Retail and personalization<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Retail and beauty platforms can use visual similarity to recommend products, styles, or curated experiences based on appearance-related features.<\/span><\/p>\n<p><b>Pattern:<\/b><span style=\"font-weight: 400\"> Image-based personalization and discovery.<\/span><\/p>\n<h3><b>Media and entertainment<\/b><\/h3>\n<p><span style=\"font-weight: 400\">Studios and content teams can search talent databases, detect duplicate assets, organize archives, or find visual matches for casting and production workflows.<\/span><\/p>\n<p><b>Pattern:<\/b><span style=\"font-weight: 400\"> Face-aware asset retrieval.<\/span><\/p>\n<h3><b>Safety and compliance use cases<\/b><\/h3>\n<p><span style=\"font-weight: 400\">In regulated environments, image similarity can be used in tightly governed workflows where matching, verification, and auditability matter.<\/span><\/p>\n<p><b>Pattern:<\/b><span style=\"font-weight: 400\"> High-volume retrieval with policy controls.<\/span><\/p>\n<h2><b>Takeaway for developers<\/b><\/h2>\n<p><span style=\"font-weight: 400\">This project shows that vector search is no longer just an experimental capability bolted onto an AI demo. It is becoming a core application primitive.<\/span><\/p>\n<p><span style=\"font-weight: 400\">With a relatively small stack, you can:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Generate embeddings locally<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Store vectors alongside metadata<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Perform ANN search in real time<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Combine similarity with structured filters<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Ship a multimodal experience without adding unnecessary infrastructure<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">The takeaway: The celebrity match experience is the hook. The real value is the architecture.<\/span><\/p>\n<h2><b>Final thoughts<\/b><\/h2>\n<p><span style=\"font-weight: 400\">If you\u2019re building AI applications that need to search across images, text, or other unstructured inputs, the hard part is usually not generating the embedding. The hard part is operationalizing retrieval cleanly inside the application stack.<\/span><\/p>\n<p><span style=\"font-weight: 400\">This is where Couchbase helps.<\/span><\/p>\n<p><span style=\"font-weight: 400\">By combining document storage and vector search in one platform, developers have a simpler path from prototype to production.<\/span><\/p>\n<p><span style=\"font-weight: 400\">And that\u2019s what this demo is really about: not just finding your celebrity twin, but showing how multimodal vector search can be built in a way that is fast, practical, and ready for real applications.<\/span><\/p>\n<p><span style=\"font-weight: 400\">To explore the code, check out the<\/span><a href=\"https:\/\/github.com\/couchbaselabs\/pm_apps_celebtwin\"> <span style=\"font-weight: 400\">Guess Your Celebrity Twin application<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Most AI demos feel impressive for 30 seconds and then leave one question unanswered: How would you actually build this? This one is different. In this post, we\u2019ll build a simple but compelling multimodal AI app to upload a face [&hellip;]<\/p>\n","protected":false},"author":85706,"featured_media":18005,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[9937],"tags":[],"ppma_author":[10175],"class_list":["post-18003","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vector-search"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase\" \/>\n<meta property=\"og:description\" content=\"Most AI demos feel impressive for 30 seconds and then leave one question unanswered: How would you actually build this? This one is different. In this post, we\u2019ll build a simple but compelling multimodal AI app to upload a face [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-30T18:38:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-30T18:47:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tushar Madaan, Product Manager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tushar Madaan, Product Manager\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/\"},\"author\":{\"name\":\"Tushar Madaan, Product Manager\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/062e1951cb730c71a8e8357e77f69f43\"},\"headline\":\"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase\",\"datePublished\":\"2026-03-30T18:38:20+00:00\",\"dateModified\":\"2026-03-30T18:47:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/\"},\"wordCount\":1144,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png\",\"articleSection\":[\"Vector Search\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/\",\"name\":\"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png\",\"datePublished\":\"2026-03-30T18:38:20+00:00\",\"dateModified\":\"2026-03-30T18:47:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/062e1951cb730c71a8e8357e77f69f43\",\"name\":\"Tushar Madaan, Product Manager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/f88d5cfebdf25f0043e369b20a366932\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/tushar.madaan.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/tushar.madaan.jpeg\",\"caption\":\"Tushar Madaan, Product Manager\"},\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/tusharmadaan\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/","og_locale":"en_US","og_type":"article","og_title":"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase","og_description":"Most AI demos feel impressive for 30 seconds and then leave one question unanswered: How would you actually build this? This one is different. In this post, we\u2019ll build a simple but compelling multimodal AI app to upload a face [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/","og_site_name":"The Couchbase Blog","article_published_time":"2026-03-30T18:38:20+00:00","article_modified_time":"2026-03-30T18:47:43+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png","type":"image\/png"}],"author":"Tushar Madaan, Product Manager","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Tushar Madaan, Product Manager","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/"},"author":{"name":"Tushar Madaan, Product Manager","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/062e1951cb730c71a8e8357e77f69f43"},"headline":"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase","datePublished":"2026-03-30T18:38:20+00:00","dateModified":"2026-03-30T18:47:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/"},"wordCount":1144,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png","articleSection":["Vector Search"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/","url":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/","name":"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png","datePublished":"2026-03-30T18:38:20+00:00","dateModified":"2026-03-30T18:47:43+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/Build-a-Celebrity-Look-Alike-App-With-Multimodal-Vector-Search-and-Couchbase.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/build-a-celebrity-look-alike-app-with-multimodal-vector-search-and-couchbase\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Build a Celebrity Look-Alike App With Multimodal Vector Search and Couchbase"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/062e1951cb730c71a8e8357e77f69f43","name":"Tushar Madaan, Product Manager","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/f88d5cfebdf25f0043e369b20a366932","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/tushar.madaan.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/tushar.madaan.jpeg","caption":"Tushar Madaan, Product Manager"},"url":"https:\/\/www.couchbase.com\/blog\/author\/tusharmadaan\/"}]}},"authors":[{"term_id":10175,"user_id":85706,"is_guest":0,"slug":"tusharmadaan","display_name":"Tushar Madaan, Product Manager","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/tushar.madaan.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2026\/03\/tushar.madaan.jpeg"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/18003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/85706"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=18003"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/18003\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/18005"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=18003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=18003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=18003"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=18003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}