--- /dev/null
+{@net.frustratedfunctor.ui.WordTranslationsDefinitions translationsDefinitions}
+<!DOCTYPE html>
+<html lang="en">
+<meta charset="UTF-8">
+<meta name="description" content="Translations and definitions service for French and English">
+<title>Frustrated Langs | About</title>
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<script defer src="https://analytics.frustrated-labs.net/script.js"
+ data-website-id="ac647826-77cd-48d0-b184-2da490b4adb4"></script>
+<script defer src="https://analytics.frustrated-labs.net/recorder.js"
+ data-website-id="ac647826-77cd-48d0-b184-2da490b4adb4" data-sample-rate="0.15" data-mask-level="moderate"
+ data-max-duration="300000"></script>
+<link rel="stylesheet" href="/styles.css">
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/picnic">
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css"
+ integrity="sha512-2SwdPD6INVrV/lHTZbO2nodKhrnDdJK9/kg2XD1r9uGqPo1cUbujc+IYdlYdEErWNu69gVcYgdxlmVmzTWnetw=="
+ crossorigin="anonymous" referrerpolicy="no-referrer"/>
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/solid.min.css"
+ integrity="sha512-EHa6vH03/Ty92WahM0/tet1Qicl76zihDCkBnFhN3kFGQkC+mc86d7V+6y2ypiLbk3h0beZAGdUpzfMcb06cMg=="
+ crossorigin="anonymous" referrerpolicy="no-referrer"/>
+<style>
+</style>
+<body>
+
+<header>
+ <nav class="demo">
+ <a href="#" class="brand">
+ <img class="logo" src="/logo.png" alt="logo"/>
+ <span>Frustrated Langs</span>
+ </a>
+
+ <!-- responsive-->
+ <input id="bmenub" type="checkbox" class="show">
+ <label for="bmenub" class="burger pseudo button">≡</label>
+
+ <div class="menu">
+ <a href="/about.html" class="pseudo button">About</a>
+ <a href="/api.html" class="pseudo button">API</a>
+ <a href="/contributing.html" class="button">Contribute</a>
+ </div>
+ </nav>
+</header>
+
+<main class="">
+ <h1>About</h1>
+ <p>
+ I started building this site mainly to learn Quarkus and Kubernetes.
+ Nonetheless, I have found it useful, specially the API, for my language learning purposes.
+ As such, I will continue to develop and maintain it for the foreseeable future.
+ </p>
+ <p>
+ You can use the search bar to get translations and definitions for words. For now, we only
+ support French to English translations, but support for other languages is planned for the
+ near future.
+ </p>
+ <p>
+ If you think you can make this site better, or if you want a new language to be added,
+ see <a href="/contributing.html">the contributing section</a>.
+ </p>
+</main>
+
+<footer>
+ <small>Copyright 2026 Alexander Goussas</small>
+ <br>
+ <small>Made with Quarkus and k8s and <3</small>
+</footer>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+{@net.frustratedfunctor.ui.WordTranslationsDefinitions translationsDefinitions}
+<!DOCTYPE html>
+<html lang="en">
+<meta charset="UTF-8">
+<meta name="description" content="Translations and definitions service for French and English">
+<title>Frustrated Langs | Contributing</title>
+<meta name="viewport" content="width=device-width,initial-scale=1">
+<script defer src="https://analytics.frustrated-labs.net/script.js"
+ data-website-id="ac647826-77cd-48d0-b184-2da490b4adb4"></script>
+<script defer src="https://analytics.frustrated-labs.net/recorder.js"
+ data-website-id="ac647826-77cd-48d0-b184-2da490b4adb4" data-sample-rate="0.15" data-mask-level="moderate"
+ data-max-duration="300000"></script>
+<link rel="stylesheet" href="/styles.css">
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/picnic">
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css"
+ integrity="sha512-2SwdPD6INVrV/lHTZbO2nodKhrnDdJK9/kg2XD1r9uGqPo1cUbujc+IYdlYdEErWNu69gVcYgdxlmVmzTWnetw=="
+ crossorigin="anonymous" referrerpolicy="no-referrer"/>
+<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/solid.min.css"
+ integrity="sha512-EHa6vH03/Ty92WahM0/tet1Qicl76zihDCkBnFhN3kFGQkC+mc86d7V+6y2ypiLbk3h0beZAGdUpzfMcb06cMg=="
+ crossorigin="anonymous" referrerpolicy="no-referrer"/>
+<style>
+</style>
+<body>
+
+<header>
+ <nav class="demo">
+ <a href="#" class="brand">
+ <img class="logo" src="/logo.png" alt="logo"/>
+ <span>Frustrated Langs</span>
+ </a>
+
+ <!-- responsive-->
+ <input id="bmenub" type="checkbox" class="show">
+ <label for="bmenub" class="burger pseudo button">≡</label>
+
+ <div class="menu">
+ <a href="/about.html" class="pseudo button">About</a>
+ <a href="/api.html" class="pseudo button">API</a>
+ <a href="/contributing.html" class="button">Contribute</a>
+ </div>
+ </nav>
+</header>
+
+<main class="">
+ <h1>Contributing</h1>
+ <h2>
+ Suggestions, requests and ideas
+ </h2>
+ <p>
+ If you have a suggestion or idea that could make this website better, or if you want to request a new language
+ to be
+ </p>
+ <h2>Adding a new language</h2>
+ <p>
+ You can send me a patch implementing support for your language. Take a look at the <a
+ href="https://git.frustrated-labs.net/?p=larousseapi;a=summary">codebase</a>.
+ I think everything is pretty self-explanatory. You should create a new implementation of the
+ <code>WordDefinitionRepository</code> and <code>WordTranslationRepository</code> interfaces and add it to the
+ corresponding composite classes.
+ </p>
+ <p>
+ The patches should be sent over email with the subject <code>[larousseapi] PATCH: description</code>
+ </p>
+ <p>
+ For alignment on anything, you can contact me over email or message me on LinkedIn. I will gladly discuss the
+ API's design and other technical stuff in a call or text.
+ </p>
+ <h2>Technical stack</h2>
+ <p>
+ The API uses Quarkus REST for the API and the Qute template engine for the frontend. Everything is deployed
+ on k8s and instrumented for both frontend and backend metrics with Umami and OTEL respectively. Once you
+ clone the repository, you should be able to run it in dev mode with <code>quarkus dev</code>.
+ </p>
+ <p>
+ There are no external databases or else needed, for now. I plan to add a caching layer in the future.
+ </p>
+</main>
+
+<footer>
+ <small>Copyright 2026 Alexander Goussas</small>
+ <br>
+ <small>Made with Quarkus and k8s and <3</small>
+</footer>
+
+</body>
+</html>
\ No newline at end of file