Fenyk Leaked Code Review
TLDR
We are a team doing an independent technical review of the second (yes, second) leaked source code from Fenyk, one of the many websites trying to replace Comick. This report focuses on analyzing both Fenyk’s Frontend and Backend.
The Two Leaks
- First leak (September 2025): basic prototype built on Astro, poor quality and no functionality, but harmless, probably just an inexperienced team.
- Second leak (November 2025): Code built on ReactJS, supposedly more advanced but actually worse, outdated dependencies, buggy, AI generated and missing key safety features.
Frontend Findings
- Fenyk uses 1334 npm packages, many obsoleted, abandoned or insecure
(e.g. inflight version 1.0.6 from 2016) with 9 security issues being flagged by the developer tools (of which 6 are high severity). - The site is barely working: The logo is missing, the buttons are broken, it’s missing basic features, there’s hardcoded placeholder data everywhere...
- UI/UX are inconsistent with multiple nonfunctional pages, a broken search, and just plain old fake features.
- Themes not being of high quality, with questionable color choices and sometimes even hiding text (white text on white background).
- Mobile UI exists but is very buggy and incomplete.
- Numerous signs of AI generated can be found in the code and documentation:
- Placeholder API calls and prompt like comments.
- File named GEMINI.md and documentation filled with emoji and filler text.
- AI detection tools scoring around 96% probability of AI generation,
DeepSeek and Google Gemini detecting the code as AI generated.
Backend Findings:
- The backend is split into two separate projects: “auth-backend-main” and “fenyk-backend-main”.
- Fenyk devs rolled out (“created”) their own authentication system. This is a major security red flag, especially since it was mostly AI generated.
- Obsolete Python code is being used (like old datetime functions, abandoned in 2023).
- Password resets and email verification are handled via a Gmail account, showing extremely poor security practices.
- env files with sensitive data were left in the code and uploaded to the repository.
- Code structure and comments suggest even more AI code.
- Backend and Frontend are not connected in any way.
- And probably a lot more that we just didn’t have the willpower to explore…
Infra Findings:
- Their infrastructure and hosting setup is full of a shit ton of bad calcs, underestimations, and likely unrealistic costs.
- They plan to host on a German VPS; Germany is one of the strictest countries in the world regarding piracy.
- Their whole ass infra seems completely AI-generated, and obviously no real human put any thought into it.
- They plan to replicate their whole stack (Docker, Redis, Postgres, Frontend, Reverse Proxy) across three different servers.
- NOT availability zones… servers.
- Each server only has 8 GB RAM and 4 vCPUs.
- REST API hosted AWAY from their database when it should be near.
- Search requires joins across three different regions… no vector search.
- Shit ton of wasted efficiency, high asf latency, their servers are gonna crash and die.
Conclusions:
- Fenyk’s code is unstable and unprofessional at best or a real threat to user’s safety at worst.
- The project’s promised launch before the end of the year (which they boast about on Reddit and Discord) is factually impossible and just a hype campaign.
- Fenyk devs rely heavily (or completely) on AI i instead of actual programming.
- We do not recommend to support Fenyk because:
- It poses security risks (deprecated code, unsafe auth).
- It’s built by AI without human oversight, the whole code is being held together by thoughts and prayers.
- Fenyk's team has no real progress but just fake promises and empty words.
Some Background
With the fall of Comick, quite a few platforms have emerged trying to capitalize on its fall and generate hype as the "new Comick successor". One of the first ones to pop up was Fenyk, which has especially created a lot of hype and expectation, even boasting a release date before the end of the year! We, a group of devs, had our interests piqued, as that was quite a lofty estimate! But quite a few groups were popping up, and we didn’t think anything of it. Surely they were legitimate, right?
But recently, one of our dev friends who signed up as their dev provided us with a leaked copy of the code, which we explored… and subsequently gave up on. And so today, we'll be diving into the code produced by Fenyk’s dev team—or, AI, in essence—and explain why it's badly written, uses bad practices, is already outdated, deprecated and may even be a security risk for its users! Along with how, in our humble opinion, you should stop supporting such project.
This is a verified leak of the code. The developer who provided us the leak has direct access to their Github repository, and they’ve provided verifiable proof of authenticity (which we can share, if need be). We’ve confirmed the repository’s remotes, observed a live git pull from the project’s origin, and reviewed signed commits from multiple authors linked to the official project. The code we reference here matches the repository. We’ll include screenshots of relevant snippets throughout this report and release a full archive at the end.
Introduction
So what even is Fenyk? Fenyk is one of the new Comick clones that has risen after the fall of the original site. They are the ones that have been pushing the hardest on publicity and building up hype on online platforms.
People associated with Fenyk can be also seen frequently in Discord servers or Reddit boasting about their platform, unrealistic release date (scheduled before the end of the year) and generally being rude to other people.
Those comments can be frequently found even under unrelated posts, trying both to recruit people and to advertise their platform as much as possible.

