Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion next.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,14 @@ const withPWA = withPWAInit({
},
],
},
async redirects() {
return [
{ source: '/services', destination: '/pricing', permanent: true },
// Workflow Academy case study hidden until a real case study ships.
// Temporary (307) so it can be re-enabled by removing this entry.
{ source: '/case-studies', destination: '/', permanent: false },
];
},
};

export default withPWA(nextConfig);
export default withPWA(nextConfig);
20 changes: 0 additions & 20 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 20 additions & 20 deletions public/manifest.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
{
"name": "Orchestra",
"short_name": "Orchestra",
"theme_color": "#00ff00",
"background_color": "#ffffff",
"display": "browser",
"orientation": "any",
"scope": "/",
"start_url": "/",
"icons": [
{
"src": "/icons-192.png",
"type": "image/png",
"sizes": "192x192"
{
"name": "Mifune",
"short_name": "Mifune",
"theme_color": "#22c55e",
"background_color": "#ffffff",
"display": "browser",
"orientation": "any",
"scope": "/",
"start_url": "/",
"icons": [
{
"src": "/icons-192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "/icons-256.png",
"type": "image/png",
"sizes": "256x256"
}
]
{
"src": "/icons-256.png",
"type": "image/png",
"sizes": "256x256"
}
]
}
116 changes: 1 addition & 115 deletions public/sw.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion public/workbox-1e54d6fe.js.map

This file was deleted.

3 changes: 1 addition & 2 deletions src/app/api/utils/airtable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ export default class AirtableApi {
}

public async create(body: any) {
delete body.Message; // If to Prompt Engineers AI contact list.
// Forward the request to Airtable
const response = await fetch(this.url, {
method: "POST",
Expand All @@ -24,4 +23,4 @@ export default class AirtableApi {
});
return response;
}
}
}
2 changes: 1 addition & 1 deletion src/app/blog/[slug]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ export async function generateMetadata({ params }: Props): Promise<Metadata> {
};
}

const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || "https://ruska.ai";
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL || "https://mifune.dev";
// Fallback to a default image if no specific image is found
// Note: Ensure /static/social-default.png exists or use a valid URL
const defaultImage = `${siteUrl}/static/social-default.png`;
Expand Down
4 changes: 2 additions & 2 deletions src/app/blog/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ export default function BlogIndex() {
<div className="absolute inset-0 bg-[linear-gradient(to_right,#80808024_1px,transparent_1px),linear-gradient(to_bottom,#80808024_1px,transparent_1px)] bg-[size:24px_24px] [mask-image:radial-gradient(ellipse_60%_50%_at_50%_0%,#000_70%,transparent_100%)]" />
<div className="container relative z-10 mx-auto px-6">
<div className="mb-16 text-center">
<h1 className="font-cormorant mb-6 text-5xl font-light leading-tight tracking-tight text-foreground sm:text-7xl">
Orchestra{" "}
<h1 className="font-montserrat mb-6 text-5xl font-light leading-tight tracking-tight text-foreground sm:text-7xl">
Mifune{" "}
<span className="font-space font-bold text-green-500 drop-shadow-[0_0_15px_rgba(34,197,94,0.6)]">
Blog
</span>
Expand Down
113 changes: 113 additions & 0 deletions src/app/case-studies/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
import type { Metadata } from "next";
import TopNavBar from "@/components/nav/TopNavBar";
import FooterSection from "@/sections/FooterSection";

export const metadata: Metadata = {
title: "Case Studies | Mifune",
description:
"Real results from AI workers deployed inside client businesses. Coming soon.",
};

const metricsToCapture = [
"Hours saved per week",
"Follow-up speed (hours → minutes)",
"Number of tasks automated",
"Revenue opportunities recovered",
];

export default function CaseStudiesPage() {
return (
<>
<header>
<TopNavBar />
</header>
<main className="bg-background">
{/* Hero / Coming-soon section */}
<section className="relative flex min-h-screen flex-col items-center justify-center px-4 pt-20">
{/* Grid background */}
<div className="absolute inset-0 bg-[linear-gradient(to_right,#80808024_1px,transparent_1px),linear-gradient(to_bottom,#80808024_1px,transparent_1px)] bg-[size:24px_24px] [mask-image:radial-gradient(ellipse_80%_50%_at_50%_0%,#000_70%,transparent_100%)]" />
{/* Ambient glow */}
<div className="absolute left-1/2 top-1/4 h-[500px] w-[800px] -translate-x-1/2 -translate-y-1/2 rounded-full bg-gradient-to-r from-green-500/20 to-emerald-500/10 blur-[120px]" />

<div className="relative mx-auto w-full max-w-4xl text-center">
{/* Eyebrow badge */}
<div className="mb-6 inline-flex items-center gap-2 rounded-full border border-green-500/30 bg-green-500/10 px-4 py-2">
<span className="relative flex h-2 w-2">
<span className="absolute inline-flex h-full w-full animate-ping rounded-full bg-green-400 opacity-75" />
<span className="relative inline-flex h-2 w-2 rounded-full bg-green-500" />
</span>
<span className="font-montserrat text-sm font-medium text-green-400">
Coming Soon
</span>
</div>

{/* Two-tone headline */}
<h1 className="mb-6 text-4xl font-bold leading-[1.1] tracking-tight md:text-5xl lg:text-6xl">
<span className="font-montserrat text-foreground">
Case Studies
</span>
<br />
<span className="font-space text-green-500 drop-shadow-[0_0_15px_rgba(34,197,94,0.6)]">
The Workflow Academy
</span>
</h1>

<p className="mx-auto mb-10 max-w-2xl font-montserrat text-lg font-light leading-relaxed text-muted-foreground lg:text-xl">
How The Workflow Academy reclaimed{" "}
<span className="text-foreground font-medium">
hours every week
</span>{" "}
with an AI Operations Assistant — eliminating manual follow-ups,
automating repetitive tasks, and recovering revenue that used to
slip through the cracks.
</p>

{/* Metrics-to-capture card */}
<div className="mx-auto mb-12 max-w-xl rounded-2xl border border-border bg-card p-8 text-left">
<h2 className="mb-2 font-montserrat text-sm font-medium uppercase tracking-widest text-muted-foreground">
Metrics We&#39;re Capturing
</h2>
<ul className="mt-4 space-y-3">
{metricsToCapture.map((metric) => (
<li
key={metric}
className="flex items-center gap-3 font-montserrat text-base text-foreground"
>
<span className="flex-shrink-0 text-green-500">✓</span>
{metric}
</li>
))}
</ul>
</div>

{/* Soft CTA */}
<p className="mb-6 font-montserrat text-base text-muted-foreground">
Want results like these for your business?
</p>
<a
href="/#audit"
className="inline-flex items-center justify-center gap-2 rounded-xl bg-green-500 px-8 py-4 font-montserrat text-lg font-medium text-black shadow-lg transition-all duration-200 hover:bg-green-400"
>
Book a Free AI Workflow Audit
<svg
className="h-5 w-5"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
d="M17 8l4 4m0 0l-4 4m4-4H3"
/>
</svg>
</a>
</div>
</section>

<FooterSection />
</main>
</>
);
}
6 changes: 5 additions & 1 deletion src/app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,11 @@ h3 {
}

::-webkit-scrollbar-thumb {
background: #6366f1;
background: #22c55e;
}

::-webkit-scrollbar-thumb:hover {
background: #4ade80;
}

@layer utilities {
Expand Down
Loading