A Rust-powered desktop app using Tauri and Next.js
Tags: desktop, nextjs
Published: 2023-12-27 18:30:21

---
title: A Rust-powered desktop app using Tauri and Next.js
published: true
date: 2023-09-28 00:11:00 UTC
tags: Desktop,Nextjs
canonical_url: https://reactjsexample.com/a-rust-powered-desktop-app-using-tauri-and-next-js/
---

 ![A Rust-powered desktop app using Tauri and Next.js](https://reactjsexample.com/content/images/2023/09/Code_2023-09_21-05-51.jpg)

 ![A Rust-powered desktop app using Tauri and Next.js](https://github.com/Skarian/foodiefinder/raw/main/app-icon.png)
### Foodie Finder

Recipe sites are inundated with ads and information that is distracting.

This is a convenient and private desktop application built in Tauri to find recipes from a search bar, scrape the important information and save them locally to your machine.

## Overview

 ![A Rust-powered desktop app using Tauri and Next.js](https://github.com/Skarian/foodiefinder/raw/main/demo.gif)

### Why I Built This

I am in the process of learning Rust and desktop application development. This was a fun learning experiment to get me used to syntax and community libraries.

My fiancee had expressed how messy recipe websites were and how they show so many ads. This was the inspiration for Foodie Finder.

Getting married in 2024. <3

### Features

- Search-box interface to find recipes from a text prompt
- Scrapes websites and filters out those with incomplete datasets (much love for the recipe-scrapers library)
- Ability to save recipes to local sqlite db

### Platforms

- Only tested on MacOS

### Built With

- Rust
- Tauri
- Next.js / React

## Getting Started

To get a local copy up and running follow these simple example steps.

### Prerequisites

1. Must have python 3.11 installed
2. Must have Rust and toolchain installed

### Build the application

1. Get a free Edamam API Key (no credit card required) at [https://www.edamam.com/](https://example.com)
2. Clone the repo

```
git clone https://github.com/Skarian/foodiefinder.git
```

3. Add `app_id` and `app_key` environment variables in `/src-tauri/.env`. Example below

```
app_id=c5re916e
app_key=19bb82b76d80a3185f88d3c2daef6315
```

4. Install python dependencies `pip install recipe-scrapers`
5. Install NPM dependencies `npm install`
6. Run `cargo tauri build`
7. The executable will be under the target folder: `/src-tauri/target/`. Feel free to move it wherever you prefer

## Roadmap (maybe?)

- <input type="checkbox" id disabled> Edit saved recipe data
- <input type="checkbox" id disabled> Ability to add specific recipe URLs
- <input type="checkbox" id disabled> AI-enhanced generation

## Contributing

This was just a quick side project that already meets my goals. Not really looking for it to be a major open-source project but if there is community interest here I am happy to continue development.

## License

Distributed under the MIT License. See `LICENSE.txt` for more information.

## Contact

Neil Skaria - [@skar\_ai](https://twitter.com/skar_ai) - [neil.skaria@gmail.com](mailto:neil.skaria@gmail.com)

Project Link: [https://github.com/Skarian/foodiefinder](https://github.com/github_username/repo_name)

## Usage Note

This project is for demonstration / non-commercial usage only, please follow relevant regulation where appropriate

## GitHub

[View Github](https://github.com/Skarian/foodiefinder?ref=reactjsexample.com)