Vercel
tcp/443 tcp/80
Open service 64.29.17.65:80 · app.swiftyai.dev
2026-01-09 18:37
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://app.swiftyai.dev/ Refresh: 0;url=https://app.swiftyai.dev/ server: Vercel Redirecting...
Open service 64.29.17.65:443 · app.swiftyai.dev
2026-01-09 18:37
HTTP/1.1 200 OK
Age: 0
Cache-Control: public, max-age=0, must-revalidate
Content-Type: text/html
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Date: Fri, 09 Jan 2026 18:37:39 GMT
Server: Vercel
Strict-Transport-Security: max-age=63072000
X-Vercel-Cache: MISS
X-Vercel-Id: iad1::iad1::x6n85-1767983859511-dea1fcbe9fe4
Connection: close
Transfer-Encoding: chunked
Page title: Swifty
<!DOCTYPE html><html lang="en" data-theme="dark"><head><!--remix-island-start--><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Swifty</title><meta name="description" content="Create beautiful mobile apps by chatting with AI. Turn your ideas into reality in minutes."/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="stylesheet" href="/assets/root-OonHetmQ.css"/><link rel="stylesheet" href="/assets/ReactToastify-Bh76j7cs.css"/><link rel="stylesheet" href="/assets/tailwind-compat-Bwh-BmjE.css"/><link rel="stylesheet" href="/assets/index-muwDZvG0.css"/><link rel="stylesheet" href="/assets/xterm-LZoznX6r.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"/><link rel="stylesheet" href="/assets/Header-IkLSgWbe.css"/><script>// Enforce dark theme unconditionally. Ignore system preference and previous values.
(function enforceDarkTheme() {
try {
const theme = 'dark';
localStorage.setItem('bolt_theme', theme);
document.querySelector('html')?.setAttribute('data-theme', theme);
} catch (e) {
// fail silently
}
})();</script><!--remix-island-end--></head><body><div id="root" class="w-full h-full"><link rel="modulepreload" href="/assets/entry.client-CBKuFK_C.js"/><link rel="modulepreload" href="/assets/components-B94NGDSr.js"/><link rel="modulepreload" href="/assets/client-only-DnrtzbjR.js"/><link rel="modulepreload" href="/assets/root-UU6HUtmm.js"/><link rel="modulepreload" href="/assets/Header-Kk5CShw_.js"/><link rel="modulepreload" href="/assets/_index-DQ4h-8E5.js"/><script>((STORAGE_KEY, restoreKey) => {
if (!window.history.state || !window.history.state.key) {
let key = Math.random().toString(32).slice(2);
window.history.replaceState({
key
}, "");
}
try {
let positions = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || "{}");
let storedY = positions[restoreKey || window.history.state.key];
if (typeof storedY === "number") {
window.scrollTo(0, storedY);
}
} catch (error) {
console.error(error);
sessionStorage.removeItem(STORAGE_KEY);
}
})("positions", null)</script><script>window.__remixContext = {"basename":"/","future":{"v3_fetcherPersist":true,"v3_relativeSplatPath":true,"v3_throwAbortReason":true,"v3_routeConfig":false,"v3_singleFetch":false,"v3_lazyRouteDiscovery":true,"unstable_optimizeDeps":false},"isSpaMode":false,"state":{"loaderData":{"routes/_index":{},"root":null},"actionData":null,"errors":null}};</script><script type="module" async="">;
import * as route0 from "/assets/root-UU6HUtmm.js";
import * as route1 from "/assets/_index-DQ4h-8E5.js";
window.__remixManifest = {
"entry": {
"module": "/assets/entry.client-CBKuFK_C.js",
"imports": [
"/assets/components-B94NGDSr.js"
],
"css": []
},
"routes": {
"root": {
"id": "root",
"path": "",
"hasAction": false,
"hasLoader": false,
"hasClientAction": false,
"hasClientLoader": false,
"hasErrorBoundary": false,
"module": "/assets/root-UU6HUtmm.js",
"imports": [
"/assets/components-B94NGDSr.js",
"/assets/client-only-DnrtzbjR.js"
],
"css": [
"/assets/root-OonHetmQ.css"
]
},
"routes/_index": {
"id": "routes/_index",
"parentId": "root",
"index": true,
"hasAction": false,
"hasLoader": true,
"hasClientAction": false,
"hasClientLoader": false,
"hasErrorBoundary": false,
"module": "/assets/_index-DQ4h-8E5.js",
"imports": [
"/assets/components-B94NGDSr.js",
"/assets/client-only-DnrtzbjR.js",
"/assets/Header-Kk5CShw_.js"
],
"css": [
"/assets/Header-IkLSgWbe.css"
]
}
},
"url": "/assets/manifest-e58db970.js",
"version": "e58db970"
};
window.__remixRouteModules = {"root":ro
Open service 216.198.79.65:443 · app.swiftyai.dev
2026-01-09 18:37
HTTP/1.1 200 OK
Age: 0
Cache-Control: public, max-age=0, must-revalidate
Content-Type: text/html
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Date: Fri, 09 Jan 2026 18:37:39 GMT
Server: Vercel
Strict-Transport-Security: max-age=63072000
X-Vercel-Cache: MISS
X-Vercel-Id: iad1::iad1::2rjll-1767983859414-17ab11fc60a2
Connection: close
Transfer-Encoding: chunked
Page title: Swifty
<!DOCTYPE html><html lang="en" data-theme="dark"><head><!--remix-island-start--><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Swifty</title><meta name="description" content="Create beautiful mobile apps by chatting with AI. Turn your ideas into reality in minutes."/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="stylesheet" href="/assets/root-OonHetmQ.css"/><link rel="stylesheet" href="/assets/ReactToastify-Bh76j7cs.css"/><link rel="stylesheet" href="/assets/tailwind-compat-Bwh-BmjE.css"/><link rel="stylesheet" href="/assets/index-muwDZvG0.css"/><link rel="stylesheet" href="/assets/xterm-LZoznX6r.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap"/><link rel="stylesheet" href="/assets/Header-IkLSgWbe.css"/><script>// Enforce dark theme unconditionally. Ignore system preference and previous values.
(function enforceDarkTheme() {
try {
const theme = 'dark';
localStorage.setItem('bolt_theme', theme);
document.querySelector('html')?.setAttribute('data-theme', theme);
} catch (e) {
// fail silently
}
})();</script><!--remix-island-end--></head><body><div id="root" class="w-full h-full"><link rel="modulepreload" href="/assets/entry.client-CBKuFK_C.js"/><link rel="modulepreload" href="/assets/components-B94NGDSr.js"/><link rel="modulepreload" href="/assets/client-only-DnrtzbjR.js"/><link rel="modulepreload" href="/assets/root-UU6HUtmm.js"/><link rel="modulepreload" href="/assets/Header-Kk5CShw_.js"/><link rel="modulepreload" href="/assets/_index-DQ4h-8E5.js"/><script>((STORAGE_KEY, restoreKey) => {
if (!window.history.state || !window.history.state.key) {
let key = Math.random().toString(32).slice(2);
window.history.replaceState({
key
}, "");
}
try {
let positions = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || "{}");
let storedY = positions[restoreKey || window.history.state.key];
if (typeof storedY === "number") {
window.scrollTo(0, storedY);
}
} catch (error) {
console.error(error);
sessionStorage.removeItem(STORAGE_KEY);
}
})("positions", null)</script><script>window.__remixContext = {"basename":"/","future":{"v3_fetcherPersist":true,"v3_relativeSplatPath":true,"v3_throwAbortReason":true,"v3_routeConfig":false,"v3_singleFetch":false,"v3_lazyRouteDiscovery":true,"unstable_optimizeDeps":false},"isSpaMode":false,"state":{"loaderData":{"routes/_index":{},"root":null},"actionData":null,"errors":null}};</script><script type="module" async="">;
import * as route0 from "/assets/root-UU6HUtmm.js";
import * as route1 from "/assets/_index-DQ4h-8E5.js";
window.__remixManifest = {
"entry": {
"module": "/assets/entry.client-CBKuFK_C.js",
"imports": [
"/assets/components-B94NGDSr.js"
],
"css": []
},
"routes": {
"root": {
"id": "root",
"path": "",
"hasAction": false,
"hasLoader": false,
"hasClientAction": false,
"hasClientLoader": false,
"hasErrorBoundary": false,
"module": "/assets/root-UU6HUtmm.js",
"imports": [
"/assets/components-B94NGDSr.js",
"/assets/client-only-DnrtzbjR.js"
],
"css": [
"/assets/root-OonHetmQ.css"
]
},
"routes/_index": {
"id": "routes/_index",
"parentId": "root",
"index": true,
"hasAction": false,
"hasLoader": true,
"hasClientAction": false,
"hasClientLoader": false,
"hasErrorBoundary": false,
"module": "/assets/_index-DQ4h-8E5.js",
"imports": [
"/assets/components-B94NGDSr.js",
"/assets/client-only-DnrtzbjR.js",
"/assets/Header-Kk5CShw_.js"
],
"css": [
"/assets/Header-IkLSgWbe.css"
]
}
},
"url": "/assets/manifest-e58db970.js",
"version": "e58db970"
};
window.__remixRouteModules = {"root":ro
Open service 216.198.79.65:80 · app.swiftyai.dev
2026-01-09 18:37
HTTP/1.0 308 Permanent Redirect Content-Type: text/plain Location: https://app.swiftyai.dev/ Refresh: 0;url=https://app.swiftyai.dev/ server: Vercel Redirecting...