diff --git a/multisrc/overrides/madara/gourmetscans/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/madara/gourmetscans/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..549caa699
Binary files /dev/null and b/multisrc/overrides/madara/gourmetscans/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/madara/gourmetscans/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/madara/gourmetscans/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..a56769686
Binary files /dev/null and b/multisrc/overrides/madara/gourmetscans/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/madara/gourmetscans/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/madara/gourmetscans/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..70bdb8b28
Binary files /dev/null and b/multisrc/overrides/madara/gourmetscans/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/madara/gourmetscans/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/madara/gourmetscans/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..e93145e2e
Binary files /dev/null and b/multisrc/overrides/madara/gourmetscans/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/madara/gourmetscans/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/madara/gourmetscans/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..a241bba02
Binary files /dev/null and b/multisrc/overrides/madara/gourmetscans/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/multisrc/overrides/madara/gourmetscans/src/GourmetScans.kt b/multisrc/overrides/madara/gourmetscans/src/GourmetScans.kt
new file mode 100644
index 000000000..1821a4130
--- /dev/null
+++ b/multisrc/overrides/madara/gourmetscans/src/GourmetScans.kt
@@ -0,0 +1,112 @@
+package eu.kanade.tachiyomi.extension.en.gourmetscans
+
+import eu.kanade.tachiyomi.multisrc.madara.Madara
+import eu.kanade.tachiyomi.network.GET
+import eu.kanade.tachiyomi.source.model.Filter
+import eu.kanade.tachiyomi.source.model.FilterList
+import eu.kanade.tachiyomi.source.model.SChapter
+import okhttp3.HttpUrl.Companion.toHttpUrl
+import okhttp3.Request
+import org.jsoup.nodes.Document
+import org.jsoup.nodes.Element
+
+class GourmetScans : Madara(
+    "Gourmet Scans",
+    "https://gourmetsupremacy.com",
+    "en",
+) {
+    override val mangaSubString = "project"
+
+    override val useNewChapterEndpoint = false
+
+    // Search
+
+    override fun searchPage(page: Int): String = if (page == 1) "" else "page/$page/"
+
+    override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
+        val url = baseUrl.toHttpUrl().newBuilder()
+
+        val filterList = if (filters.isEmpty()) getFilterList() else filters
+        val yearFilter = filterList.find { it is YearFilter } as YearFilter
+        val orderByFilter = filterList.find { it is OrderByFilter } as OrderByFilter
+        val genreFilter = filterList.find { it is GenreFilter } as? GenreFilter
+
+        when {
+            yearFilter.state.isNotBlank() -> {
+                url.addPathSegment("release-year")
+                url.addPathSegment(yearFilter.state)
+            }
+            genreFilter?.state?.equals(0)?.not() ?: false -> {
+                url.addPathSegment("genre")
+                url.addPathSegment(genreFilter!!.toUriPart())
+            }
+            else -> {
+                url.addPathSegment(mangaSubString)
+            }
+        }
+
+        if (orderByFilter.toUriPart().isNotBlank()) {
+            url.addQueryParameter("m_orderby", orderByFilter.toUriPart())
+        }
+
+        url.addPathSegments(searchPage(page))
+
+        return GET(url.build(), headers)
+    }
+
+    override fun searchMangaSelector(): String = ".page-listing-item .page-item-detail"
+
+    override fun searchMangaNextPageSelector(): String = ".navigation-ajax > #navigation-ajax"
+
+    // Filters
+
+    override fun genresRequest(): Request = GET("$baseUrl/$mangaSubString", headers)
+
+    override fun parseGenres(document: Document): List<Genre> {
+        genresList = document.select("div.row.genres ul li a")
+            .orEmpty()
+            .map { li ->
+                Pair(
+                    li.text(),
+                    li.attr("href").split("/").last { it.isNotBlank() },
+                )
+            }
+
+        return emptyList()
+    }
+
+    private var genresList: List<Pair<String, String>> = emptyList()
+
+    class GenreFilter(val vals: List<Pair<String, String>>) :
+        UriPartFilter("Genre", vals.toTypedArray())
+
+    override fun getFilterList(): FilterList {
+        val filters = buildList(4) {
+            add(YearFilter(yearFilterTitle))
+            add(
+                OrderByFilter(
+                    title = orderByFilterTitle,
+                    options = orderByFilterOptions.zip(orderByFilterOptionsValues),
+                    state = 0,
+                ),
+            )
+            add(Filter.Separator())
+
+            if (genresList.isEmpty()) {
+                add(Filter.Header(genresMissingWarning))
+            } else {
+                add(GenreFilter(listOf(Pair("<select>", "")) + genresList))
+            }
+        }
+
+        return FilterList(filters)
+    }
+
+    // Chapters
+
+    override fun chapterFromElement(element: Element): SChapter {
+        return super.chapterFromElement(element).apply {
+            url = this.url.substringBefore("?style=list")
+        }
+    }
+}
diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt
index 9c8ec33f2..28bd1729c 100644
--- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt
+++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt
@@ -119,6 +119,7 @@ class MadaraGenerator : ThemeSourceGenerator {
         SingleLang("Glory Manga", "https://glorymanga.com", "tr"),
         SingleLang("Good Girls Scan", "https://goodgirls.moe", "en", isNsfw = true),
         SingleLang("Goof Fansub", "https://gooffansub.com", "pt-BR", isNsfw = true),
+        SingleLang("Gourmet Scans", "https://gourmetsupremacy.com", "en", isNsfw = true),
         SingleLang("Grabber Zone", "https://grabber.zone", "all"),
         SingleLang("Gri Melek", "https://grimelek.net", "tr", isNsfw = true, className = "Siyahmelek", overrideVersionCode = 4),
         SingleLang("GuncelManga", "https://guncelmanga.com", "tr", overrideVersionCode = 1),