From 725723ed8b1ee87440253a82a7930f0f0304ec72 Mon Sep 17 00:00:00 2001 From: jwinterm Date: Thu, 26 Mar 2026 11:28:28 -0400 Subject: [PATCH] add live links for suchoice --- apps/web/content/blog/bauhaus-echo-launch.mdx | 22 ++++++---- apps/web/content/blog/suchoice-launch.mdx | 42 +++++++++++++++++++ apps/web/src/app/products/page.tsx | 2 +- apps/web/src/app/products/suchoice/page.tsx | 28 +++++++------ 4 files changed, 72 insertions(+), 22 deletions(-) create mode 100644 apps/web/content/blog/suchoice-launch.mdx diff --git a/apps/web/content/blog/bauhaus-echo-launch.mdx b/apps/web/content/blog/bauhaus-echo-launch.mdx index 9ac201c..54a7e4f 100644 --- a/apps/web/content/blog/bauhaus-echo-launch.mdx +++ b/apps/web/content/blog/bauhaus-echo-launch.mdx @@ -1,7 +1,7 @@ --- title: "Bauhaus Echo is Live" date: "2026-03-04" -excerpt: "A visual memory puzzle inspired by Bauhaus design — now on every platform" +excerpt: "A visual memory puzzle inspired by Bauhaus design, now on every platform" --- Bauhaus Echo is now available on the [App Store](https://apps.apple.com/us/app/bauhaus-echo/id6759010657), [Google Play](https://play.google.com/store/apps/details?id=com.suchsoftware.bauhausecho), [itch.io](https://suchsoftware.itch.io/bauhaus-echo), and [the web](https://bauhaus.such.software). It is a visual memory game where you memorize tile arrangements, watch them shuffle, and reconstruct the original pattern. @@ -12,25 +12,29 @@ The game shows you a grid of colorful geometric tiles inspired by Bauhaus design ## Four Game Modes -- **Classic** — The core experience. Memorize and reconstruct. -- **Speed** — Tiles appear one at a time. Place each before the next drops. -- **Endless** — Speed mode that loops forever. See how long you last. -- **Memory** — Traditional card-matching pairs. +- **Classic**: the core experience. Memorize and reconstruct. +- **Speed**: tiles appear one at a time. Place each before the next drops. +- **Endless**: speed mode that loops forever. See how long you last. +- **Memory**: traditional card-matching pairs. Each mode supports 2×2 through 5×5 grids and three difficulty levels. Global leaderboards let you compete against other players across all platforms. ## 500 Bauhaus Tiles -The tile collection features 500 hand-curated geometric designs drawn from the Bauhaus aesthetic — bold shapes, primary colors, clean lines. Each tile has beveled 3D edges and the game board is styled like a wood-and-felt craft table. +The tile collection features 500 hand-curated geometric designs drawn from the Bauhaus aesthetic: bold shapes, primary colors, clean lines. Each tile has beveled 3D edges and the game board is styled like a wood-and-felt craft table. ## Tech Stack Built with [libGDX](https://libgdx.com/), a cross-platform Java game framework. One codebase runs on Android, iOS (via RoboVM), desktop (LWJGL3), and web (via GWT). The tile assets are packed into a TextureAtlas for efficient GPU rendering. +## Monetization + +The mobile versions are free with AdMob banner ads. A one-time in-app purchase removes ads permanently. Desktop is a paid download ($2) with no ads. The web version is free. + ## Get It -- **Mobile (free with ads)** — [App Store](https://apps.apple.com/us/app/bauhaus-echo/id6759010657) | [Google Play](https://play.google.com/store/apps/details?id=com.suchsoftware.bauhausecho) -- **Desktop ($2, no ads)** — [itch.io](https://suchsoftware.itch.io/bauhaus-echo) -- **Web (free)** — [bauhaus.such.software](https://bauhaus.such.software) +- **Mobile (free, ads removable via IAP)**: [App Store](https://apps.apple.com/us/app/bauhaus-echo/id6759010657) | [Google Play](https://play.google.com/store/apps/details?id=com.suchsoftware.bauhausecho) +- **Desktop ($2, no ads)**: [itch.io](https://suchsoftware.itch.io/bauhaus-echo) +- **Web (free)**: [bauhaus.such.software](https://bauhaus.such.software) See the full [Bauhaus Echo product page](/products/bauhaus-echo) for more details. diff --git a/apps/web/content/blog/suchoice-launch.mdx b/apps/web/content/blog/suchoice-launch.mdx new file mode 100644 index 0000000..0fcf7d4 --- /dev/null +++ b/apps/web/content/blog/suchoice-launch.mdx @@ -0,0 +1,42 @@ +--- +title: "Suchoice is Live" +date: "2026-03-26" +excerpt: "AI-powered decision making app with subscriptions and ad monetization: now on Android and iOS" +--- + +Suchoice is now available on [Google Play](https://play.google.com/store/apps/details?id=com.suchsoftware.suchoice) and the [App Store](https://apps.apple.com/us/app/suchoice/id6759626658). Point your camera at a menu, list, or anything with options. AI reads them, loads them into a wheel, and you spin. + +## Four Ways to Decide + +- **Snap & Decide**: take a photo, AI extracts the items, spin the wheel. Works with menus, handwritten lists, printed schedules. +- **Wheel**: type in your own options (up to 12) and spin. +- **Coin Flip**: animated 50/50 with sound effects and confetti. +- **Adventure**: enter a city, spin for a random activity, open the winner in Google Maps. + +## How Snap & Decide Works + +The app sends your photo to a Flask backend, which forwards it to Google's Gemini Flash for text extraction. Gemini returns a JSON array of item names. The app displays them in an editable list, then loads them into the wheel. The prompt is tuned to ignore prices, section headers, and decorative text. + +## Monetization + +Suchoice uses a hybrid model: rewarded ads (AdMob) and auto-renewable subscriptions (RevenueCat). + +Users get one free AI snap. After that, they can watch a short rewarded ad to unlock another snap, or subscribe to Suchoice Premium ($0.99/month, $9.99/year) for unlimited snaps and no ads. The wheel, coin flip, and adventure features are always free. + +Subscription state is managed through RevenueCat with a single "premium" entitlement. The app checks entitlement status on launch and on resume, gating only the AI snap feature behind the paywall. + +## Tech + +- **Client**: Flutter (Dart), single codebase for Android and iOS +- **Backend**: Flask + Gunicorn, deployed on a VPS behind Nginx +- **AI**: Google Gemini 2.5 Flash via the `google-generativeai` Python SDK +- **Ads**: Google AdMob (banner, interstitial, rewarded) +- **Subscriptions**: RevenueCat (handles both App Store and Google Play billing) +- **Tracking**: App Tracking Transparency on iOS, requested before ad initialization + +## Get It + +- [Google Play](https://play.google.com/store/apps/details?id=com.suchsoftware.suchoice) +- [App Store](https://apps.apple.com/us/app/suchoice/id6759626658) + +See the [Suchoice product page](/products/suchoice) for more. diff --git a/apps/web/src/app/products/page.tsx b/apps/web/src/app/products/page.tsx index 7d77035..e3cb2b0 100644 --- a/apps/web/src/app/products/page.tsx +++ b/apps/web/src/app/products/page.tsx @@ -49,7 +49,7 @@ const products = [ { slug: "suchoice", title: "Suchoice", - description: "Can't decide? Snap a photo, let AI read your options, and pick for you. Plus tools for when you're stuck. Android and iOS.", + description: "Stop overthinking decisions. Snap a photo, let AI read the options, spin the wheel. Plus coin flip and adventure mode. Android and iOS.", color: "pink", }, { diff --git a/apps/web/src/app/products/suchoice/page.tsx b/apps/web/src/app/products/suchoice/page.tsx index 77927a3..31f7728 100644 --- a/apps/web/src/app/products/suchoice/page.tsx +++ b/apps/web/src/app/products/suchoice/page.tsx @@ -12,10 +12,10 @@ export const metadata: Metadata = { }; const features = [ - { name: "AI Image Reading", description: "Point your camera at any text. Suchoice extracts the options automatically." }, - { name: "Random Pick", description: "Spin the wheel and let the app choose for you." }, - { name: "Decision Tools", description: "Coin flip, dice roll, and other quick ways to break a deadlock." }, - { name: "Cross-Platform", description: "Available on Android and iOS." }, + { name: "Snap & Decide", description: "Take a photo of any menu, list, or set of options. AI reads and extracts the items automatically." }, + { name: "Spin the Wheel", description: "Add your own options or use the ones AI found. Spin and go with it." }, + { name: "Coin Flip", description: "Quick 50/50 decisions with a satisfying animated flip." }, + { name: "Adventure Mode", description: "Enter a city, spin for a random activity, and open the winner in Maps." }, ]; export default function SuchoicePage() { @@ -33,18 +33,22 @@ export default function SuchoicePage() {

- Can't decide? Point your camera at any text with options, and Suchoice reads it, extracts the choices, and picks one for you. - Menus, lists, schedules, whatever. Plus a set of general decision tools for when you're stuck. + Stop overthinking every decision. Snap a photo of any menu, list, or set of options, let AI read them, then spin the wheel and go with it. + Plus a coin flip for quick 50/50 calls and an adventure mode that picks random activities in any city.

- - + + + + + +

Features