-
diff --git a/apps/website/src/components/ContactUsForm.astro b/apps/website/src/components/ContactUsForm.astro
deleted file mode 100644
index f35e52d3..00000000
--- a/apps/website/src/components/ContactUsForm.astro
+++ /dev/null
@@ -1,205 +0,0 @@
----
-import Field from "./Field.astro";
-import * as formContent from "../content/contact/form.md";
-import "../styles/loader.css";
----
-
-
-
-
-
-
-
- 0/1500
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/website/src/components/Values.astro b/apps/website/src/components/Values.astro
index 3da5e915..cc9ff1c4 100644
--- a/apps/website/src/components/Values.astro
+++ b/apps/website/src/components/Values.astro
@@ -8,7 +8,7 @@ import Pill from "./Pill.astro";
import { getImage } from "astro:assets";
import bgImage from "../assets/values-main-image.png";
-const styles = ["bg-[#FEB534]", "bg-[#607A1A]", "bg-[#F6FCFD]"];
+const styles = ["bg-crocoder-orange", "bg-[#607A1A]", "bg-[#F6FCFD]"];
const valueCollection = await getCollection("values");
@@ -47,8 +47,8 @@ const { src } = await getImage({
- Creating Value Through The Power Of
- Software
+ Creating Value Through The
+ Power Of Software
{
diff --git a/apps/website/src/components/contact/Hero.astro b/apps/website/src/components/contact/Hero.astro
index 1e63e22c..ea8428ba 100644
--- a/apps/website/src/components/contact/Hero.astro
+++ b/apps/website/src/components/contact/Hero.astro
@@ -63,6 +63,7 @@ import RightArrow from "../icons/RightArrow.astro";
diff --git a/apps/website/src/components/icons/Calendar.astro b/apps/website/src/components/icons/Calendar.astro
new file mode 100644
index 00000000..87781ab9
--- /dev/null
+++ b/apps/website/src/components/icons/Calendar.astro
@@ -0,0 +1,14 @@
+
diff --git a/apps/website/src/components/icons/CircleCheck.astro b/apps/website/src/components/icons/CircleCheck.astro
new file mode 100644
index 00000000..1c3a614b
--- /dev/null
+++ b/apps/website/src/components/icons/CircleCheck.astro
@@ -0,0 +1,24 @@
+---
+import type { HTMLAttributes } from "astro/types";
+import classnames from "classnames";
+
+type Props = HTMLAttributes<"svg"> & { classNames?: string };
+
+const { width, height, classNames } = Astro.props;
+---
+
+
diff --git a/apps/website/src/components/icons/CircleX.astro b/apps/website/src/components/icons/CircleX.astro
new file mode 100644
index 00000000..e3696618
--- /dev/null
+++ b/apps/website/src/components/icons/CircleX.astro
@@ -0,0 +1,24 @@
+---
+import type { HTMLAttributes } from "astro/types";
+import classnames from "classnames";
+
+type Props = HTMLAttributes<"svg"> & { classNames?: string };
+
+const { width, height, classNames } = Astro.props;
+---
+
+
diff --git a/apps/website/src/components/vibe-code-mvp/GetInTouch.astro b/apps/website/src/components/vibe-code-mvp/GetInTouch.astro
new file mode 100644
index 00000000..890a70a8
--- /dev/null
+++ b/apps/website/src/components/vibe-code-mvp/GetInTouch.astro
@@ -0,0 +1,62 @@
+---
+import { Image } from "astro:assets";
+import getInTouchImage from "../../assets/get-in-touch.png";
+import { grid_classes } from "../_grid";
+import BaseContactForm from "../BaseContactForm.astro";
+import RightArrow from "../icons/RightArrow.astro";
+import Pill from "../Pill.astro";
+import Section from "../Section.astro";
+---
+
+
+
+
+
+
+
+ Get in touch
+
+
+ Let’s Ship Your MVP!
+
+
+ We’ll review what you’ve built and tell you exactly what it’ll take to
+ finish. Simple, honest, no commitment.
+
+
+
+
+
+ Get a free build review
+
+
+
+
diff --git a/apps/website/src/components/vibe-code-mvp/Hero.astro b/apps/website/src/components/vibe-code-mvp/Hero.astro
new file mode 100644
index 00000000..9543de65
--- /dev/null
+++ b/apps/website/src/components/vibe-code-mvp/Hero.astro
@@ -0,0 +1,107 @@
+---
+import { Picture } from "astro:assets";
+import hero from "../../assets/vibe-code-mvp-hero.jpg";
+import Pill from "../../components/Pill.astro";
+import Section from "../../components/Section.astro";
+import { grid_classes } from "../../components/_grid";
+import "../../styles/main.css";
+import BaseContactForm from "../BaseContactForm.astro";
+import RightArrow from "../icons/RightArrow.astro";
+---
+
+
+
+
+
+
+
+
+
+
+ We finish your vibe-coded mvps
+
+
+ Your MVP is 80%
+
+
+ Done? We will get you to 100%.
+
+
+
+
+ You used AI, no-code, or some coding to build fast? Now you're
+ stuck at the edge of launch.
+
+
+ Polish, bugs, logic, production - That's where we come in.
+
+
+
+
+
+
+
+
+ Get a free build review
+
+
+
+
+
+
diff --git a/apps/website/src/components/vibe-code-mvp/HowItWorks.astro b/apps/website/src/components/vibe-code-mvp/HowItWorks.astro
new file mode 100644
index 00000000..b0b26593
--- /dev/null
+++ b/apps/website/src/components/vibe-code-mvp/HowItWorks.astro
@@ -0,0 +1,133 @@
+---
+import { Image } from "astro:assets";
+import { getCollection } from "astro:content";
+import classnames from "classnames";
+import nextLogo from "../../assets/nextjs_logo.png";
+import nodeLogo from "../../assets/node_logo.png";
+import reactLogo from "../../assets/react_logo.png";
+import Pill from "../Pill.astro";
+import Section from "../Section.astro";
+import { grid_classes } from "../_grid";
+import Calendar from "../icons/Calendar.astro";
+
+const steps = (await getCollection("vibe_code_mvp_how_it_works")) as {
+ data: {
+ image: string;
+ imageAlt: string;
+ bgColor: string;
+ pill: string;
+ title: string;
+ description: string;
+ };
+}[];
+
+const images = import.meta.glob<{ default: ImageMetadata }>(
+ "/src/assets/*.svg"
+);
+---
+
+
+
+
+
diff --git a/apps/website/src/content/contact/form.md b/apps/website/src/content/contact/form.md
index 1797796f..4212b498 100644
--- a/apps/website/src/content/contact/form.md
+++ b/apps/website/src/content/contact/form.md
@@ -1,6 +1,6 @@
---
fullname: "Full name *"
-fullnameLength: "Name must be at least 3 characters."
+fullnameLength: "Name must be at least 2 characters."
requiredField: "This is a required field."
email: "E-mail *"
emailInvalid: "Email you entered is not valid."
diff --git a/apps/website/src/content/vibe_code_mvp_how_it_works/step_1.md b/apps/website/src/content/vibe_code_mvp_how_it_works/step_1.md
new file mode 100644
index 00000000..8c2fcfde
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_how_it_works/step_1.md
@@ -0,0 +1,7 @@
+---
+image: "/src/assets/code_monitor.svg"
+imageAlt: "Illustration of monitor and HTML tag on it"
+bgColor: "bg-[#353131]"
+title: "You show us your current build."
+description: "GPT-generated code? Framer prototype? Bubble hack? All good."
+---
diff --git a/apps/website/src/content/vibe_code_mvp_how_it_works/step_2.md b/apps/website/src/content/vibe_code_mvp_how_it_works/step_2.md
new file mode 100644
index 00000000..b6978657
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_how_it_works/step_2.md
@@ -0,0 +1,7 @@
+---
+image: "/src/assets/seo_search_graph.svg"
+imageAlt: "Illustration of a graph"
+bgColor: "bg-[#504C56]"
+title: "We assess what’s needed to finalize it."
+description: "We’ll review it fast — zero pressure, no BS."
+---
diff --git a/apps/website/src/content/vibe_code_mvp_how_it_works/step_3.md b/apps/website/src/content/vibe_code_mvp_how_it_works/step_3.md
new file mode 100644
index 00000000..5f7ed111
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_how_it_works/step_3.md
@@ -0,0 +1,7 @@
+---
+image: "/src/assets/check_badge.svg"
+imageAlt: "Illustration of a badge with check sign on it"
+bgColor: "bg-[#555E7C]"
+title: "We polish, fix, and deliver it."
+description: "Real code. Real backend. Real launch."
+---
diff --git a/apps/website/src/content/vibe_code_mvp_how_it_works/step_4.md b/apps/website/src/content/vibe_code_mvp_how_it_works/step_4.md
new file mode 100644
index 00000000..ebfc7f7e
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_how_it_works/step_4.md
@@ -0,0 +1,7 @@
+---
+image: "/src/assets/startup.svg"
+imageAlt: "Illustration of a rocket"
+bgColor: "bg-[#6572DF]"
+title: "You own it. You launch it."
+description: "We hand it off clean — or keep helping if you want."
+---
diff --git a/apps/website/src/content/vibe_code_mvp_phases/phase_1.md b/apps/website/src/content/vibe_code_mvp_phases/phase_1.md
new file mode 100644
index 00000000..e42f1fcc
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_phases/phase_1.md
@@ -0,0 +1,15 @@
+---
+image: "/src/assets/pic_phase_1.png"
+imageAlt: "Illustration of crocodile presenting analytics on a board"
+imageBgColor: "bg-[#F6FCFD]"
+pill: "We finish your vibe-coded mvps"
+title: "You've built this far..."
+checks:
+ [
+ "You vibe-coded the core logic",
+ "You made it clickable, demoable",
+ "You’re showing it to friends, investors, early users",
+ ]
+issues: []
+issueChecks: []
+---
diff --git a/apps/website/src/content/vibe_code_mvp_phases/phase_2.md b/apps/website/src/content/vibe_code_mvp_phases/phase_2.md
new file mode 100644
index 00000000..6bec4525
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_phases/phase_2.md
@@ -0,0 +1,20 @@
+---
+image: "/src/assets/pic_phase_2.png"
+imageAlt: "Illustration of crocodile analyzing with a loupe"
+imageBgColor: "bg-crocoder-green"
+pill: "We finish your vibe-coded mvps"
+title: "But now..."
+checks: []
+issues:
+ [
+ "It breaks under real use",
+ "You don’t trust it in production",
+ "You’re not sure how to ship it",
+ ]
+issueChecks:
+ [
+ "You vibe-coded the core logic",
+ "You made it clickable, demoable",
+ "You’re showing it to friends, investors, early users",
+ ]
+---
diff --git a/apps/website/src/content/vibe_code_mvp_phases/phase_3.md b/apps/website/src/content/vibe_code_mvp_phases/phase_3.md
new file mode 100644
index 00000000..1c3f374b
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_phases/phase_3.md
@@ -0,0 +1,10 @@
+---
+image: "/src/assets/pic_phase_3.png"
+imageAlt: "Illustration of crocodile and developers collaborating"
+imageBgColor: "bg-crocoder-orange"
+pill: "We finish your vibe-coded mvps"
+title: "We'll help you finish it!"
+checks: ["Solid logic", "Real backend", "Stable deployment", "Ready to launch"]
+issues: []
+issueChecks: []
+---
diff --git a/apps/website/src/content/vibe_code_mvp_why_work_with_us/01_we_ship.md b/apps/website/src/content/vibe_code_mvp_why_work_with_us/01_we_ship.md
new file mode 100644
index 00000000..5f17dfa1
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_why_work_with_us/01_we_ship.md
@@ -0,0 +1,5 @@
+---
+image: "/src/assets/shipment.svg"
+imageAlt: "Illustration of a box with check mark on it"
+title: "We ship vibe-coded MVPs without rebuilding them from scratch."
+---
diff --git a/apps/website/src/content/vibe_code_mvp_why_work_with_us/02_we_know.md b/apps/website/src/content/vibe_code_mvp_why_work_with_us/02_we_know.md
new file mode 100644
index 00000000..964d4ea7
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_why_work_with_us/02_we_know.md
@@ -0,0 +1,5 @@
+---
+image: "/src/assets/artificial_intelligence.svg"
+imageAlt: "Illustration of a brain"
+title: "We know your tools — GPT, Framer, Bubble, Supabase, Vercel, etc."
+---
diff --git a/apps/website/src/content/vibe_code_mvp_why_work_with_us/03_we_speak.md b/apps/website/src/content/vibe_code_mvp_why_work_with_us/03_we_speak.md
new file mode 100644
index 00000000..ea0119c5
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_why_work_with_us/03_we_speak.md
@@ -0,0 +1,5 @@
+---
+image: "/src/assets/target-icon-correct.svg"
+imageAlt: "Illustration of a target with arrow in its center"
+title: "We speak product, not just code."
+---
diff --git a/apps/website/src/content/vibe_code_mvp_why_work_with_us/04_we_prioritize.md b/apps/website/src/content/vibe_code_mvp_why_work_with_us/04_we_prioritize.md
new file mode 100644
index 00000000..7a25c69b
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_why_work_with_us/04_we_prioritize.md
@@ -0,0 +1,5 @@
+---
+image: "/src/assets/stopwatch.svg"
+imageAlt: "Illustration of a target with arrow in its center"
+title: "We prioritize speed, clarity, and clean handoff."
+---
diff --git a/apps/website/src/content/vibe_code_mvp_why_work_with_us/05_we_build.md b/apps/website/src/content/vibe_code_mvp_why_work_with_us/05_we_build.md
new file mode 100644
index 00000000..2b4a8800
--- /dev/null
+++ b/apps/website/src/content/vibe_code_mvp_why_work_with_us/05_we_build.md
@@ -0,0 +1,5 @@
+---
+image: "/src/assets/shield_check.svg"
+imageAlt: "Illustration of a shield with check mark on it."
+title: "We build with React, Next.js, Node.js, and modern web tech No fluff, no lock-in — just fast, solid delivery"
+---
diff --git a/apps/website/src/pages/vibe-code-mvp.astro b/apps/website/src/pages/vibe-code-mvp.astro
new file mode 100644
index 00000000..0e965323
--- /dev/null
+++ b/apps/website/src/pages/vibe-code-mvp.astro
@@ -0,0 +1,30 @@
+---
+import Footer from "../components/footer.astro";
+import Navigation from "../components/navigation.astro";
+import GetInTouch from "../components/vibe-code-mvp/GetInTouch.astro";
+import Hero from "../components/vibe-code-mvp/Hero.astro";
+import HowItWorks from "../components/vibe-code-mvp/HowItWorks.astro";
+import WhyWorkWithUs from "../components/vibe-code-mvp/WhyWorkWithUs.astro";
+import WorkWithUs from "../components/vibe-code-mvp/WorkWithUs.astro";
+import WorkWithUsDesktop from "../components/vibe-code-mvp/WorkWithUsDesktop.astro";
+import Base from "../layouts/base.astro";
+import "../styles/main.css";
+
+const { ogImage = "https://www.crocoder.dev/homepage-metadata-img.png" } =
+ Astro.props;
+---
+
+
+
+
+