Comment from a Fenyk associate under another platform’s post (Ironic how they are doing AI shame as you’ll later see).


They have also scummily tried recruiting scanlators in various ways.
Proof of the scummy recruitment:


So, when we received this second source code leak, dating just a couple of days prior to the writing of this document, we were very curious to know if they had improved compared to the first leak we received... And boy oh boy... They have not!
We should start by addressing the fact that this is not the first time Fenyk’s code gets leaked. There was a first source code leak, in September, around the start of the project. Back then the dev team left most of their GitHub repositories public and freely accessible by anyone.
So… it was ripped to shreds, so much so that Fenyk lost a bit of credibility and trust.
In this first leak, there wasn’t much to comment on, just an extremely basic home page with their logo being hardcoded in base64 (basically, converting images in text, far from best practice on the web and reeking of AI generated code) and placeholder images of nature and animals (which, compared to the current one, is a godsend), all paired with a design clearly copied straight from Comick.
This version was built on Astro, a framework primarily optimized for static and content-focused websites. That is completely inappropriate for Fenyk, which is supposed to be a dynamic platform involving user accounts, comments, lists, and what not. (The team has since migrated to ReactJS, a much more appropriate framework).


Also, the code had 15 errors in a code around 350 lines long…
That’s one error every 23 lines, not a good outlook.

But the Fenyk’s dev team was just getting started and was inexperienced, so, let’s see what this second leak of their source code can reveal to us.
Frontend
This is a detailed analysis of Fenyk’s Frontend from the perspective of both a frontend (UI/UX) developer but also as an average user.
Things already start terribly wrong during setup. When installing the project dependencies needed to run the frontend, I was immediately bombarded with errors and warnings telling me that most packages were either outdated or outright unsupported anymore.
In total, Fenyk installed 1334 packages just to get the frontend running. Many of these dependencies haven’t been updated in a year, which is frankly astonishing for a production-grade web application.
For additional context: the dependency audit reported 9 security issues, 6 of which were classified as high severity. This means that the site, even before release, is already vulnerable to cyberattacks with exploits that have been known for ages.
One particularly concerning example is their use of Inflight v1.0.6 (a package from 2016!), which explicitly warns in its deprecation message (available on the console logs when running “npm install”, which can be easily seen):
"This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful."
Yikes, just yikes…


For the first attempt I tried updating all these dependencies to their latest versions, considering that I did not want to run vulnerable, bugged and obsolete code on my machine (even though I was still trying to run Fenyk)... Unfortunately, after the update, the application failed to load and immediately crashed on startup. (EDIT 11/8/2025, 03:49 UTC): I apologize. This was a mistake on our part; it does not make sense to expect a web app with a certain dependency tree to run when all its packages are upgraded to @latest. However, they did not start work on this project too long ago, so I would expect that they use dependency versions that an audit would not immediately consider a high severity dependency.
So, onto attempt number two with all the old geriatric packages installed, and this time it finally compiles (transpiles) and after a couple of seconds I’m able to admire Fenyk’s home page!
Home page
Well, we already have some things being slightly off.
First of all—where is the logo in the top navigation bar? The first thinner Fenyk text is supposed to be the alternative text for when an image doesn’t load.

