dev-api: add developer portal, OpenAPI spec, and Flatenbadet case study

- New /developers/ page with API docs, SDKs, pricing, use cases
- OpenAPI 3.0 spec for Orders, Missions, Photos, Analytics
- Case study: Glasskiosken i Flatenbadet — complete ROI analysis
- Updated /order/ with recurring missions and frequency dropdown
This commit is contained in:
Bernt
2026-07-14 15:27:33 +00:00
parent 3c522e39f0
commit 1a12fb870b
6296 changed files with 911440 additions and 55607 deletions
+1 -1
View File
@@ -35,7 +35,7 @@
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
body { background: #ffffff; color: #1a1a1a;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 1rem; line-height: 1.65; color: var(--text-body);
background: var(--bg); -webkit-font-smoothing: antialiased;
+1 -1
View File
@@ -15,7 +15,7 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans Devanagari', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.6;
}
+1 -1
View File
@@ -15,7 +15,7 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.6;
}
+30 -13
View File
@@ -18,11 +18,18 @@
<link rel="alternate" hreflang="hi" href="https://quixzoom.asia/hi/">
<link rel="alternate" hreflang="en" href="https://www.quixzoom.com/">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<meta property="og:type" content="website">
<meta property="og:title" content="quiXzoom Asia — Capture the World. Get Paid.">
<meta property="og:description" content="quiXzoom pays you to photograph infrastructure, nature and urban environments. Available in 8 Asian languages. No platform fee.">
<meta property="og:url" content="https://quixzoom.asia/">
<meta property="og:image" content="https://www.quixzoom.com/images/og-image.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://www.quixzoom.com/images/og-image.jpg">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.6;
min-height: 100vh;
@@ -108,6 +115,16 @@
<script type="module" src="https://auth.quixzoom.com/site-auth-snippet.js"></script>
</head>
<body>
<nav class="qz-nav">
<a class="qz-nav-logo" href="/">quiXzoom</a>
<ul class="qz-nav-links">
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/missions/">Missions</a></li>
<li><a href="/contact/">Contact</a></li>
</ul>
</nav>
<div class="container">
<header>
<div class="logo">quiXzoom</div>
@@ -120,31 +137,31 @@
<section class="language-grid">
<a href="/zh-cn/" class="language-card">
<div class="lang-flag"></div>
<div class="lang-flag">🇨🇳</div>
<div class="lang-info">
<h3></h3>
<p>Simplified Chinese — </p>
<h3>简体中文</h3>
<p>Simplified Chinese — 中国</p>
</div>
</a>
<a href="/zh-tw/" class="language-card">
<div class="lang-flag"></div>
<div class="lang-flag">🇹🇼</div>
<div class="lang-info">
<h3></h3>
<p>Traditional Chinese — /</p>
<h3>繁體中文</h3>
<p>Traditional Chinese — 台灣</p>
</div>
</a>
<a href="/ja/" class="language-card">
<div class="lang-flag"></div>
<div class="lang-flag">🇯🇵</div>
<div class="lang-info">
<h3></h3>
<p>Japanese — </p>
<h3>日本語</h3>
<p>Japanese — 日本</p>
</div>
</a>
<a href="/ko/" class="language-card">
<div class="lang-flag"></div>
<div class="lang-flag">🇰🇷</div>
<div class="lang-info">
<h3></h3>
<p>Korean — </p>
<h3>한국어</h3>
<p>Korean — 대한민국</p>
</div>
</a>
<a href="/th/" class="language-card">
+1 -1
View File
@@ -15,7 +15,7 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Sans', 'Noto Sans JP', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.8;
}
+1 -1
View File
@@ -15,7 +15,7 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.6;
}
+1 -1
View File
@@ -15,7 +15,7 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.6;
}
+11 -1
View File
@@ -29,7 +29,7 @@
--radius: 16px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
body { background: #ffffff; color: #1a1a1a;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 1rem; line-height: 1.65; color: var(--text-body);
background: var(--bg); -webkit-font-smoothing: antialiased;
@@ -61,6 +61,16 @@
<script type="module" src="https://auth.quixzoom.com/site-auth-snippet.js"></script>
</head>
<body>
<nav class="qz-nav">
<a class="qz-nav-logo" href="/">quiXzoom</a>
<ul class="qz-nav-links">
<li><a href="/">Home</a></li>
<li><a href="/about/">About</a></li>
<li><a href="/missions/">Missions</a></li>
<li><a href="/contact/">Contact</a></li>
</ul>
</nav>
<div class="container">
<header>
<div class="logo">qui<span class="x">X</span>zoom</div>
+1 -1
View File
@@ -35,7 +35,7 @@
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
body { background: #ffffff; color: #1a1a1a;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
font-size: 1rem; line-height: 1.65; color: var(--text-body);
background: var(--bg); -webkit-font-smoothing: antialiased;
+1 -1
View File
@@ -16,7 +16,7 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Sukhumvit Set', 'Kanit', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.6;
}
+1 -1
View File
@@ -15,7 +15,7 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.6;
}
+1 -1
View File
@@ -20,7 +20,7 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.6;
}
+1 -1
View File
@@ -16,7 +16,7 @@
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang TC', 'Hiragino Sans TC', 'Microsoft JhengHei', sans-serif;
background: #0a0a0a;
background: #ffffff;
color: #ffffff;
line-height: 1.6;
}