diff --git a/apps/web/public/images/demos/artisan.png b/apps/web/public/images/demos/artisan.png new file mode 100644 index 0000000..dbafe3d Binary files /dev/null and b/apps/web/public/images/demos/artisan.png differ diff --git a/apps/web/public/images/demos/coaching.png b/apps/web/public/images/demos/coaching.png new file mode 100644 index 0000000..06e5d57 Binary files /dev/null and b/apps/web/public/images/demos/coaching.png differ diff --git a/apps/web/public/images/demos/crypto.png b/apps/web/public/images/demos/crypto.png new file mode 100644 index 0000000..ce4a107 Binary files /dev/null and b/apps/web/public/images/demos/crypto.png differ diff --git a/apps/web/public/images/demos/merch.png b/apps/web/public/images/demos/merch.png new file mode 100644 index 0000000..100d6a8 Binary files /dev/null and b/apps/web/public/images/demos/merch.png differ diff --git a/apps/web/public/images/demos/yoga.png b/apps/web/public/images/demos/yoga.png new file mode 100644 index 0000000..2378a78 Binary files /dev/null and b/apps/web/public/images/demos/yoga.png differ diff --git a/apps/web/public/images/products/bloomword.svg b/apps/web/public/images/products/bloomword.svg new file mode 100644 index 0000000..7123cd2 --- /dev/null +++ b/apps/web/public/images/products/bloomword.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/products/meatspace.svg b/apps/web/public/images/products/meatspace.svg new file mode 100644 index 0000000..d6f0f33 --- /dev/null +++ b/apps/web/public/images/products/meatspace.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/products/mushroom-capital.png b/apps/web/public/images/products/mushroom-capital.png new file mode 100644 index 0000000..343c209 Binary files /dev/null and b/apps/web/public/images/products/mushroom-capital.png differ diff --git a/apps/web/src/app/products/bloomword/page.tsx b/apps/web/src/app/products/bloomword/page.tsx new file mode 100644 index 0000000..f2956ed --- /dev/null +++ b/apps/web/src/app/products/bloomword/page.tsx @@ -0,0 +1,144 @@ +import { Header } from "@/components/layout/header"; +import { MobileNav } from "@/components/layout/mobile-nav"; +import { Card } from "@repo/ui/components/card"; +import Link from "next/link"; +import Image from "next/image"; +import { JsonLd, breadcrumbLd, faqLd } from "@/components/seo/json-ld"; +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Bloomword: Daily Word Game with a Living Tree | Such Software", + description: + "Bloomword is a daily word game where everyone gets the same letters and every word you find grows a living 3D typographic tree. Five biomes, streaks, and a bloom to share. Coming to iOS and Android.", + alternates: { canonical: "/products/bloomword" }, + keywords: [ + "daily word game", + "word puzzle game", + "typography game", + "3d word game", + "word tree game", + "wordle alternative", + "bloomword", + ], + openGraph: { + title: "Bloomword: Find the Day's Words, Grow a Living Tree", + description: + "A daily word game where every word you find grows a biome-specific, living 3D typographic tree. Coming to iOS and Android from Such Software.", + type: "website", + url: "/products/bloomword", + }, +}; + +const faqs = [ + { q: "What is Bloomword?", a: "A daily word game. Everyone gets the same set of letters each day and races to find words before the sunset, and every valid word you find grows a living 3D tree made of typography. It is designed as a calm daily habit: find your words, watch your tree bloom, keep your streak." }, + { q: "How does the tree work?", a: "Each word you find sprouts new growth on a 3D typographic tree rendered by our in-house typograph-engine. The tree's look changes with the day's biome, so your finished board is both a score and a little piece of generative art you can share." }, + { q: "Is it the same puzzle for everyone?", a: "Yes. Like the best daily games, the letters are shared worldwide each day, so leaderboards and streaks are apples-to-apples. Results are server-replayed for fairness." }, + { q: "Is it free?", a: "Yes, free to play, supported by light ads and optional in-app purchases. A privacy-conscious build is a priority." }, + { q: "What platforms will it be on?", a: "Built in Godot for iOS and Android. It is in final pre-launch polish (store review); follow Such Software for the release date." }, +]; + +const jsonLd = { + "@context": "https://schema.org", + "@type": "VideoGame", + name: "Bloomword", + url: "https://such.software/products/bloomword", + description: + "A daily word game where everyone gets the same letters and every word you find grows a living 3D typographic tree. Five biomes, streaks, and a bloom to share.", + applicationCategory: "Game", + genre: ["Word", "Puzzle", "Casual"], + gamePlatform: ["iOS", "Android"], + author: { "@type": "Organization", name: "Such Software" }, + publisher: { "@type": "Organization", name: "Such Software" }, +}; + +const features = [ + { title: "One shared daily puzzle", body: "Everyone gets the same letters each day and races the sunset. Server-replayed results keep streaks and leaderboards honest." }, + { title: "Words become a living tree", body: "Every word you find grows a 3D typographic tree, rendered in real time by our in-house typograph-engine. Your finished board is a shareable piece of generative art." }, + { title: "Five biomes", body: "Forest, desert, mushroom, kelp, and prairie; each biome gives the day's tree its own palette and character, so no two blooms look alike." }, + { title: "Built for the daily habit", body: "Streaks and biome collections reward showing up. It is a calm, one-a-day ritual, not an attention trap." }, + { title: "Play with anyone", body: "A shared daily seed and Nakama-backed leaderboards mean you can compare with friends or the whole world on the exact same board." }, + { title: "Free and privacy-conscious", body: "Free to play with light ads and optional purchases, built to respect your data." }, +]; + +export default function BloomwordPage() { + return ( +
+ +