diff --git a/apps/web/src/app/apps/page.tsx b/apps/web/src/app/apps/page.tsx index 5e42068..1ab6826 100644 --- a/apps/web/src/app/apps/page.tsx +++ b/apps/web/src/app/apps/page.tsx @@ -8,17 +8,29 @@ import type { Metadata } from "next"; export const metadata: Metadata = { title: "Apps: Games & Tools for iOS, Android & Web | Such Software", - description: "Download Such Software's apps and games: Bauhaus Echo, Suchoice, Vegan IQ, Such Moon Launch, and more. Free on the App Store, Google Play, and the web.", + description: "Download Such Software's apps and games: Bloomword, Bauhaus Echo, Suchoice, Vegan IQ, Such Moon Launch, and more. Free on the App Store, Google Play, and the web.", alternates: { canonical: "/apps" }, openGraph: { title: "Apps: Games & Tools for iOS, Android & Web | Such Software", - description: "Download Such Software's apps and games: Bauhaus Echo, Suchoice, Vegan IQ, Such Moon Launch, and more. Free on the App Store, Google Play, and the web.", + description: "Download Such Software's apps and games: Bloomword, Bauhaus Echo, Suchoice, Vegan IQ, Such Moon Launch, and more. Free on the App Store, Google Play, and the web.", type: "website", images: [{ url: "/images/branding/OG_banner_v2_light.png", width: 1200, height: 630, alt: "Such Software" }], }, }; const apps = [ + { + name: "Bloomword", + tagline: "Grow your vocab: a daily word game with a living 3D tree", + icon: "/images/products/bloomword.svg", + color: "text-green-600 dark:text-green-400", + borderColor: "border-green-500/20", + href: "/products/bloomword", + links: [ + { platform: "apple" as const, href: "https://apps.apple.com/us/app/bloomword-grow-your-vocab/id6781658542" }, + { platform: "google" as const, href: "https://play.google.com/store/apps/details?id=com.suchsoftware.bloomword" }, + ], + }, { name: "Vegan IQ", tagline: "Plant-based trivia backed by real data", diff --git a/apps/web/src/app/products/bloomword/page.tsx b/apps/web/src/app/products/bloomword/page.tsx index f2956ed..5ff5478 100644 --- a/apps/web/src/app/products/bloomword/page.tsx +++ b/apps/web/src/app/products/bloomword/page.tsx @@ -4,12 +4,13 @@ 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 { StoreButtons } from "@/components/store-buttons"; 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.", + "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. Free on iOS and Android.", alternates: { canonical: "/products/bloomword" }, keywords: [ "daily word game", @@ -23,7 +24,7 @@ export const metadata: Metadata = { 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.", + "A daily word game where every word you find grows a biome-specific, living 3D typographic tree. Free on iOS and Android from Such Software.", type: "website", url: "/products/bloomword", }, @@ -34,7 +35,7 @@ const faqs = [ { 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." }, + { q: "What platforms is it on?", a: "Built in Godot for iOS and Android, and playable free in the browser at bloomword.earth. Download it on the App Store or Google Play." }, ]; const jsonLd = { @@ -96,10 +97,17 @@ export default function BloomwordPage() { growth on a living 3D typographic tree. Keep your streak, collect the biomes, and share the bloom you grew today. It is live at{" "} bloomword.earth{" "} - and coming to iOS and Android. + and free on iOS and Android.

+
+ +
+

What makes it different

{features.map((f) => ( diff --git a/apps/web/src/app/products/page.tsx b/apps/web/src/app/products/page.tsx index 4d684e7..9e94dc6 100644 --- a/apps/web/src/app/products/page.tsx +++ b/apps/web/src/app/products/page.tsx @@ -117,7 +117,7 @@ const products: Product[] = [ { slug: "bloomword", title: "Bloomword", - description: "A daily word game where everyone gets the same letters and races the sunset; every word you find grows a biome-specific, living 3D typographic tree. Build streaks, collect biomes, and share your bloom. Play free at bloomword.earth; launching on iOS and Android.", + description: "A daily word game where everyone gets the same letters and races the sunset; every word you find grows a biome-specific, living 3D typographic tree. Build streaks, collect biomes, and share your bloom. Play free at bloomword.earth, or download free on iOS and Android.", color: "green", icon: "/images/products/bloomword.svg", releaseDate: "2026-07-06", diff --git a/apps/web/src/lib/services.ts b/apps/web/src/lib/services.ts index 2308e9b..c49c0b7 100644 --- a/apps/web/src/lib/services.ts +++ b/apps/web/src/lib/services.ts @@ -54,11 +54,11 @@ export const pillars: Pillar[] = [ label: "Education & Science", accent: "amber", title: "Education & science", - lead: "PhD-led radiation-science teaching, training, and speaking from years at a national lab, plus learning-through-play games that teach real science and math. We publish our methods open-source.", - card: "PhD-led radiation-science teaching and games that teach real science.", + lead: "PhD-led radiation-science teaching, training, and speaking from years at a national lab, plus a growing shelf of edutainment: learning-through-play games that make real subjects stick, from nuclear physics and math to vocabulary, nutrition, and cyber-safety. We publish our methods open-source.", + card: "PhD-led radiation-science teaching and edutainment games that teach through play.", metaTitle: "Nuclear & Radiation-Science Education, GEANT4 Training | Such Software", metaDescription: - "PhD-led radiation-science education: Monte Carlo methods with GEANT4, shielding and detector physics, open-source labs, plus learning-through-play science and math games. Lawrence Livermore background.", + "PhD-led radiation-science education: Monte Carlo methods with GEANT4, shielding and detector physics, open-source labs, plus edutainment games that teach science, math, vocabulary, and cyber-safety through play. Lawrence Livermore background.", }, ]; @@ -86,7 +86,7 @@ const commerceProof: Proof[] = [ const gamesProof: Proof[] = [ { title: "Suchoice", blurb: "Stop overthinking decisions: snap a photo, let AI read the options, spin the wheel. iOS and Android.", img: "/images/products/suchoice.png", href: "/products/suchoice", tag: "Live" }, { title: "Vegan IQ", blurb: "1,000+ plant-based trivia questions across 8 categories, with a daily challenge and weekly quiz. iOS and Android.", img: "/images/products/vegan-iq.png", href: "/products/vegan-iq", tag: "Live" }, - { title: "Bloomword", blurb: "A daily word game where every word you find grows a living 3D typographic tree. Free at bloomword.earth, launching on mobile.", img: "/images/products/bloomword.svg", href: "/products/bloomword", tag: "Live" }, + { title: "Bloomword", blurb: "A daily word game where every word you find grows a living 3D typographic tree. Free at bloomword.earth and on iOS and Android.", img: "/images/products/bloomword.svg", href: "/products/bloomword", tag: "Live" }, { title: "Bauhaus Echo", blurb: "A visual memory puzzle game inspired by Bauhaus design. Android, iOS, and web.", img: "/images/products/bauhaus-echo.png", href: "/products/bauhaus-echo", tag: "Live" }, { title: "Such Moon Launch", blurb: "Vry rocket, much landing, wow: a Wownero-themed pixel rocket arcade with 11 levels and tilt-to-steer. Everywhere.", img: "/images/products/such-moon-launch.png", href: "/products/such-moon-launch", tag: "Live" }, ]; @@ -98,10 +98,16 @@ const cryptoProof: Proof[] = [ { title: "Evaluetron", blurb: "Pay-for-compute done right: an append-only credit ledger, a job queue, and an evaluator that lets on-demand work preempt opportunistic work. Customers can never self-credit.", tag: "Building" }, ]; +// Barns/nuclear/Numchangers are the science + math anchors; Zero-Day Defender, Bloomword, and +// Vegan IQ are the edutainment titles (Bloomword + Vegan IQ are cross-listed from Games & Apps — +// they are genuinely both a game we ship AND a game that teaches). const educationProof: Proof[] = [ { title: "Barns & Neutrons", blurb: "A cozy exploration-puzzle game across the real Chart of Nuclides: capture neutrons, coax decays, and learn honest nuclear physics. Our premiere visual work.", img: "/images/products/barns-and-neutrons.svg", href: "/products/barns-and-neutrons", tag: "Coming soon" }, { title: "Nuclear consulting & training", blurb: "PhD-led radiation-science teaching: Monte Carlo methods with GEANT4, shielding and dose fundamentals, detector physics, and open-source labs.", href: "https://jwinterm.github.io/geant4-radiation-labs/", tag: "Service" }, { title: "Numchangers", blurb: "A kids math game (ages 5-8) where numbers morph into dots, shapes, and 3D characters, so arithmetic becomes a visible action instead of a quiz. Godot, mobile-first.", tag: "Early" }, + { title: "Zero-Day Defender", blurb: "A cybersecurity edutainment game: learn how real attacks and defenses work by playing through them, from phishing and passwords to zero-days.", tag: "Coming soon" }, + { title: "Bloomword", blurb: "Vocabulary as play: a daily word game where every word you find grows a living 3D typographic tree. Free on iOS and Android and at bloomword.earth.", img: "/images/products/bloomword.svg", href: "/products/bloomword", tag: "Live" }, + { title: "Vegan IQ", blurb: "Nutrition and food knowledge as a daily habit: 1,000+ plant-based trivia questions across 8 categories, with a daily challenge and weekly quiz. iOS and Android.", img: "/images/products/vegan-iq.png", href: "/products/vegan-iq", tag: "Live" }, ]; export function proofFor(slug: string): Proof[] {