Second, apparently they are loading the same placeholder image for everything (I hope you like it because it won’t be the first time we will see it).

For a site that's supposedly launching by the end of this year (according to their own claims), it’s frankly odd that they aren’t even fetching mock data from an external API…
Below is the 2nd half of the home page.

The home page is divided in 5 main categories:
- Carousel: three series having a big banner with a basic description,
I assume it’s supposed to rotate automatically between them, however, it does not. - Trending Now: Presumably the series that currently are getting the most views by users.
- Browse by Genre: Let me guess, you can’t see it? Well, apparently the text is white, on a white background… Go figure, huh? Apart from that, it doesn’t do anything.
- Popular: Presumably the series that currently are getting the most views by users... Wait, I have a feeling of déjà vu!
- Recent Uploads: Series that recently got uploaded on the platform.
I was not able to determine what the colored symbols (checkmark, warning, x) were supposed to be unfortunately since it seems to be random.
Top NavBar
Well, let’s move to the top navbar, maybe it’s better:

The navbar features:
- Logo: Fenyk logo (missing) and text, if clicked, redirects you home.
- Home: The page we just saw, if clicked, redirects you home.
- Browse: Fenyk search engine.
- Library: Appears to be Fenyk’s answer to the user's reading list(s).
- Search bar: Just for show, it doesn’t work at all, to search you have to use the Browse page.
- Notification Bell: Like the search bar, it doesn’t work…
- Heart icon: This... This also doesn’t work...
- Moon icon: Fenyk theme selector (available themes will be shown later).
- User panel: Shows a drop down menu with account related options.
Browse
Here, the search bar actually works! You can finally search among the 8 hardcoded series available in their mock data JSON.
Fenyk’s dev team also implemented tag based search by clicking on filters, allowing you to get a more accurate search result.
There’s even a list view with an extremely long “View Details” button.


Library Page
Regarding the Library page there isn’t much more to say, it seems to be mostly a copy of the Browse page with minor modifications, this too features a search bar (which works) and filters to sort series by “All”, “Ongoing”, “Completed”, “Hiatus” and “Cancelled”.
A progress bar is also shown and showing how much of the series you have read.

Series page
The layout is interesting…
It does seem to follow a fairly standard structure, similar to what you’d find on platforms such as MangaDex, Comick, Batoto, etc. However, it suffers from a large amount of awkward, empty spacing that have frankly seem to serve any visual or functional purpose. The composition feels unfinished and inconsistent in alignment.
The page is divided into three main tabs:
- Overview: where the series description will be shown.
- Chapters: where the chapter list is located, requiring you to switch from “Overview” to “Chapters”. I do feel this is a very odd decision.
- Comments: where Fenyk comment section is shown.
The three action buttons (Heart, Bookmark and share) are non-functional and lack clarity. Their purpose is especially confusing, especially since there’s also a large black “Add to library” button (which does nothing) next to the “Start Reading” one, making it extremely confusing what any button does…
Another odd detail I’d like to know about: every series entry marks “Last Updated” to 2024… almost as if someone vibe coded the mock data (since AIs have many issues with dates).
Finally, the comment section appears to have several issues with its UI: the color scheme doesn’t work at all with the current theme settings. I assume the styling isn’t properly adapted for theme variables and color tokens, but it definitely breaks visual consistency. Again, this is their default theme, so you’d expect more…



Reader's UI
I was really hoping things would improve here… but unfortunately, they do not.
The reader currently supports only ONE single viewing mode: single-page with vertical scrolling. There’s no option for continuous, paginated, dual-page, etc… all standard in most modern manga or comic readers. Not even a placeholder or anything.
Its overall layout is visually similar to Comick's design. The top navigation bar contains the series title, the chapter number and a settings button. The bottom bar includes zoom in and out controls (which, thankfully, do work) and a rotate button. Said rotate button doesn’t rotate the image at all, just resets the zoom level to 100%. The comment section sits in a dedicated sidebar on the right.
As for the settings panel, I'm not able to properly evaluate its UI because it is essentially unusable in its current state.


