aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNavan Chauhan <navanchauhan@gmail.com>2025-03-27 18:24:46 -0600
committerNavan Chauhan <navanchauhan@gmail.com>2025-03-27 18:24:46 -0600
commit4fcfb52f60f20cb091dcb4dbdf4a365fdea14651 (patch)
tree11cc0c9d1df7fd31ff12930cfb963f3f9fed1c56
parent9eefba4a229a404eb1088db477a05e84b61e28b9 (diff)
initial commit
-rw-r--r--Gemfile2
-rw-r--r--README.md3
-rw-r--r--_config.yml93
-rw-r--r--_includes/appstoreconnect.html81
-rw-r--r--_includes/features.html23
-rw-r--r--_includes/footer.html42
-rw-r--r--_includes/head.html145
-rw-r--r--_includes/header.html41
-rw-r--r--_layouts/default.html117
-rw-r--r--_layouts/page.html15
-rw-r--r--_pages/changelog.md16
-rw-r--r--_pages/privacypolicy.md94
-rw-r--r--assets/apple-app-store.svg46
-rw-r--r--assets/google-play-store.svg2
-rw-r--r--assets/iphone-16-pro-black-titanium.pngbin0 -> 376552 bytes
-rw-r--r--assets/placeholder-icon.pngbin0 -> 77380 bytes
-rw-r--r--assets/screenshot/default.jpegbin0 -> 1818260 bytes
-rw-r--r--index.html3
18 files changed, 723 insertions, 0 deletions
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..5761cb3
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,2 @@
+source "https://rubygems.org"
+gem 'github-pages'
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c4e8668
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# Auto App Landing Page
+
+Based off [emilbaehr/automatic-app-landing-page](https://github.com/emilbaehr/automatic-app-landing-page) but with a Bento Grid UI, no jQuery, and using BulmaCSS. Really, the only thing that is common between these repos is the config file.
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..426632a
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,93 @@
+page_title : # Automatically populates with app name if not set and if iOS app ID is set. Otherwise enter manually.
+
+# App Info
+ios_app_id : 640199958 # Required. Enter iOS app ID to automatically populate name, price and icons (e.g. 718043190).
+ios_app_country : us # Required outside USA. Enter 2 letter country code as in https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
+
+appstore_link : # Automatically populates if not set and if iOS app ID is set. Otherwise enter manually.
+playstore_link : # Enter Google Play Store URL.
+
+app_icon : # assets/appicon.png # Automatically populates if not set and if iOS app ID is set. Otherwise enter path to icon file manually.
+app_name : # Automatically populates if not set and if iOS app ID is set. Otherwise enter manually.
+app_price : # Automatically populates if not set and if iOS app ID is set. Otherwise enter manually.
+app_tagline : A short and catchy tagline.
+app_description : # Automatically populates if not set and if iOS app ID is set. Otherwise enter manually.
+enable_smart_app_banner : true # Set to true to show a smart app banner at top of page on mobile devices.
+
+# Information About Yourself
+your_name : Navan
+your_link : https://web.navan.dev
+your_city : REDACTED LOCATION
+email_address : ghpageapp@navan.email
+instagram_username : navanchauhan
+twitter_username : navanchauhan
+github_username : navanchauhan
+mastodon_link : https://mastodon.social/@navanchauhan
+bluesky_profile : navan.dev
+
+# Feature List Edit, add or remove features to be presented.
+features :
+
+ - title : GitHub Pages Jekyll Theme
+ description : Designed for GitHub Pages. Fork. Edit _config.yml. Upload screenshot. Push to gh-pages branch. Voilá!
+ fontawesome_icon_name : magic
+
+ - title : iPhone Device Preview
+ description : Preview your app in the context of an iPhone device.
+ fontawesome_icon_name : mobile
+
+ - title : Dark/Light Mode
+ description : Automatically switch between dark and light mode based on user's system preferences.
+ fontawesome_icon_name : circle-half-stroke
+
+ - title : Automatic Icon and Metadata
+ description : Enter iOS app ID in the _config.yml file to automatically fetch app icon, price and App Store Link.
+ fontawesome_icon_name : sync
+ - title : Feature List
+ description : Add features (like this one) to your site via the _config.yml file. No HTML/CSS needed.
+ fontawesome_icon_name : star
+
+ - title : Smart App Banner
+ description : Display a smart app banner on iOS devices.
+ fontawesome_icon_name : arrow-alt-circle-down
+
+ - title : Social Links
+ description : Easily add social media accounts and contact info in the footer via the _config.yml file. No HTML/CSS needed.
+ fontawesome_icon_name : link
+
+ - title : FontAwesome Support
+ description : Pick custom Font Awesome icons for the feature list via the _config.yml file. No HTML/CSS needed.
+ fontawesome_icon_name : info-circle
+
+ - title : Feature Requests
+ description : Want to request a feature? Open an issue on GitHub.
+ fontawesome_icon_name : comments
+
+ - title : # New Feature Title
+ description : # New Feature Description
+ fontawesome_icon_name : # Enter Font Awesome icon name (e.g. star). Find icons on https://fontawesome.com/search?o=r&ic=free&s=solid&ip=classic.
+
+
+
+# Theme Settings
+accent_color : "#4dbcb6" # Set the accent color. Use a hex color value.
+footer_link_color : "#4dbcb6"
+
+
+####################################################
+### Jekyll Configuration. No need to touch this. ###
+####################################################
+
+# Exclude these files from your production _site
+exclude:
+ - LICENSE
+ - README.md
+ - CNAME
+
+collections:
+ pages:
+ output: true
+ permalink: /:path/
+
+# Markdown rendering
+markdown: kramdown
diff --git a/_includes/appstoreconnect.html b/_includes/appstoreconnect.html
new file mode 100644
index 0000000..755caaf
--- /dev/null
+++ b/_includes/appstoreconnect.html
@@ -0,0 +1,81 @@
+{% if site.ios_app_id %}
+<script>
+document.addEventListener("DOMContentLoaded", function () {
+ const iosAppId = "{{ site.ios_app_id }}";
+ const iosAppCountry = "{{ site.ios_app_country }}";
+
+ if (iosAppId) {
+ const apiURL = `https://itunes.apple.com/lookup?id=${iosAppId}&country=${iosAppCountry}&callback=?`;
+
+ fetch(apiURL.replace("&callback=?", ""))
+ .then(response => response.json())
+ .then(json => {
+ if (json.results && json.results.length) {
+ console.info("Image strings loaded from Apple API.");
+ const appInfo = json.results[0];
+
+ const favicon = document.querySelector('link[rel="shortcut icon"]');
+ if (favicon) favicon.href = appInfo.artworkUrl512;
+
+ // // Set page title
+ const pageTitle = document.querySelector(".pageTitle");
+ if (pageTitle && pageTitle.textContent.trim().length === 0) {
+ pageTitle.textContent = appInfo.trackName;
+ }
+
+ // Set large app icon
+ const appIconLarge = document.getElementById("largeIcon");
+ if (appIconLarge && (!appIconLarge.getAttribute("src") ||
+ appIconLarge.getAttribute("src") === "{{ '/assets/placeholder-icon.png' | relative_url }}")) {
+ appIconLarge.setAttribute("src", appInfo.artworkUrl512);
+ }
+
+ // Set header app icon
+ const appIconHeader = document.getElementById("headerIcon");
+ if (appIconHeader && (!appIconHeader.getAttribute("src") ||
+ appIconHeader.getAttribute("src") === "{{ '/assets/placeholder-icon.png' | relative_url }}")) {
+ appIconHeader.setAttribute("src", appInfo.artworkUrl512);
+ console.log(appInfo.artworkUrl512);
+ }
+
+ // Set app name
+ const appName = document.getElementById("appName");
+ if (appName) {
+ if (appName.textContent.trim().length === 0 || appName.textContent.trim() === "Your App Name") {
+ appName.textContent = appInfo.trackName;
+ }
+ }
+
+ // Set header name
+ const headerName = document.getElementById("headerName");
+ if ((headerName.textContent.trim().length === 0) || headerName.textContent.trim() === "Your App Name") {
+ headerName.textContent = appInfo.trackName;
+ }
+
+ // Set price
+ const appPrice = document.getElementById("appPrice");
+ if (appPrice && appPrice.textContent.trim().length === 0) {
+ appPrice.textContent = appInfo.formattedPrice;
+ }
+
+ // Set App Store link
+ const appStoreLink = document.getElementById("appStoreLink");
+ if (appStoreLink && appStoreLink.getAttribute("href").trim().length === 0) {
+ appStoreLink.setAttribute("href", appInfo.trackViewUrl);
+ }
+
+ // Set App Description
+ const appDescription = document.getElementById("appDescription");
+ if (appDescription && appDescription.textContent.trim().length === 0) {
+ appDescription.textContent = appInfo.description;
+ }
+
+ console.info(appInfo);
+ }
+ })
+ .catch(error => console.error("Error fetching App Store info:", error));
+ }
+});
+</script>
+
+{% endif %}
diff --git a/_includes/features.html b/_includes/features.html
new file mode 100644
index 0000000..5920b14
--- /dev/null
+++ b/_includes/features.html
@@ -0,0 +1,23 @@
+ <div class="column is-two-thirds">
+ <div class="columns is-multiline " style="height: 100%;">
+ {% assign features_to_show = site.features | slice: 0, 6 %}
+ {% for feature in features_to_show %}
+ {% if feature.title %}
+ <div class="column is-6" style="height: 33.333%;">
+ <div class="card feature-box m-1">
+ <div class="card-content is-flex is-flex-direction-column is-justify-content-center">
+ <div class="has-text-centered mb-2">
+ <span class="icon is-large">
+ <i class="fa-solid fa-{{ feature.fontawesome_icon_name }} fa-2x"></i>
+ </span>
+ </div>
+ <h4 class="title is-5 has-text-centered">{{ feature.title }}</h4>
+ <p class="has-text-centered">{{ feature.description }}</p>
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% endfor %}
+
+ </div>
+ </div>
diff --git a/_includes/footer.html b/_includes/footer.html
new file mode 100644
index 0000000..7409e0c
--- /dev/null
+++ b/_includes/footer.html
@@ -0,0 +1,42 @@
+<footer class="footer mt-5">
+ <div class="content has-text-centered">
+ {% if site.your_name %}
+ <p>Made with ❤️ by {% if site.your_link %}<a href="{{ site.your_link }}">{% endif %}{{ site.your_name }}{% if site.your_link %}</a>{% endif %}{% if site.your_city %} in {{ site.your_city }}{% endif %}</p>
+ {% endif %}
+
+ <div class="social-icons">
+ {% if site.email_address %}
+ <a href="mailto:{{ site.email_address }}" class="icon is-large" aria-label="E-mail">
+ <i class="fa fas fa-envelope fa-2x"></i>
+ </a>
+ {% endif %}
+ {% if site.twitter_username %}
+ <a href="https://twitter.com/{{ site.twitter_username }}" class="icon is-large" aria-label="Twitter">
+ <i class="fa-brands fa-x-twitter fa-2x"></i>
+ </a>
+ {% endif %}
+ <a href="#" class="icon is-large" aria-label="GitHub">
+ <i class="fa-brands fa-github fa-2x"></i>
+ </a>
+ <a href="https://bsky.app/profile/{{ site.bluesky_profile }}" class="icon is-large" aria-label="Bluesky">
+ <i class="fa-brands fa-bluesky fa-2x"></i>
+ </a>
+ {% if site.mastodon_link %}
+ <a href="{{ site.mastodon_link }}" class="icon is-large" aria-label="Mastodon">
+ <i class="fa-brands fa-mastodon fa-2x"></i>
+ </a>
+ {% endif %}
+ {% if site.instagram_username %}
+ <a href="https://instagram.com/{{ site.instagram_username }}" class="icon is-large" aria-label="Instagram">
+ <i class="fa-brands fa-instagram fa-2x"></i>
+ </a>
+ {% endif %}
+ </div>
+
+ <div class="footer-links">
+ {% for page in site.pages %}
+ <a href="{{ page.url | relative_url }}" target="_self">{{ page.title }}</a>
+ {% endfor %}
+ </div>
+ </div>
+ </footer>
diff --git a/_includes/head.html b/_includes/head.html
new file mode 100644
index 0000000..cd90cbb
--- /dev/null
+++ b/_includes/head.html
@@ -0,0 +1,145 @@
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>{{ site.page_title }}</title>
+ <meta name="description" content="{{ site.app_description }}">
+ <link rel="shortcut icon" href="{{ site.app_icon | relative_url }}">
+ {% if site.enable_smart_app_banner %}
+ <meta name="apple-itunes-app" content="app-id={{ site.ios_app_id }}">
+ {% endif %}
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/1.0.2/css/bulma.min.css">
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css">
+ <style>
+ :root {
+ --bulma-shadow-l: 0;
+ }
+
+ body {
+ background-color: #f8f9fc;
+ }
+
+ .card {
+ background-color: #e3e7ee;
+ }
+
+ @media (prefers-color-scheme: dark) {
+ body {
+ background-color: #0a0e17;
+ }
+
+ .card {
+ background-color: #111827;
+ }
+ }
+
+ .card {
+ border: 2px solid rgba(156, 163, 175, 0.1);
+ border-radius: 0.75rem;
+ height: 100%;
+ transition: all 0.3s ease;
+ }
+
+ .card:hover {
+ transform: translateY(-5px);
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
+ border-color: {{ site.accent_color }}80;
+ }
+
+ .card-content {
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ }
+ .app-icon {
+ border-radius: 30px;
+ width: 120px;
+ height: 120px;
+ }
+
+ .store-button {
+ height: 4rem;
+ margin: 0.5rem;
+ }
+ .phone-container {
+ position: relative;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100%;
+ }
+ .phone-frame {
+ position: absolute;
+ height: 90vh;
+ z-index: 10;
+ pointer-events: none;
+ }
+ .phone-screenshot {
+ height: 87vh;
+ border-radius: 3rem;
+ }
+ @media (min-width: 768px) {
+ .phone-screenshot {
+ margin-right: 1px;
+ }
+ }
+ .app-icon-clip {
+ clip-path: path('M120,37.2V37c0-.9,0-1.8,0-2.7a35.1,35.1,0,0,0-.51-5.9,19.62,19.62,0,0,0-1.86-5.6,18.8,18.8,0,0,0-8.28-8.3,19.62,19.62,0,0,0-5.62-1.9,35.46,35.46,0,0,0-5.91-.51c-.9,0-1.8,0-2.73,0H55.41c-.9,0-1.8,0-2.73,0a43.35,43.35,0,0,0-5.91.51,19.74,19.74,0,0,0-5.62,1.9,18.84,18.84,0,0,0-8.28,8.3,19.62,19.62,0,0,0-1.86,5.6,35.51,35.51,0,0,0-.51,5.9c0,.9,0,1.8,0,2.73v40.2c0,.9,0,1.8,0,2.73a43.35,43.35,0,0,0,.51,5.91,19.62,19.62,0,0,0,1.86,5.6,18.84,18.84,0,0,0,8.28,8.28,19.71,19.71,0,0,0,5.62,1.86,35.46,35.46,0,0,0,5.91.51c.9,0,1.8,0,2.73,0H95.09c.9,0,1.8,0,2.73,0a43.28,43.28,0,0,0,5.91-.51,19.55,19.55,0,0,0,5.62-1.86,18.8,18.8,0,0,0,8.28-8.28,19.62,19.62,0,0,0,1.86-5.6,35.51,35.51,0,0,0,.51-5.91c0-.9,0-1.8,0-2.73V37.2Z');
+ }
+
+ .feature-box {
+ height: 100%;
+ }
+ .feature-box .icon {
+ color: {{site.accent_color}};
+ margin-bottom: 0.5rem;
+ }
+ .feature-box .title {
+ margin-bottom: 0.75rem;
+ font-size: 1.1rem;
+ }
+ .feature-box p {
+ font-size: 0.9rem;
+ line-height: 1.5;
+ }
+ .social-icons {
+ margin-bottom: 1.5rem;
+ }
+
+ .social-icons .icon {
+ margin: 0 0.5rem;
+ transition: transform 0.3s ease;
+ }
+
+ .social-icons .icon:hover {
+ transform: translateY(-5px);
+ }
+
+ .footer-links {
+ margin-top: 1rem;
+ }
+
+ .footer-links a {
+ padding: 0 1rem;
+ border-right: 1px solid #dbdbdb;
+ }
+
+ .footer-links a:last-child {
+ border-right: none;
+ }
+
+ .made-by {
+ font-weight: 500;
+ margin-bottom: 1rem;
+ }
+
+ .social-icons .icon {
+ color: {{ site.footer_link_color }};
+ transition: filter 0.2s ease;
+ }
+
+ .social-icons a:hover {
+ filter: brightness(0.65);
+ }
+ </style>
+</head>
diff --git a/_includes/header.html b/_includes/header.html
new file mode 100644
index 0000000..0404093
--- /dev/null
+++ b/_includes/header.html
@@ -0,0 +1,41 @@
+<nav class="navbar mb-5 px-5 py-3" role="navigation" aria-label="main navigation">
+ <div class="navbar-brand is-align-items-center">
+ <figure class="image is-64x64">
+ {% if page.url != '/' %}
+ <a href="../" target="_self"><img src="{{ '/assets/placeholder-icon.png' | relative_url }}"
+ alt="App Icon" style="border-radius: 12px;" id="headerIcon"></a>
+ {% else %}
+ <img src="{{ '/assets/placeholder-icon.png' | relative_url }}"
+ alt="App Icon" style="border-radius: 12px;" id="headerIcon">
+ {% endif %}
+ </figure>
+ <p class="title is-4 ml-4 is-hidden-mobile" id="headerName">
+ Your App Name
+ </p>
+ <div class="ml-auto is-hidden-desktop">
+ {% for page in site.pages %}
+ {% if page.include_in_header == true %}
+ <a href="{{ page.url | relative_url }}" target="_self" class="button">
+ {{ page.title }}
+ </a>
+ {% endif %}
+ {% endfor %}
+ </div>
+ </div>
+
+ <div class="navbar-menu">
+ <div class="navbar-end">
+ <div class="navbar-item">
+ <div class="buttons">
+ {% for page in site.pages %}
+ {% if page.include_in_header == true %}
+ <a href="{{ page.url | relative_url }}" target="_self" class="button">
+ {{ page.title }}
+ </a>
+ {% endif %}
+ {% endfor %}
+ </div>
+ </div>
+ </div>
+ </div>
+</nav>
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000..9977674
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en-us">
+
+{% include head.html %}
+
+<body>
+ {% include header.html %}
+
+ <div class="px-5">
+ <div class="columns is-multiline is-variable is-4">
+ <div class="column is-one-third">
+ <div class="card">
+ <div class="card-content">
+ <div class="media is-align-items-center">
+ <div class="media-left">
+ <figure class="image is-128x128">
+ <img src="{{ '/assets/placeholder-icon.png' | relative_url }}" class="app-icon" alt="Large app icon" id="largeIcon">
+ </figure>
+ </div>
+ <div class="media-content">
+ <p class="title is-3" id="appName">Your App Name</p>
+ <p class="subtitle is-6" id="appPrice">{{ site.app_price }}</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="column is-one-third">
+ <div class="card">
+ <div class="card-content">
+ <div class="content has-text-centered">
+ <p class="subtitle is-3">{{ site.app_tagline }}</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="column is-one-third">
+ <div class="card">
+ <div class="card-content">
+ <div class="content has-text-centered">
+ <a href="{{ site.appstore_link }}" id="appStoreLink">
+ <img src="{{ '/assets/apple-app-store.svg' | relative_url }}" alt="App Store" class="store-button">
+ </a>
+ {% if site.playstore_link %}
+ <a href="{{ site.playstore_link }}">
+ <img src="{{ '/assets/google-play-store.svg' | relative_url }}" alt="Play Store" class="store-button">
+ </a>
+ {% endif %}
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="column is-one-third is-flex">
+ <div class="card is-flex-grow-1">
+ <div class="card-content is-flex-grow-1">
+ <div class="phone-container">
+ <img src="{{ '/assets/iphone-16-pro-black-titanium.png' | relative_url }}" class="phone-frame" alt="iPhone frame">
+ <img src="{{ '/assets/screenshot/default.jpeg' | relative_url }}" class="phone-screenshot" alt="App screenshot">
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- Features on the right -->
+ {% include features.html %}
+
+ {% if site.features.size > 6 %}
+ <div class="column is-full">
+ <div class="columns is-multiline">
+ {% assign rest = site.features | slice: 6, site.features.size %}
+ {% for feature in rest %}
+ {% if feature.title %}
+ <div class="column is-is-one-third">
+ <div class="card feature-box">
+ <div class="card-content">
+ <div class="has-text-centered mb-2">
+ <span class="icon is-large">
+ <i class="fas fa-{{ feature.fontawesome_icon_name }} fa-2x"></i>
+ </span>
+ </div>
+ <h4 class="title is-5 has-text-centered">{{ feature.title }}</h4>
+ <p class="has-text-centered">{{ feature.description }}</p>
+ </div>
+ </div>
+ </div>
+ {% endif %}
+ {% endfor %}
+
+ </div>
+ </div>
+ {% endif %}
+
+ </div>
+
+ <div class="column is-full">
+ <div class="card">
+ <div class="card-content">
+ {% if site.app_description %}
+ <div class="content has-text-centered subtitle">
+ {% else %}
+ <div class="content subtitle">
+ {% endif %}
+ <p style="white-space: pre-wrap;" id="appDescription">{{ site.app_description }}</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ {% include appstoreconnect.html %}
+ {% include footer.html %}
+</body>
+
+</html>
diff --git a/_layouts/page.html b/_layouts/page.html
new file mode 100644
index 0000000..505c97f
--- /dev/null
+++ b/_layouts/page.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en-us">
+
+{% include head.html %}
+
+<body>
+ {% include header.html %}
+ <div class="container">
+ <article class="content">
+ {{ content }}
+ </article>
+ </div>
+ {% include appstoreconnect.html %}
+</body>
+</html>
diff --git a/_pages/changelog.md b/_pages/changelog.md
new file mode 100644
index 0000000..3076aa1
--- /dev/null
+++ b/_pages/changelog.md
@@ -0,0 +1,16 @@
+---
+layout: page
+title: What's New
+include_in_header: true
+---
+
+# Changelog
+
+We have been hard at work ironing out bugs and adding new features. Here is a list of changes for each release.
+
+<br>
+
+### `Initial Release`
+# **Version 1.0**
+
+This initial release features a simple, responsive landing page for your app. It includes a download button, a section for features, a section for a screenshot, and a section for a more copmrehensive description.
diff --git a/_pages/privacypolicy.md b/_pages/privacypolicy.md
new file mode 100644
index 0000000..b5502b9
--- /dev/null
+++ b/_pages/privacypolicy.md
@@ -0,0 +1,94 @@
+---
+layout: page
+title: Privacy Policy
+include_in_header: false
+---
+
+**Last updated**
+March 23, 2025
+
+# Privacy Policy
+
+Effective Date: [Insert Date]
+
+App Name: **MyApp**
+
+Developer: [Your Company Name]
+
+This is a dummy privacy policy template. Replace the placeholders with your information and customize the content to reflect your app's data practices.
+
+---
+
+### 1. Introduction
+
+Welcome to **MyApp**! Your privacy is important to us. This Privacy Policy explains how we collect, use, and protect your information when you use our mobile application.
+
+---
+
+### 2. Information We Collect
+
+We may collect the following types of information:
+
+- **Personal Information**: Such as your name, email address, and profile picture, if you choose to provide it.
+- **Usage Data**: Information about how you interact with the app, including features used, pages visited, and time spent.
+- **Device Information**: Information about your mobile device, including device ID, operating system, and browser type.
+
+---
+
+### 3. How We Use Your Information
+
+We use the information we collect to:
+
+- Provide and improve our services.
+- Customize your app experience.
+- Communicate with you (e.g., for support or updates).
+- Ensure the security and integrity of our services.
+
+---
+
+### 4. Sharing Your Information
+
+We **do not sell** your personal data. We may share your information with:
+
+- **Service Providers**: Trusted third parties that help us operate the app.
+- **Legal Requirements**: If required by law or to protect our rights.
+
+---
+
+### 5. Your Choices
+
+You can:
+
+- Opt-out of marketing emails.
+- Adjust your device settings to limit access to certain information.
+- Delete your account and associated data by contacting us.
+
+---
+
+### 6. Data Security
+
+We take reasonable measures to protect your data from unauthorized access or disclosure. However, no method of transmission over the internet or electronic storage is 100% secure.
+
+---
+
+### 7. Children's Privacy
+
+Our app is **not intended for children under the age of 13**, and we do not knowingly collect personal information from children.
+
+---
+
+### 8. Changes to This Policy
+
+We may update this Privacy Policy from time to time. Any changes will be posted within the app, and your continued use means you accept those changes.
+
+---
+
+### 9. Contact Us
+
+If you have any questions about this policy, you can contact us at:
+
+📧 **privacy@myapp.com**
+
+---
+
+---
diff --git a/assets/apple-app-store.svg b/assets/apple-app-store.svg
new file mode 100644
index 0000000..072b425
--- /dev/null
+++ b/assets/apple-app-store.svg
@@ -0,0 +1,46 @@
+<svg id="livetype" xmlns="http://www.w3.org/2000/svg" width="119.66407" height="40" viewBox="0 0 119.66407 40">
+ <title>Download_on_the_App_Store_Badge_US-UK_RGB_blk_4SVG_092917</title>
+ <g>
+ <g>
+ <g>
+ <path d="M110.13477,0H9.53468c-.3667,0-.729,0-1.09473.002-.30615.002-.60986.00781-.91895.0127A13.21476,13.21476,0,0,0,5.5171.19141a6.66509,6.66509,0,0,0-1.90088.627A6.43779,6.43779,0,0,0,1.99757,1.99707,6.25844,6.25844,0,0,0,.81935,3.61816a6.60119,6.60119,0,0,0-.625,1.90332,12.993,12.993,0,0,0-.1792,2.002C.00587,7.83008.00489,8.1377,0,8.44434V31.5586c.00489.3105.00587.6113.01515.9219a12.99232,12.99232,0,0,0,.1792,2.0019,6.58756,6.58756,0,0,0,.625,1.9043A6.20778,6.20778,0,0,0,1.99757,38.001a6.27445,6.27445,0,0,0,1.61865,1.1787,6.70082,6.70082,0,0,0,1.90088.6308,13.45514,13.45514,0,0,0,2.0039.1768c.30909.0068.6128.0107.91895.0107C8.80567,40,9.168,40,9.53468,40H110.13477c.3594,0,.7246,0,1.084-.002.3047,0,.6172-.0039.9219-.0107a13.279,13.279,0,0,0,2-.1768,6.80432,6.80432,0,0,0,1.9082-.6308,6.27742,6.27742,0,0,0,1.6172-1.1787,6.39482,6.39482,0,0,0,1.1816-1.6143,6.60413,6.60413,0,0,0,.6191-1.9043,13.50643,13.50643,0,0,0,.1856-2.0019c.0039-.3106.0039-.6114.0039-.9219.0078-.3633.0078-.7246.0078-1.0938V9.53613c0-.36621,0-.72949-.0078-1.09179,0-.30664,0-.61426-.0039-.9209a13.5071,13.5071,0,0,0-.1856-2.002,6.6177,6.6177,0,0,0-.6191-1.90332,6.46619,6.46619,0,0,0-2.7988-2.7998,6.76754,6.76754,0,0,0-1.9082-.627,13.04394,13.04394,0,0,0-2-.17676c-.3047-.00488-.6172-.01074-.9219-.01269-.3594-.002-.7246-.002-1.084-.002Z" style="fill: #a6a6a6"/>
+ <path d="M8.44483,39.125c-.30468,0-.602-.0039-.90429-.0107a12.68714,12.68714,0,0,1-1.86914-.1631,5.88381,5.88381,0,0,1-1.65674-.5479,5.40573,5.40573,0,0,1-1.397-1.0166,5.32082,5.32082,0,0,1-1.02051-1.3965,5.72186,5.72186,0,0,1-.543-1.6572,12.41351,12.41351,0,0,1-.1665-1.875c-.00634-.2109-.01464-.9131-.01464-.9131V8.44434S.88185,7.75293.8877,7.5498a12.37039,12.37039,0,0,1,.16553-1.87207,5.7555,5.7555,0,0,1,.54346-1.6621A5.37349,5.37349,0,0,1,2.61183,2.61768,5.56543,5.56543,0,0,1,4.01417,1.59521a5.82309,5.82309,0,0,1,1.65332-.54394A12.58589,12.58589,0,0,1,7.543.88721L8.44532.875H111.21387l.9131.0127a12.38493,12.38493,0,0,1,1.8584.16259,5.93833,5.93833,0,0,1,1.6709.54785,5.59374,5.59374,0,0,1,2.415,2.41993,5.76267,5.76267,0,0,1,.5352,1.64892,12.995,12.995,0,0,1,.1738,1.88721c.0029.2832.0029.5874.0029.89014.0079.375.0079.73193.0079,1.09179V30.4648c0,.3633,0,.7178-.0079,1.0752,0,.3252,0,.6231-.0039.9297a12.73126,12.73126,0,0,1-.1709,1.8535,5.739,5.739,0,0,1-.54,1.67,5.48029,5.48029,0,0,1-1.0156,1.3857,5.4129,5.4129,0,0,1-1.3994,1.0225,5.86168,5.86168,0,0,1-1.668.5498,12.54218,12.54218,0,0,1-1.8692.1631c-.2929.0068-.5996.0107-.8974.0107l-1.084.002Z"/>
+ </g>
+ <g id="_Group_" data-name="&lt;Group&gt;">
+ <g id="_Group_2" data-name="&lt;Group&gt;">
+ <g id="_Group_3" data-name="&lt;Group&gt;">
+ <path id="_Path_" data-name="&lt;Path&gt;" d="M24.76888,20.30068a4.94881,4.94881,0,0,1,2.35656-4.15206,5.06566,5.06566,0,0,0-3.99116-2.15768c-1.67924-.17626-3.30719,1.00483-4.1629,1.00483-.87227,0-2.18977-.98733-3.6085-.95814a5.31529,5.31529,0,0,0-4.47292,2.72787c-1.934,3.34842-.49141,8.26947,1.3612,10.97608.9269,1.32535,2.01018,2.8058,3.42763,2.7533,1.38706-.05753,1.9051-.88448,3.5794-.88448,1.65876,0,2.14479.88448,3.591.8511,1.48838-.02416,2.42613-1.33124,3.32051-2.66914a10.962,10.962,0,0,0,1.51842-3.09251A4.78205,4.78205,0,0,1,24.76888,20.30068Z" style="fill: #fff"/>
+ <path id="_Path_2" data-name="&lt;Path&gt;" d="M22.03725,12.21089a4.87248,4.87248,0,0,0,1.11452-3.49062,4.95746,4.95746,0,0,0-3.20758,1.65961,4.63634,4.63634,0,0,0-1.14371,3.36139A4.09905,4.09905,0,0,0,22.03725,12.21089Z" style="fill: #fff"/>
+ </g>
+ </g>
+ <g>
+ <path d="M42.30227,27.13965h-4.7334l-1.13672,3.35645H34.42727l4.4834-12.418h2.083l4.4834,12.418H43.438ZM38.0591,25.59082h3.752l-1.84961-5.44727h-.05176Z" style="fill: #fff"/>
+ <path d="M55.15969,25.96973c0,2.81348-1.50586,4.62109-3.77832,4.62109a3.0693,3.0693,0,0,1-2.84863-1.584h-.043v4.48438h-1.8584V21.44238H48.4302v1.50586h.03418a3.21162,3.21162,0,0,1,2.88281-1.60059C53.645,21.34766,55.15969,23.16406,55.15969,25.96973Zm-1.91016,0c0-1.833-.94727-3.03809-2.39258-3.03809-1.41992,0-2.375,1.23047-2.375,3.03809,0,1.82422.95508,3.0459,2.375,3.0459C52.30227,29.01563,53.24953,27.81934,53.24953,25.96973Z" style="fill: #fff"/>
+ <path d="M65.12453,25.96973c0,2.81348-1.50586,4.62109-3.77832,4.62109a3.0693,3.0693,0,0,1-2.84863-1.584h-.043v4.48438h-1.8584V21.44238H58.395v1.50586h.03418A3.21162,3.21162,0,0,1,61.312,21.34766C63.60988,21.34766,65.12453,23.16406,65.12453,25.96973Zm-1.91016,0c0-1.833-.94727-3.03809-2.39258-3.03809-1.41992,0-2.375,1.23047-2.375,3.03809,0,1.82422.95508,3.0459,2.375,3.0459C62.26711,29.01563,63.21438,27.81934,63.21438,25.96973Z" style="fill: #fff"/>
+ <path d="M71.71047,27.03613c.1377,1.23145,1.334,2.04,2.96875,2.04,1.56641,0,2.69336-.80859,2.69336-1.91895,0-.96387-.67969-1.541-2.28906-1.93652l-1.60937-.3877c-2.28027-.55078-3.33887-1.61719-3.33887-3.34766,0-2.14258,1.86719-3.61426,4.51855-3.61426,2.624,0,4.42285,1.47168,4.4834,3.61426h-1.876c-.1123-1.23926-1.13672-1.9873-2.63379-1.9873s-2.52148.75684-2.52148,1.8584c0,.87793.6543,1.39453,2.25488,1.79l1.36816.33594c2.54785.60254,3.60645,1.626,3.60645,3.44238,0,2.32324-1.85059,3.77832-4.79395,3.77832-2.75391,0-4.61328-1.4209-4.7334-3.667Z" style="fill: #fff"/>
+ <path d="M83.34621,19.2998v2.14258h1.72168v1.47168H83.34621v4.99121c0,.77539.34473,1.13672,1.10156,1.13672a5.80752,5.80752,0,0,0,.61133-.043v1.46289a5.10351,5.10351,0,0,1-1.03223.08594c-1.833,0-2.54785-.68848-2.54785-2.44434V22.91406H80.16262V21.44238H81.479V19.2998Z" style="fill: #fff"/>
+ <path d="M86.065,25.96973c0-2.84863,1.67773-4.63867,4.29395-4.63867,2.625,0,4.29492,1.79,4.29492,4.63867,0,2.85645-1.66113,4.63867-4.29492,4.63867C87.72609,30.6084,86.065,28.82617,86.065,25.96973Zm6.69531,0c0-1.9541-.89551-3.10742-2.40137-3.10742s-2.40039,1.16211-2.40039,3.10742c0,1.96191.89453,3.10645,2.40039,3.10645S92.76027,27.93164,92.76027,25.96973Z" style="fill: #fff"/>
+ <path d="M96.18606,21.44238h1.77246v1.541h.043a2.1594,2.1594,0,0,1,2.17773-1.63574,2.86616,2.86616,0,0,1,.63672.06934v1.73828a2.59794,2.59794,0,0,0-.835-.1123,1.87264,1.87264,0,0,0-1.93652,2.083v5.37012h-1.8584Z" style="fill: #fff"/>
+ <path d="M109.3843,27.83691c-.25,1.64355-1.85059,2.77148-3.89844,2.77148-2.63379,0-4.26855-1.76465-4.26855-4.5957,0-2.83984,1.64355-4.68164,4.19043-4.68164,2.50488,0,4.08008,1.7207,4.08008,4.46582v.63672h-6.39453v.1123a2.358,2.358,0,0,0,2.43555,2.56445,2.04834,2.04834,0,0,0,2.09082-1.27344Zm-6.28223-2.70215h4.52637a2.1773,2.1773,0,0,0-2.2207-2.29785A2.292,2.292,0,0,0,103.10207,25.13477Z" style="fill: #fff"/>
+ </g>
+ </g>
+ </g>
+ <g id="_Group_4" data-name="&lt;Group&gt;">
+ <g>
+ <path d="M37.82619,8.731a2.63964,2.63964,0,0,1,2.80762,2.96484c0,1.90625-1.03027,3.002-2.80762,3.002H35.67092V8.731Zm-1.22852,5.123h1.125a1.87588,1.87588,0,0,0,1.96777-2.146,1.881,1.881,0,0,0-1.96777-2.13379h-1.125Z" style="fill: #fff"/>
+ <path d="M41.68068,12.44434a2.13323,2.13323,0,1,1,4.24707,0,2.13358,2.13358,0,1,1-4.24707,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C44.57522,13.99463,45.01369,13.42432,45.01369,12.44434Z" style="fill: #fff"/>
+ <path d="M51.57326,14.69775h-.92187l-.93066-3.31641h-.07031l-.92676,3.31641h-.91309l-1.24121-4.50293h.90137l.80664,3.436h.06641l.92578-3.436h.85254l.92578,3.436h.07031l.80273-3.436h.88867Z" style="fill: #fff"/>
+ <path d="M53.85354,10.19482H54.709v.71533h.06641a1.348,1.348,0,0,1,1.34375-.80225,1.46456,1.46456,0,0,1,1.55859,1.6748v2.915h-.88867V12.00586c0-.72363-.31445-1.0835-.97168-1.0835a1.03294,1.03294,0,0,0-1.0752,1.14111v2.63428h-.88867Z" style="fill: #fff"/>
+ <path d="M59.09377,8.437h.88867v6.26074h-.88867Z" style="fill: #fff"/>
+ <path d="M61.21779,12.44434a2.13346,2.13346,0,1,1,4.24756,0,2.1338,2.1338,0,1,1-4.24756,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C64.11232,13.99463,64.5508,13.42432,64.5508,12.44434Z" style="fill: #fff"/>
+ <path d="M66.4009,13.42432c0-.81055.60352-1.27783,1.6748-1.34424l1.21973-.07031v-.38867c0-.47559-.31445-.74414-.92187-.74414-.49609,0-.83984.18213-.93848.50049h-.86035c.09082-.77344.81836-1.26953,1.83984-1.26953,1.12891,0,1.76563.562,1.76563,1.51318v3.07666h-.85547v-.63281h-.07031a1.515,1.515,0,0,1-1.35254.707A1.36026,1.36026,0,0,1,66.4009,13.42432Zm2.89453-.38477v-.37646l-1.09961.07031c-.62012.0415-.90137.25244-.90137.64941,0,.40527.35156.64111.835.64111A1.0615,1.0615,0,0,0,69.29543,13.03955Z" style="fill: #fff"/>
+ <path d="M71.34816,12.44434c0-1.42285.73145-2.32422,1.86914-2.32422a1.484,1.484,0,0,1,1.38086.79h.06641V8.437h.88867v6.26074h-.85156v-.71143h-.07031a1.56284,1.56284,0,0,1-1.41406.78564C72.0718,14.772,71.34816,13.87061,71.34816,12.44434Zm.918,0c0,.95508.4502,1.52979,1.20313,1.52979.749,0,1.21191-.583,1.21191-1.52588,0-.93848-.46777-1.52979-1.21191-1.52979C72.72121,10.91846,72.26613,11.49707,72.26613,12.44434Z" style="fill: #fff"/>
+ <path d="M79.23,12.44434a2.13323,2.13323,0,1,1,4.24707,0,2.13358,2.13358,0,1,1-4.24707,0Zm3.333,0c0-.97607-.43848-1.54687-1.208-1.54687-.77246,0-1.207.5708-1.207,1.54688,0,.98389.43457,1.55029,1.207,1.55029C82.12453,13.99463,82.563,13.42432,82.563,12.44434Z" style="fill: #fff"/>
+ <path d="M84.66945,10.19482h.85547v.71533h.06641a1.348,1.348,0,0,1,1.34375-.80225,1.46456,1.46456,0,0,1,1.55859,1.6748v2.915H87.605V12.00586c0-.72363-.31445-1.0835-.97168-1.0835a1.03294,1.03294,0,0,0-1.0752,1.14111v2.63428h-.88867Z" style="fill: #fff"/>
+ <path d="M93.51516,9.07373v1.1416h.97559v.74854h-.97559V13.2793c0,.47168.19434.67822.63672.67822a2.96657,2.96657,0,0,0,.33887-.02051v.74023a2.9155,2.9155,0,0,1-.4834.04541c-.98828,0-1.38184-.34766-1.38184-1.21582v-2.543h-.71484v-.74854h.71484V9.07373Z" style="fill: #fff"/>
+ <path d="M95.70461,8.437h.88086v2.48145h.07031a1.3856,1.3856,0,0,1,1.373-.80664,1.48339,1.48339,0,0,1,1.55078,1.67871v2.90723H98.69v-2.688c0-.71924-.335-1.0835-.96289-1.0835a1.05194,1.05194,0,0,0-1.13379,1.1416v2.62988h-.88867Z" style="fill: #fff"/>
+ <path d="M104.76125,13.48193a1.828,1.828,0,0,1-1.95117,1.30273A2.04531,2.04531,0,0,1,100.73,12.46045a2.07685,2.07685,0,0,1,2.07617-2.35254c1.25293,0,2.00879.856,2.00879,2.27V12.688h-3.17969v.0498a1.1902,1.1902,0,0,0,1.19922,1.29,1.07934,1.07934,0,0,0,1.07129-.5459Zm-3.126-1.45117h2.27441a1.08647,1.08647,0,0,0-1.1084-1.1665A1.15162,1.15162,0,0,0,101.63527,12.03076Z" style="fill: #fff"/>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/assets/google-play-store.svg b/assets/google-play-store.svg
new file mode 100644
index 0000000..68b707a
--- /dev/null
+++ b/assets/google-play-store.svg
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg id="svg51" width="180" height="53.333" version="1.1" viewBox="0 0 180 53.333" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><metadata id="metadata9"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/></cc:Work></rdf:RDF></metadata><path id="path11" d="m173.33 53.333h-166.66c-3.6666 0-6.6665-2.9999-6.6665-6.6665v-39.999c0-3.6666 2.9999-6.6665 6.6665-6.6665h166.66c3.6666 0 6.6665 2.9999 6.6665 6.6665v39.999c0 3.6666-2.9999 6.6665-6.6665 6.6665" fill="#100f0d" stroke-width=".13333"/><path id="path13" d="m173.33 1e-3h-166.66c-3.6666 0-6.6665 2.9999-6.6665 6.6665v39.999c0 3.6666 2.9999 6.6665 6.6665 6.6665h166.66c3.6666 0 6.6665-2.9999 6.6665-6.6665v-39.999c0-3.6666-2.9999-6.6665-6.6665-6.6665zm0 1.0661c3.0879 0 5.5999 2.5125 5.5999 5.6004v39.999c0 3.0879-2.5119 5.6004-5.5999 5.6004h-166.66c-3.0879 0-5.5993-2.5125-5.5993-5.6004v-39.999c0-3.0879 2.5114-5.6004 5.5993-5.6004h166.66" fill="#a2a2a1" stroke-width=".13333"/><path id="path35" d="m142.58 40h2.4879v-16.669h-2.4879zm22.409-10.664-2.8519 7.2264h-0.0853l-2.9599-7.2264h-2.6799l4.4399 10.1-2.5319 5.6185h2.5946l6.8412-15.718zm-14.11 8.7706c-0.81331 0-1.9506-0.40786-1.9506-1.4156 0-1.2865 1.416-1.7797 2.6373-1.7797 1.0933 0 1.6093 0.23546 2.2733 0.55732-0.19333 1.5442-1.5226 2.6379-2.9599 2.6379zm0.30133-9.1352c-1.8013 0-3.6666 0.79371-4.4386 2.5521l2.208 0.92184c0.47198-0.92184 1.3506-1.2218 2.2733-1.2218 1.2866 0 2.5946 0.77131 2.6159 2.1442v0.17133c-0.45066-0.25733-1.416-0.64318-2.5946-0.64318-2.3813 0-4.8039 1.3077-4.8039 3.7524 0 2.2302 1.952 3.6671 4.1386 3.6671 1.672 0 2.5959-0.75054 3.1732-1.6301h0.0867v1.2874h2.4026v-6.391c0-2.9593-2.2106-4.6103-5.0612-4.6103zm-15.376 2.3937h-3.5386v-5.7133h3.5386c1.86 0 2.9159 1.5396 2.9159 2.8566 0 1.2917-1.056 2.8567-2.9159 2.8567zm-0.064-8.0337h-5.9614v16.669h2.4869v-6.3149h3.4746c2.7573 0 5.4679-1.9958 5.4679-5.1765 0-3.1801-2.7106-5.1769-5.4679-5.1769zm-32.507 14.778c-1.7188 0-3.1573-1.4396-3.1573-3.415 0-1.9984 1.4385-3.4583 3.1573-3.4583 1.6969 0 3.0286 1.46 3.0286 3.4583 0 1.9754-1.3317 3.415-3.0286 3.415zm2.8567-7.8403h-0.086c-0.55826-0.66572-1.6328-1.2672-2.9853-1.2672-2.8359 0-5.4348 2.4921-5.4348 5.6925 0 3.1786 2.5989 5.6488 5.4348 5.6488 1.3525 0 2.427-0.6016 2.9853-1.2885h0.086v0.81558c0 2.1703-1.1598 3.3296-3.0286 3.3296-1.5245 0-2.4697-1.0953-2.8567-2.0188l-2.1691 0.90206c0.62238 1.503 2.2759 3.351 5.0259 3.351 2.9218 0 5.392-1.7188 5.392-5.9077v-10.181h-2.3634zm4.0822 9.7304h2.4906v-16.669h-2.4906zm6.164-5.4988c-0.0641-2.1911 1.6978-3.3078 2.9645-3.3078 0.98851 0 1.8254 0.49425 2.1057 1.2026zm7.7326-1.8906c-0.47238-1.2666-1.9114-3.6082-4.8541-3.6082-2.9218 0-5.3488 2.2983-5.3488 5.6707 0 3.1791 2.4062 5.6707 5.6275 5.6707 2.5989 0 4.1031-1.589 4.7264-2.513l-1.9333-1.289c-0.64465 0.94531-1.5249 1.5682-2.7931 1.5682-1.2666 0-2.1692-0.58012-2.7483-1.7186l7.5815-3.1359zm-60.409-1.8682v2.4057h5.7565c-0.17186 1.3532-0.62292 2.3411-1.3104 3.0286-0.83798 0.83745-2.1483 1.7614-4.4462 1.7614-3.5443 0-6.315-2.8567-6.315-6.4009s2.7707-6.4013 6.315-6.4013c1.9118 0 3.3077 0.75198 4.3388 1.7186l1.6974-1.6973c-1.4396-1.3745-3.351-2.427-6.0362-2.427-4.8552 0-8.9363 3.9524-8.9363 8.807 0 4.8541 4.0811 8.8066 8.9363 8.8066 2.6202 0 4.5967-0.85932 6.143-2.4702 1.5896-1.5896 2.0838-3.8234 2.0838-5.628 0-0.55785-0.04333-1.0734-0.1292-1.5032zm14.772 7.3675c-1.7188 0-3.201-1.4177-3.201-3.4368 0-2.0406 1.4822-3.4364 3.201-3.4364 1.7181 0 3.2003 1.3958 3.2003 3.4364 0 2.0191-1.4822 3.4368-3.2003 3.4368zm0-9.1075c-3.137 0-5.6927 2.3842-5.6927 5.6707 0 3.265 2.5557 5.6707 5.6927 5.6707 3.1358 0 5.692-2.4057 5.692-5.6707 0-3.2865-2.5562-5.6707-5.692-5.6707zm12.417 9.1075c-1.7176 0-3.2003-1.4177-3.2003-3.4368 0-2.0406 1.4828-3.4364 3.2003-3.4364 1.7188 0 3.2005 1.3958 3.2005 3.4364 0 2.0191-1.4817 3.4368-3.2005 3.4368zm0-9.1075c-3.1358 0-5.6915 2.3842-5.6915 5.6707 0 3.265 2.5557 5.6707 5.6915 5.6707 3.137 0 5.6927-2.4057 5.6927-5.6707 0-3.2865-2.5557-5.6707-5.6927-5.6707" fill="#fff" stroke-width=".13333"/><path id="path37" d="m27.622 25.899-14.194 15.066c5.34e-4 0.0031 0.0016 0.0057 0.0021 0.0089 0.43532 1.636 1.9296 2.8406 3.703 2.8406 0.70892 0 1.3745-0.19166 1.9453-0.52812l0.04533-0.02656 15.978-9.22-7.479-8.141" fill="#eb3131" stroke-width=".13333"/><path id="path39" d="m41.983 23.334-0.0136-0.0093-6.8982-3.999-7.7717 6.9156 7.7987 7.7977 6.8618-3.9592c1.203-0.64945 2.0197-1.9177 2.0197-3.3802 0-1.452-0.80571-2.7139-1.9968-3.3655" fill="#f6b60b" stroke-width=".13333"/><path id="path41" d="m13.426 12.37c-0.08533 0.31466-0.13018 0.64425-0.13018 0.98651v26.623c0 0.34162 0.04432 0.67233 0.13072 0.98587l14.684-14.681-14.684-13.914" fill="#5778c5" stroke-width=".13333"/><path id="path43" d="m27.727 26.668 7.3473-7.3451-15.96-9.2534c-0.58012-0.34746-1.2572-0.54799-1.9817-0.54799-1.7734 0-3.2697 1.2068-3.7051 2.8447-5.34e-4 0.0016-5.34e-4 0.0027-5.34e-4 0.0041l14.3 14.298" fill="#3bad49" stroke-width=".13333"/><path id="path33" d="m63.193 13.042h-3.8895v0.96251h2.9146c-0.0792 0.78545-0.39172 1.4021-0.91878 1.85-0.52705 0.44799-1.2 0.67292-1.9958 0.67292-0.87291 0-1.6125-0.30413-2.2186-0.90824-0.59385-0.61665-0.89584-1.3792-0.89584-2.2979 0-0.91864 0.30199-1.6812 0.89584-2.2978 0.60612-0.60412 1.3457-0.90624 2.2186-0.90624 0.44799 0 0.87504 0.07707 1.2666 0.24586 0.39172 0.16866 0.70625 0.40412 0.95211 0.70625l0.73958-0.73958c-0.33546-0.38132-0.76038-0.67292-1.2876-0.88544-0.52705-0.21253-1.077-0.31453-1.6708-0.31453-1.1645 0-2.1519 0.40412-2.9582 1.2104-0.80625 0.80825-1.2104 1.8041-1.2104 2.9811 0 1.177 0.40412 2.175 1.2104 2.9813 0.80625 0.80611 1.7937 1.2104 2.9582 1.2104 1.2229 0 2.1979-0.39172 2.9479-1.1876 0.66038-0.66238 0.99784-1.5582 0.99784-2.679 0-0.1896-0.02293-0.39172-0.05627-0.60425zm1.5068-3.7332v8.0249h4.6852v-0.98544h-3.654v-2.5457h3.2958v-0.96251h-3.2958v-2.5437h3.654v-0.98758zm11.255 0.98758v-0.98758h-5.5145v0.98758h2.2417v7.0373h1.0312v-7.0373zm4.9925-0.98758h-1.0312v8.0249h1.0312zm6.8066 0.98758v-0.98758h-5.5144v0.98758h2.2415v7.0373h1.0312v-7.0373zm10.406 0.05626c-0.79585-0.81877-1.7708-1.2229-2.9354-1.2229-1.1666 0-2.1415 0.40412-2.9374 1.2104-0.79585 0.79585-1.1874 1.7937-1.1874 2.9811s0.39159 2.1854 1.1874 2.9813c0.79585 0.80611 1.7708 1.2104 2.9374 1.2104 1.1541 0 2.1395-0.40426 2.9354-1.2104 0.79585-0.79585 1.1874-1.7938 1.1874-2.9813 0-1.177-0.39159-2.1729-1.1874-2.9686zm-5.1332 0.67078c0.59372-0.60412 1.3229-0.90624 2.1978-0.90624 0.87291 0 1.6021 0.30213 2.1854 0.90624 0.59372 0.59372 0.88531 1.3686 0.88531 2.2978 0 0.93131-0.29159 1.7041-0.88531 2.2979-0.58332 0.60412-1.3125 0.90824-2.1854 0.90824-0.87491 0-1.6041-0.30413-2.1978-0.90824-0.58132-0.60625-0.87291-1.3666-0.87291-2.2979 0-0.92918 0.29159-1.6916 0.87291-2.2978zm8.7706 1.3125-0.0437-1.548h0.0437l4.0791 6.5457h1.077v-8.0249h-1.0312v4.6957l0.0437 1.548h-0.0437l-3.8999-6.2437h-1.2562v8.0249h1.0312z" fill="#fff" stroke="#fff" stroke-miterlimit="10" stroke-width=".26666"/></svg>
diff --git a/assets/iphone-16-pro-black-titanium.png b/assets/iphone-16-pro-black-titanium.png
new file mode 100644
index 0000000..abfa160
--- /dev/null
+++ b/assets/iphone-16-pro-black-titanium.png
Binary files differ
diff --git a/assets/placeholder-icon.png b/assets/placeholder-icon.png
new file mode 100644
index 0000000..64aaa1e
--- /dev/null
+++ b/assets/placeholder-icon.png
Binary files differ
diff --git a/assets/screenshot/default.jpeg b/assets/screenshot/default.jpeg
new file mode 100644
index 0000000..24f82ce
--- /dev/null
+++ b/assets/screenshot/default.jpeg
Binary files differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..0d6905d
--- /dev/null
+++ b/index.html
@@ -0,0 +1,3 @@
+---
+layout: default
+---