Fast, Intuitive, Smart: Restaurant search engine with Cloudflare AI
Tags: cloudflarechallenge, devchallenge, ai, remix
Published: 2024-04-13 16:50:29

*This is a submission for the [Cloudflare AI Challenge](https://dev.to/devteam/join-us-for-the-cloudflare-ai-challenge-3000-in-prizes-5f99).*

## What We Built

Craving your favorite meal? Our AI-powered search engine makes it easy to find the top 3 restaurants serving it near you. Just enter the dish you're looking for and your location, and let our intelligent algorithm do the rest. Whether it's a local specialty or a global delicacy, our free app will guide you to the perfect spot.

## Demo

![Searching on culefilo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kjp6ltwap8ithxp8b97w.gif)


## The Source Code

{% github sjdonado/culefilo %}

## Journey

Our journey in building the "Cule filo" AI-powered restaurant search engine has been an exciting and challenging one. We started by brainstorming ideas on how to leverage Cloudflare's AI capabilities to create a unique and valuable application. After exploring various domains, we settled on the idea of helping users find the best restaurants serving their favorite meals nearby.

To achieve this, we designed a system that combines multiple AI models and services. We used the `llama-2-13b-chat-awq` model for generating suggestions when the initial search yielded less than 3 results, ensuring that users always receive relevant recommendations. The same model was also employed for selecting appropriate thumbnails for the search results, enhancing the visual appeal and contextual relevance of the displayed images.

For generating informative and concise descriptions of restaurants based on user reviews, we utilized the `bart-large-cnn` model. This allowed us to provide users with a quick overview of each restaurant's characteristics and customer experiences. To further enrich the search results, we used the `uform-gen2-qwen-500m` model to generate textual descriptions of restaurant photos, giving users a better sense of the ambiance and offerings of each place.

Throughout the development process, we focused on creating an intuitive and responsive user interface that prioritizes simplicity and ease of use. We implemented real-time search logs to provide transparency and keep users engaged during the search process. Additionally, we integrated search history functionality, allowing users to easily access and revisit their previous searches.

## Multiple Models and/or Triple Task Types

Our project, "Cule filo", utilized multiple models per task and incorporated three distinct task types, qualifying it for the additional prize categories.

1) **Multiple Models per Task:**
- For the task of generating suggestions when the initial search yields less than 3 results, we employed the llama-2-13b-chat-awq model. This model was also used for selecting appropriate thumbnails for the search results.
- To generate informative and concise descriptions of restaurants based on user reviews, we utilized the bart-large-cnn model.
- For generating textual descriptions of restaurant photos, we used the uform-gen2-qwen-500m model.

2) **Triple Task Types:** Our project incorporated the following three task types:
- Text Generation: We used the llama-2-13b-chat-awq model to generate suggestions for alternative search queries when the initial search yielded insufficient results. This model was also used to generate captions for the selected thumbnails.
- Text Summarization: The bart-large-cnn model was employed to summarize user reviews and generate concise descriptions of each restaurant, providing users with a quick overview of the place's characteristics and customer experiences.
- Image-to-Text: We utilized the uform-gen2-qwen-500m model to convert restaurant photos into textual descriptions, enhancing the richness and contextual relevance of the search results.

## What we are proud of

We are particularly proud of the seamless integration of multiple AI models and the overall user experience we have created. Seeing the application come to life and witnessing its ability to help users discover new and exciting dining options has been incredibly rewarding.

Looking ahead, we hope to expand the capabilities of "Cule filo" by incorporating additional features such as personalized recommendations based on user preferences, integration with reservation systems, and support for multiple languages.

## The Team

{% user sjdonado %}
{% user gjhernandez %}
{% user krthr %}