User Page
The user page is actually well designed.
While being mostly hardcoded (with the ability to temporarily change a couple of things with the edit button), you can clearly see the UI being fairly well done.
Unfortunately, most of the things on this page don’t work (apart from the series link at the bottom on the "My Library" and said button, the Settings button, which brings to the settings page and the little User edit icon, which allows you to change username and bio).

Settings Page
The settings page is divided in many tabs:
- Profile: You can change username, mail address, bio and profile picture (which unfortunately, but unsurprisingly, doesn't work)...
Also there is no save button so, I guess it’s just for show?

- Notification: You can decide which notification from Fenyk you want to receive. They seem to be working on a "Weekly summary" of your activity on the platform (however, nothing about it can be seen anywhere).

- Reading: We can finally see and read the planned settings for the reader UI. It's probably not even worth saying that nothing here works or does anything, but at least the UI is good enough.

- Privacy: Here you can set if you want your profile to be public or private, same thing for your reading list and user's activity.

- Apparence: You can change the theme (which you can also do with the moon icon in the navbar).

-
General: Mostly general settings.
There appears to be planned multi-language support, they currently "support" (in quotation marks because, of course, it currently doesn't do anything): English, Spanish, French, German and Japanese. Once again, none of these are implemented yet; they have no setup internationalisation nor localisation logic behind it.
Another interesting feature is "Auto-download." It’s very unclear to me what this feature is supposed to do. This isn’t a mobile app capable of background downloads; it’s a browser-based web app, so the concept of “auto-downloading” doesn’t really make sense. What exactly is it auto-downloading? Malware?
[Edit: apparently it is something they are planning for the PWA, not for the website. Though what I said still applies.]
Apart from that, both the "Export My Data" and "Delete Account" buttons don't do anything, they are just there for show (a bit like MangaDex actually).
There also doesn't seem to be any way to import your reading list from Comick or other trackers. We checked everywhere in the source code, but this is not mentioned anywhere. Consider it safe to assume that this is not a planned feature on Fenyk.

Themes
Let's talk about themes right now, Fenyk currently has 6 themes, the default one is Light, which is the one I've been using till now during testing.
Other themes are:
- Dark:
Basic dark theme, not completely black but a very dark shade of blue, I quite like it.

- Blue:
Comick ripoff, I actually enjoy this more than the original Comick theme!

- Green:
Did "The Grinch" sponsor Fenyk? W-what is this?

- Purple:
I guess someone on the Fenyk team really likes purple...

- Gray:
Basic gray theme, not bad, but also not good.

Mobile UI
I was also able to run Fenyk's mobile UI, so we can check how they are currently developing that one too.
And hey, look there! We finally get to see Fenyk’s “logo” (purple square with an F in it).
At a first glance, the homepage looks fairly decent, aside from the oversized text and overlapping with buttons. However, after some interaction, a number of issues become apparent. We still have quite a few things not working, like the heart and bell icon (which apparently always have a notification) at the top.
Many page elements also appear squished, which to me sounds as if they haven’t planned for responsive design at all. Because if it isn’t responsive yet… Well.
On the other hand, the series page instead is… weird.
First and foremost, it brings you right at the bottom of the page upon load, (as shown in the picture), which means the first visible elements on a series are its statistics and the recommendations. Yup. Not the banner, cover art, description or available chapters… like you’d expect. When you scroll up to see them, you’ll see a very bugged and inconsistent UI page, clearly not designed with reactive or responsive UI principles in mind.
The scrolling behavior itself is also flawed. The top navigation bar is supposed to hide when scrolling down, but this only partially works, as a portion of the top navbar seems to remain fixed at the top of your screen. What great UX!

Here you can see the main page UI and what happens when you first open a series.


Instead here you can see the top part of the series page, with the responsive UI completely broken.
The My Library UI is actually fairly standard and working, the design is what you would expect and doesn’t have any outstanding bugs. Same applies for the Browse tab, which you can open with the bottom navbar.
The reader UI is instead... questionable at least.
It doesn't look good at all, has huge white borders around by default and it also looks squished and crammed, the pages seem to be loaded quite small, making it difficult to read on mobile by default (or at least, I could assume so since we are still using that default placeholder, not even a manga panel to test it).
This page seems mostly created as an afterthought, almost as if they remembered last minute that they had to make it.


Sign in / Sign up:
This is the Sign in / Sign up UI, you can simply sign in with your mail and password, or you can use Google or GitHub to login quickly into Fenyk, I don't know if those buttons work (since, right now, they only redirect to the home page).
For the Sign up page there is not much to say, it is basically the same with two sections for username and confirm password added.

Other notes:
After reviewing the project source code, I could not find any additional pages beyond those already discussed. It feels like this project is more so in an early stage of development. Despite the leaked build behind from the last few days (date of writing: 6th November 2025).
Overall, the platform is just extremely unpolished for something supposedly going to be released before the end of the year. The source code is missing many fundamental features such as uploads, scan groups, terms of services, dmca takedown forms, support for multiple lists, reading list imports, a working searchbar, meaningful mock data…
Based on this, my opinion is that their release date is more of a marketing hype campaign rather than a reflection of a production-ready product. They’re trying to push their platform as much as possible while not having anything concrete on hand.
Another important point to address—is this code written by AI? By analyzing the code itself and associated documentation, I can quite confidently say that most of the code appears to be AI-generated. Evidence includes:
- Generic methods and structures that lack any real customization for the platform they are building.
- API calls that don’t actually do anything, accompanied by placeholder comments resembling AI-generated instructions.
- Random files with names such as GEMINI.md, which were found empty (if you weren’t aware, Gemini is Google’s AI chatbot).

- Comments that sound unnatural for a human or even explicitly reference the prompt used to create the code.
This gets even more obvious by reading the README and QUICKSTART files where some basic explanation on how to make the code "run" (more like walk) is provided, those two documents are full of emoji and typical AI writing techniques/patterns.
(Photos following) - Professional sounding text that didn’t have any clear goal or point filled with emojis.



Examples of Fenyk code and documentation where AI is being clearly used.
Just for some fun, we ran the project through two AI’s and asked them to determine if they were AI generated. This is the conclusion that DeepSeek came out with after analyzing their code.
(Yes, it’s ironic using AI against the AI Comick clone)

Google Gemini also arrived to the same conclusion (Using the 2.5 Pro model)




And just for some extra due diligence, we ran the documentation through three AI analyses done by three separate detection tools, and the result was an average of 95% of the text being AI generated.
Many smaller issues are scattered around the project, some files have misspelled names (favicon.png being actually named “favcon.png”, without the ‘i’, while in the code they used “favicon.ico” and “favcon.png” at random), or methods being called with different names and not loading at all (this happens because the AI hallucinates the method names and makes a new one on the spot). The vibe I sense from this code is of a stitched together mess that somehow, and very surprisingly, manages to not explode as soon as you do anything.
I do hope I was able to provide all the information necessary for you to evaluate the current status of Fenyk, the project, the seriousness of their staff and the knowledge of their developers in finer details and make an informed decision regarding if you still want to support them on releasing a platform struggling a lot to come to life.
HERE is a simple mock up of what Fenyk’s home page could have been if the developers just used 15 minutes of their time to programming and fixing themselves the page instead of asking an AI to do it,
I simply fixed some of the smaller issues while also improving slightly the UI for a better user experience:

Backend
Oh well, time to cry again.
First of all, their backend is split into two separate projects: "auth-backend-main" and "fenyk-backend-main"
…
Yes. Believe it or not—they rolled their own authentication system.
Now, it's generally agreed that unless you're an extremely experienced security engineer (and, looking at what they coded on the frontend... they're not) working for a large company that NEEDS their own authentication due to not being able to rely on outsource technologies—it's NEVER a good idea to roll your own auth system.
Rule #1 of backend development: NEVER ROLL YOUR OWN AUTH
Given the state of their frontend code, I cannot comfortably say that this implementation is going to be secure. Custom authentication is notoriously easy to get wrong, and mistakes here could… well, you know.

Their auth solution includes a "static" page, which I assume is just a basic frontend put together to test out the auth since, as we've shown before, they still haven't connected frontend and backend to make them work together.
The launch date is set for the end of this year... I'd be surprised if it launched by December next year.
The auth "Dashboard" has integrated HTML... great. Also, seeing the emojis, the auth is entirely AI generated and not made by a human developer. Friendly reminder: THEIR AUTH CONTAINS YOUR SENSITIVE USER DATA SUCH AS MAIL, PASSWORD AND USERNAME!

Then, the confirmed emails will be sent with a Gmail account! Oh my! Such great operational security!

They use safe encryption, THANKFULLY, but... why check password validity on the backend...? This is just inefficient...

Also yipee!! Even more deprecated code, because there wasn't enough!


I want to stress that deprecated code is NOT good at all, often indicates a sign of AI generation (since AI is trained on documentation that is often not up to date) and this means NO HUMAN ever checked the code or even questioned the AI result... because they would have spotted the many warning from a mile away...
And this continues in other files too!

Oh, if you're wondering, datetime has been deprecated since 2023, OVER TWO YEARS. This isn't something that just got recently removed in the last version, it hasn't been supported since python 12... two, nay almost THREE versions ago which entered security AT THE START OF THE YEAR!!! I'm sorry but how can you just NOT know this code has been deprecated...
Anyways, back to reset password! Why is there... frontend here...? I hope it's just a test?

Anyways with that... we're barely past the auth stage! We still haven't gone to the main backend page.
First of all, the project uses SQLAlchemy... and guess what, it's ChatGPT's top choice! Guess this code wasn't human generated at all...

And our favorite finding in the source code, the GEMINI.md file... totally not concerning... AT ALL…

And well... if you still weren’t convinced yet... the README.md for the backend is not much better than the frontend one. Yes, we ran it through the same AI tool tests—the result was the same.

First, a major red flag: they left a backup of their entire envs in their code. The ENVs (environmental variables), define secret values, API keys,. database credentials, and other configuration critical to how a program runs. ENVs should NEVER be committed to version control. Yet they are present here, seeing as how the developers obviously don’t care. Of course I'm not bitchy enough to drop all of their env's here.
Now, let’s analyze the many stupidities of this code. This part is mostly technical, as the backend is, in itself, technical. If you want a TL;DR: It’s bad code by non humans.
Starting with a key part of the backend: series handling. Looking at the database schema, most of it seems functional at a first glance… but there are quite a few questionable design choices. For example, the fact that statistics and ratings are separate… even though ratings are supposed to be under statistics (at least according to their frontend??)

Also their publication statuses are wrong, A one shot doesn’t have a specific publication schedule.

Content ratings are also extremely fucked. What’s the difference between Mature, Explicit, Sensitive, NSFW and Adult??

And finally… personal opinion here, Yuri and Yaoi are NOT demographics.

Then I encountered… this. Slugs. Slugs are URL-friendly strings derived from titles. For example, “One Piece” would be normalized to the slug “one-piece”. They are a great way to readable urls.
However, the reason for my reaction is because they become especially annoying when multiple items (comics) share the same name. This is common in manga. Thankfully, it seems Fenky had a solution for this: generate unique slugs with a number on the end! Sure… janky solution at best, but a working one… if it would be used.


Yup. They don’t even use it during series creation. Instead, they call another weirdly different, random function that is embedded in the actual series creation method! Not only do they start up a loop and call a database read… this function won’t ever execute. You know why? Because the AI didn’t account for code it had written before this.

Here’s what happens: the code checks the database to see if a series already exists, by doing yet another database read. If the series does, it throws an error, crashing the function before the slug logic or other creation logic is even reached. Meaning they will never have a series with a duplicate title… despite creating a function to handle such case.
So not only is it impossible to create duplicate series in series creation. Their system performs MULTIPLE unnecessary database reads just to check if the series’ title exists already. Multiple database reads per call can easily stack up and degrade performance, increase computational cost, and just slow down the whole thing entirely.
They also still need to make another write to the database later on to create the series. So yeah. Great system Fenyk!
A simpler, more industry-standard solution would be to rely on a basic ID system, like UUIDv4, which is already natively supported in their database. That would eliminate the need for extra reads and complex slug logic.

Except they actually do HAVE IT IN THEIR DB, but for some reason their backend also uses slugs [I’M LITERALLY CRYING!!!].
I was now curious about that original way to generate slugs… only to find out, it gets used only when a series is created… by scraping. Here is the only call of it:

And I’m not even sure if this function ever gets called because they’re checking for dupes, but not with names but with source url? Whatever the fuck that is.

To add insult to injury, they also do use the ID, in say, modifying series. So they’re using slug, id and source url to check three different things… not complicated at all!

Fun fact. They also have to re-request the database (meaning yet another call to the database) every time you create or update something.

Whatever. I’m tired of this. Let’s move onto chapters.
Here, I found an immediate red flag… they don’t allow duplicate chapters. For a platform claiming to be a Comick replacement, this is a HUGE issue. The entire point of Comick was to allow multiple versions of the same chapter in the same language… Yet Fenyk backend just… doesn’t support this. Makes sense because the AI thinks that it only needs to support one chapter per language.

So yes! Goodbye to having this on Fenyk because it’s just NOT possible!
At least let’s hope we can get the chapter (to read it) normally…

Wait, so does it or does it not include URLs????

It does include pages apparently! But not the urls, which are hosted on their own separate database model? Huh, that’s weird. Let’s go and see…

Okay, so they just decided to host all of their chapter URLs in a separate model. Not a bad idea on paper, you can get extra info and stuff… let’s go and check how this is requested in the specific function made to request the chapter pages.

Huh. They immediately call their DB twice. Wow.

And then we reach some of the worst code I have ever seen in my lifetime. Fenyk calls a service to generate page urls… for every SINGLE page in the chapter, before returning them, completely ignoring the “image_url” column in the database for whatever reason. It even had a helpful comment “urls from CDN” next to it (from before). And those values are never populated either! The upload chapter feature never adds those urls.
Oh, and here’s the kicker: there’s no chapter upload feature! Yeah… you can’t actually add the chapter metadata… anywhere. There’s a SINGULAR page upload feature, which doesn’t do much except uploading one singular page… or cover.
To make matters worse, uploads are handled ENTIRELY on the backend. This means that every file must first be processed server side before being moved to its intended storage bucket. I can see the fuck-ass computing times and server load percentages already.
Well, okay. At least there’s a comment system, right? Oh boy…
First of all, there’s three separate models in the Database: Threads, Replies and Comments.



Not confusing at all. So which is which? What specifically are threads and what are replies? And aren’t comments literally just that? Comments are already supported on chapters and series… What's the point of threads then? Huh?

And the entire comments system itself is overly complex. While the idea behind separating comments by series, chapter, and specific page annotations is sound in theory.. the way they’re implementing this is fucking convoluted as HELL. The code would be impossible to maintain.
Honestly, It’s unclear why all this complexity was necessary. A more straightforward design could have achieved similar goals with far less overhead and confusion. They could have used a single comments table with optional references to series, chapters, pages, and filter comments based on context rather than enforcing… whatever the hell this tier system is.
More broadly, this entire codebase feels like tangled spaghetti. The files are poorly named, functions are either non-functional, improperly defined, or outright broken. It’s all a shitshow, in its purest form. Multiple times I was laughing out loud at how badly the code was designed [Frontend reviewer’s note: can confirm, I was in voice chat with them]. It wasn’t even some personal disagreements over how the code was written, this code is pure shit and I’m surprised if it even launches.
Okay, I’m sure at least the code for getting these comments is a little better…

Did… they forget to add the route?

They also rolled out their own SQL checker… that’s not a bad idea at all! (sarcasm) And finally, like always—they make an insane number of calls to the database.

In conclusion… I'm tired of subjecting my eyes and my brain to this terrible code, so I’ll be leaving it at that. You can find a link with ALL the code
The Infra
They have an entire document full of thoughts on how to host the website, which is, basically, full of bad calculations, underestimations or insane costs that we fail to see how will be funded. Not to mention, they’ve mentioned plans to host on a German VPS.
…
Think about that for a second. GERMANY, a notorious anti-piracy country which will send you to prison if you even somewhat participate in piracy activities. And in general, their infrastructure plans are absolute dogshit and completely AI generated.
And not to mention, once again, their devs have horrible OpSec (will not comment further on this, but be aware that the lead backend developer is severely underage, and we discovered that through some basic Google searches).
Here’s the full doc: https://rentry.co/fentanyl-infra (extremely funny name)

Also…they are planning to replicate the ENTIRETY of their stack across three servers. Three SERVERS. Not availability zones. THREE… SERVERS.


They’re hosting docker containers, frontend, their object storage buckets, a Redis cache, and a reverse proxy… all on only EIGHT gigabytes of RAM and 4vCPUs. All on three VPSes. Meanwhile, the entirety of their REST API is hosted on a completely separate VPS, far far away from all of these servers.
And… they apparently have database sharding setup? Which isn’t a bad idea in practice, but:
- Manga data is not evenly distributed, so splitting shards by alphabetical order is a fucking terrible idea, become some manga titles get far more traffic than others.
- Database shards should be co-located or at least within close network proxy, not fucking scattered across different availability zones.
Every search query would require joining results across all of their shards. Because… lo and behold, they ARE NOT using any form of vector search.EDIT (11/8/2025, 03:47 UTC): my apologies, this is incorrect. What I meant to say was that they would have to join results from their shards to search for a series in their DB, but for whatever reason it did not hit me that they could just pull from the shard that falls within that alphabetical range. My apologies. I am in the wrong here.
Ideally, their database should be close in location to the API server, which in turn should be geographically replicated closer to users. Having the database close to the users but the API server far far away from the database.. how the fuck would that help them? Even vice versa, it defeats the purpose and will cause significant latency and inefficiency. A better approach would be to replicate clusters of shards across multiple regions. But of course—Fenyk probably doesn’t even know what a shard is.
A Statement From The Leaker:
Finally, here’s a statement from the third party leaker who reached out:
“Hello, I am the third party who reached out. I recently joined the Fenyk team as I found it online, with their bold claims and what seemed like a genuine project.
I soon found out the entirety of progress was carried by 2\~3 people, nothing except (negligible) vibecoded (self-admitted in discord) UI changes are done by the "Owner" and there's barely 5 messages every 2 days in dev channels, while announcements promising a "coming soon" huge sneak peek.
I hope this constructive criticism makes them scale down the hype train and instead focus on making the project, such that the manga/manhwa reading scene actually improves.”
Fenyk Source Code:
To finish everything out, here is the full Fenky code that we received! If you’re a developer, have fun, we hope you’ll make some even better discoveries, if instead you are a developer for another site, please, please, please use this as a general information on what to do and not to do and don’t base your code on this hot mess of Fenyk.
https://mega.nz/file/WFkVnKqT#arUg3OUIG6abfPmCXwwETokAhp_ApPQXarWBNDoOT_g
https://files.catbox.moe/xf3xa6.zip