Commit Graph
89 Commits
Author SHA1 Message Date
jwinterm d371762d15 Splash: drop tagline on mobile, fade content into a waterier wave
- Hide the cover tagline and subheader on mobile (logo + corner icons carry
  it); only the labeled pills/tagline show at sm+.
- On enter, fade the logo, tagline, buttons, and Explore cue out while the
  click-triggered wave plays.
- Waterier transition: backdrop-blur wash plus four expanding Cherenkov
  ripples; reduced-motion still enters instantly.
2026-06-05 23:55:48 -04:00
jwinterm 614a8c09e0 Splash: icon-only corner buttons on mobile, click-to-enter wave
- Mobile: corner nav buttons become icon-only (Portfolio/Apps/Services/About)
  with aria-labels; subheader hidden on mobile so nothing overlaps the logo.
- More ambient motion: logo float plus a second counter-rotating glow ring.
- Clicking the logo (or Explore) triggers a Cherenkov wave (wash + expanding
  rings) before entering; reduced-motion enters instantly.
- Beveled glass buttons.
2026-06-05 23:42:51 -04:00
jwinterm ed07bb5681 Add splash intro, nuclear games + consulting, Cherenkov hero
- Splash: full-viewport animated SUCH logo cover with four corner nav
  buttons; reveals the site once "entered" (scroll-through or Explore) and
  does not resurrect on scroll-up. Original hero restored beneath it
  (title-anchored monitor pulse + Cherenkov-blue background).
- Logo: traveling Cherenkov glow ring + gentle letter breath (SVG/Framer,
  reduced-motion safe); beveled glass corner buttons.
- Services: new "Nuclear & Radiation Modeling" section + "Consulting"
  umbrella (payments, crypto, nuclear), MCNP Google Scholar link, and a
  not-a-licensed-PE clarification.
- About/founder bio: LLNL credibility + accessibility, art101.io link.
- Products: add Barns & Neutrons, Alpha Doc, Decay Theory (detail pages,
  OG cards, SVG icons); client-side sortable grid with coming-soon at the
  bottom. New Neroswap + Custom Websites icons (de-duplicated).
- SEO: game pages added to sitemap.
- Copy: dial back em-dashes to colons/commas/parens on home + services.
2026-06-05 22:40:14 -04:00
jwinterm 71dec78abe update apps link ordering 2026-06-01 11:13:57 -04:00
jwinterm 254e969c36 Tweak copy and add links 2026-06-01 11:10:31 -04:00
jwinterm 4b2ae5646c OG cards: add icon-or-glyph graphic slot
Rework the per-product OG cards to a single template with a graphic slot: real
app icons for the apps that have one (Bauhaus Echo, Suchoice, Vegan IQ, Such Moon
Launch, Smirk), and thematic SVG glyphs for the rest (Wownerogue dungeon glyphs,
Neroswap candlesticks, a shopping bag for Webshops, a browser window for Custom
Websites). Same layout and accent system so the set reads as one family. Paths
are unchanged, so the page metadata already points at these.
2026-06-01 10:53:37 -04:00
jwinterm 97a8026ed6 SEO: FAQ schema, per-product OG cards, stable sitemap dates
- Add FAQPage structured data + visible FAQ sections to Wownerogue, Webshops,
  Neroswap, and Services (covers high-intent 'provably fair', 'no-KYC', and
  'revenue share' style queries; visible Q&A matches the schema).
- Generate branded 1200x630 OG cards per product and wire them into each
  product page's openGraph + twitter (summary_large_image), replacing the
  square app icons that previously got cropped in social previews.
- Sitemap: stop stamping every static page with new Date() on each build; use
  a single content-update date so freshness signals are not diluted.
2026-06-01 10:39:27 -04:00
jwinterm f51a1257c5 SEO: keyword-led titles/descriptions, structured data, internal linking
- Rewrite title tags + meta descriptions site-wide to front-load search intent
  (home, products index, services, apps, support, about, blog, and every product
  page); keep brand suffix, fix overlong/truncated descriptions, use colons not
  em dashes. Home keeps the visible 'Precision Engineering' hero; only the <title>
  changed. De-jargon Webshops away from leading with 'headless'.
- Add reusable JSON-LD helper (JsonLd + breadcrumb/softwareApp/article builders).
  WebSite schema site-wide; BreadcrumbList on all product + blog pages;
  SoftwareApplication on the apps/games; BlogPosting on posts.
- Cross-link the Monero/Wownero cluster (Neroswap, Smirk, Wownerogue, Such Moon
  Launch) and link products to services.
- Data fixes: Vegan IQ corrected to 1,000+ questions with Daily Challenge and
  Weekly Quiz (page + index); generalize Support page off a single game.
2026-06-01 10:21:06 -04:00
jwinterm d8db411824 Add Wownerogue product page + blog post; remove r/CryptoCurrency and MoonPlace
- New /products/wownerogue page (SEO metadata + VideoGame JSON-LD) and
  wownerogue-launch blog post covering the fairness, block-timing, and payout design.
- Drop the retired r/CryptoCurrency and MoonPlace references from the portfolio grid,
  products index, and custom-websites page; feature Wownerogue + Neroswap instead.
- Add WownerogueLinks component (live instances + GitHub source) and wire it into MDX.
- Remove now-orphaned r-cryptocurrency and moonplace images; add product page to sitemap.
2026-06-01 10:09:11 -04:00
jwinterm c8b90f6292 Privacy: align iOS section with actual app behavior (no ATT)
Apple rejected the v1.0 submission under 5.1.2(i) because App Privacy
declared tracking that the app does not actually perform. The app
ships without an App Tracking Transparency prompt, so AdMob falls
back to non-personalized ads on iOS and never accesses IDFA.

Rewrite the iOS subsection of the privacy policy to reflect this
accurately (no ATT request, no IDFA access, non-personalized ads
only on iOS). Also drop the now-misleading "Settings -> Privacy ->
Tracking -> Disable tracking for Such Moon Launch" instruction since
that toggle only exists for apps that have requested ATT.

Bump the Last Updated date to May 20, 2026.
2026-05-20 10:46:51 -04:00
jwinterm 927cf80c58 Fix blog build + clear 14 dependabot advisories
Build was failing because the new MDX post tried to `import` the
SuchMoonLaunchStoreButtons component — next-mdx-remote/rsc doesn't
support imports inside .mdx; components must be passed via the
`components` prop. Wire the helper into [slug]/page.tsx and drop the
import line from the .mdx.

Dependency bumps to clear the 14 outstanding Dependabot advisories
(9 high, 4 moderate, 1 low):
- apps/web/next: ^15.5.15 → ^15.5.18 (covers 12 next.js advisories)
- pnpm overrides: pin postcss ^8.5.14 (clears 1117015 XSS via </style>)
- pnpm overrides: pin fast-uri ^3.1.2 (clears 1117870 + 1117884 path
  traversal / host confusion)

pnpm audit: 14 vulnerabilities → 0.
2026-05-18 10:28:02 -04:00
jwinterm d2ee3ffb55 Rebrand Wownero Moon Launch → Such Moon Launch
Visible-name rebrand for the game ahead of Play Store + App Store launch.
The Wownero theme stays in the game itself; this is purely about the
product name.

- Rename slug: /products/wownero-moon-launch → /products/such-moon-launch
- Rename blog post file + flip from draft → published with rewritten
  origin story (first game ever → Tabby Labs test app → full rebuild
  with tilt-to-steer controls + 11 levels)
- New "The Story" section on the product page
- StoreButtons: accept null href to render disabled "Coming Soon"
  buttons; add SuchMoonLaunchStoreButtons preset (Google + Apple null
  pending review, web link present, itch removed — no itch page exists)
- Add Such Moon Launch entry to /apps with coming-soon store buttons
- Bump privacy + terms last-updated dates to May 18, 2026
- Theme color: orange → amber to match the new brand palette
- Sweep all remaining "Wownero Moon Launch" / "wownero-moon-launch"
  references in product listing, sitemap, top-level privacy index, and
  website-relaunch blog post
2026-05-18 09:59:23 -04:00
jwinterm a6dc211ef6 Patch remaining dev-dependency advisories via pnpm overrides
Forces flatted, minimatch, picomatch, ajv, and brace-expansion to
patched versions across the transitive graph (ESLint, Tailwind, and
Playwright toolchains). Both prod and full audits now report no
known vulnerabilities.
2026-04-20 13:33:02 -04:00
jwinterm 5c1e3d597f Add scroll-reveal animations across home, services, portfolio, about, apps
New ScrollReveal client component wraps section-containers and cards with
a subtle opacity + y-translate fade-in triggered by IntersectionObserver.
Bails out to an unanimated render when prefers-reduced-motion is set.

- home: Selected Works, Inclusive by Design, Start a Project
- services: each of the four verticals and the Recent Work card
- portfolio: each product card, slight stagger by column index
- about: Leadership section and Get in Touch
- apps: each app card, stagger by index
2026-04-20 13:28:03 -04:00
jwinterm 7eb531170d Sharpen services page and bump deps to patch known vulns
- Brand Motion card rewritten with concrete capability language
- Revenue-share card clarified: no upfront fees, no retainers, low % after launch
- Recent Work section added with Occupy Wallets as the first case study
- Bumped next to ^15.5.15 to patch 2 high and 3 moderate advisories
- Added pnpm override for yaml ^2.8.3 to resolve the transitive next-mdx-remote
  stack-overflow advisory. Production audit now reports no known vulnerabilities.
2026-04-20 13:19:51 -04:00
jwinterm ca5f555918 Rework home hero and portfolio, invert favicon theme mapping
- Home hero subhead rewritten to name commerce/websites/apps/consulting
  plus in-house mobile apps and games; primary CTA points to /products
- Portfolio page (/products) title renamed and each product card now shows
  a 56px icon beside the title
- Favicon served inverse to the browser color scheme so the tile contrasts
  with the chrome instead of blending into it
2026-04-20 13:04:27 -04:00
jwinterm ae87efe77f tweak copy on main page and about 2026-04-20 11:16:59 -04:00
jwinterm e55d4dcff4 Rename /links to /apps, add Apps to header, rename Products to Portfolio 2026-04-20 10:53:01 -04:00
jwinterm d754a1373e fix footer 2026-04-18 16:54:34 -04:00
jwinterm 08ded4d6fd Fix hero and tweak footer 2026-04-18 16:52:08 -04:00
jwinterm 610d8351fe tweak copy in main page and add socials 2026-04-18 16:44:12 -04:00
jwinterm 637c6d09ef update bauhaus and main page copy 2026-04-18 16:16:58 -04:00
jwinterm f7fcb8d254 Suchoice v1.2.0: update product page, publish 3D physics blog post
Product page: added Dice Roll and Decision Duel to features grid (now
6 features), updated meta description and hero text, broadened Snap &
Decide description to include ingredients/labels.

Blog post: published 3D Physics in Flutter article covering three_js +
cannon_physics integration, framebuffer cache bug, quaternion convention
issue, vertex clustering for face detection, and settle mechanics.
2026-04-17 18:45:03 -04:00
jwinterm 6717ae071a fix OG banner 2026-04-09 16:45:18 -04:00
jwinterm c1fd1f3928 Add privacy, ToS, and update sitemap 2026-04-09 08:58:58 -04:00
jwinterm 57a365dc06 add icons and animation to links 2026-04-09 08:42:33 -04:00
jwinterm 2c5562f45d add links page 2026-04-08 17:27:46 -04:00
jwinterm 41276cd0bb add play and app store buttons and review vegan blog 2026-04-08 12:41:00 -04:00
jwinterm f54d9476d2 update vegan iq product page and publish blog 2026-04-08 12:24:14 -04:00
jwinterm b7db48d9be update neroswap and bauhaus blog posts 2026-03-27 19:21:07 -04:00
jwinterm 03f0a47a6c update privacy policy for vegan-IQ 2026-03-26 20:43:51 -04:00
jwinterm fb5feb6510 add vegan-iq initial pages 2026-03-26 20:36:42 -04:00
jwinterm 6e89c956ee fix branding, copy, SEO, and broken links across site
- update site title and meta to Precision Engineering for Everyone
- footer and about: full-service software provider → software studio
- schema.org structured data aligned with new meta description
- clarify revenue-share model in services preview
- remove placeholder App Store links for Wownero Moon Launch
- add OpenGraph tags to all product, blog, and support pages
- fix About page OG description to match meta description
2026-03-26 12:36:39 -04:00
jwinterm 725723ed8b add live links for suchoice 2026-03-26 11:28:28 -04:00
jwinterm e2dad3bef1 update suchoice copy 2026-03-23 18:51:06 -04:00
jwinterm f9516180cd Update copy and headline 2026-03-23 18:46:08 -04:00
jwinterm 44638a04b3 add neroswap icon and dynamic feature to bento 2026-03-23 17:49:12 -04:00
jwinterm eff0173135 fix bento grid 2026-03-23 17:38:42 -04:00
jwinterm cfcc72d840 generate blog entries in sitemap dynamically, skip drafts 2026-03-22 17:54:38 -04:00
jwinterm d0a3e8c399 fix: content audit — SEO, cross-links, draft filtering, styling
- Add sitemap.xml and robots.txt (such.software-site)
- Fix blog date on neroswap post (2025→2026)
- Filter draft posts from generateStaticParams and getPost
- Fix stale product list in website-relaunch blog post
- Fix Godot version (4.6→4)
- Add cross-links: product pages→blog posts, blog posts→product pages
- Add OG/Twitter metadata to blog [slug] pages
- Fix Bauhaus Echo privacy: hover color (emerald→blue), contact URL
- Fix Suchoice: card styling (p-6→glass-card), font-semibold→font-bold
- Fix products listing meta to include Suchoice
2026-03-17 13:17:59 -04:00
jwinterm 931f80abdf feat: add Neroswap product page, blog post, and portfolio entry
- Product page at /products/neroswap with exchange descriptions, features, and architecture
- Blog post at /blog/neroswap-aggregator explaining the data pipeline and privacy design
- Added to products listing (first position, yellow color)
- Added to bento grid portfolio section
- Links to neroswap.com throughout
- SEO metadata with keywords, canonical URLs, Open Graph
2026-03-17 12:49:34 -04:00
jwinterm d6f8cc6213 fix blog draft status 2026-03-12 18:11:33 -04:00
jwinterm df09d15278 add wownero moon launch stuff 2026-03-12 18:06:40 -04:00
jwinterm cfc5c7265b Fix blog post ordering by using ISO dates in frontmatter 2026-03-10 10:54:00 -04:00
jwinterm 2b9b1bf429 Migrate blog from hardcoded TSX posts to MDX with auto-population
- Add gray-matter + next-mdx-remote for MDX rendering
- Create content/blog/ with .mdx files and frontmatter
- Add dynamic [slug] route and blog utility (src/lib/blog.ts)
- Blog index auto-populates from MDX files, sorted newest first
- Upgrade React to 19 for next-mdx-remote v6 compatibility
- Convert existing posts: website-relaunch, smirk-wallet, bauhaus-echo, crypto-checkout
2026-03-10 10:46:41 -04:00
jwinterm 3001d4bbe1 add ads.txt 2026-03-05 09:09:13 -05:00
jwinterm 93597739bf Update bauhaus echo and blog 2026-03-04 12:13:02 -05:00
jwinterm d720c6a38a add app-ads.txt 2026-02-26 20:17:04 -05:00
jwinterm 751c0c9e8a remove web from suchoice and add google play link to bauhaus 2026-02-25 12:26:49 -05:00
jwinterm 54536be498 add suchoice product 2026-02-25 12:15:16 -05:00
jwinterm 8c4a4acf78 Update suchoice privacy for recuring revenuecat payments 2026-02-24 18:18:46 -05:00
jwinterm a0eb5f95f4 add suchoice page and privacy policy 2026-02-24 16:41:13 -05:00
jwinterm e69de2ef22 Bauhaus Echo: add Play on Web link, mark store buttons Coming Soon 2026-02-19 17:11:44 -05:00
jwinterm 1e4af3da6d Add support page, update privacy policy with leaderboard disclosure
- New /support page with bug report, feature request, and feedback cards
- ContactForm accepts source prop ('inquiry' | 'support') for differentiated emails
- Support emails go to apps@such.software with 'App feedback' subject
- Added 'High Scores & Leaderboards' section to Bauhaus Echo privacy policy
- Added 'Support & Feedback' link to Bauhaus Echo product page footer
- Updated privacy policy date to February 18, 2026
2026-02-18 17:01:55 -05:00
jwinterm 6a3e609c41 fix contact form and linking and favicon 2026-02-12 22:33:28 -05:00
jwinterm 22c0c03c6c update animations, images, and link in about 2026-02-12 22:26:49 -05:00
jwinterm 357d5b4122 update logos and image strucutre 2026-02-07 22:29:23 -05:00
jwinterm 375e7e2868 update bauhaus privacy policy and blog styling 2026-02-06 13:10:15 -05:00
jwinterm 1705497ca6 Add blog and products pages (including bauhaus privacy policy) 2026-02-06 09:45:33 -05:00
jwinterm 8a119b4149 update images 2026-02-03 20:25:59 -05:00
jwinterm 19dfdbcea0 fix bento box p2 and update smirk image and wownerogue text 2026-02-03 19:37:35 -05:00
jwinterm 794bc37f16 fix: bento layout 2026-02-03 19:26:34 -05:00
jwinterm daaae6c260 update: add smirk, discord, and personal site, remove reddit 2026-02-03 19:21:58 -05:00
jwinterm 8e1c5aed6e fix font size on mobile for title 2026-01-29 21:16:05 -05:00
jwinterm 2838133681 feat: add resend for email
fix: nebual minified react error
2026-01-29 11:23:54 -05:00
jwinterm b80723cd28 fix turnstile 2026-01-29 11:01:57 -05:00
jwinterm 0b029ba5ab fix: build error 2026-01-23 15:49:16 -05:00
jwinterm 34eb357ee0 fix: safari loading issue 2026-01-22 11:18:54 -05:00
jwinterm 6f8c2ba325 fix: computer animation positioning 2026-01-20 09:34:14 -05:00
jwinterm 0df4c3d09c fix linter version and update gitignore 2026-01-17 12:13:40 -05:00
jwinterm 487754d3a2 Add Playwright a11y tests, structured data, and reduced motion support
- Add Playwright tests with axe-core (42 tests across 3 browsers)
- Add prefers-reduced-motion support to NebulaField
- Add JSON-LD structured data (Organization schema)
- Add canonical URLs to all pages
- Consolidate TODO files, update README
2026-01-17 12:10:18 -05:00
jwinterm 3c1e0b659c Achieve 100% Lighthouse accessibility and SEO on all pages
- Fix color contrast: emerald-600 → emerald-700 for WCAG AA compliance
- Fix heading hierarchy across all pages (h1 → h2 → h3 → h4)
- Lazy load NebulaField with next/dynamic and requestIdleCallback
- Remove debug console.log statements
- Add .env.example for Turnstile configuration
- Update documentation with audit results
2026-01-17 11:15:51 -05:00
jwinterm f2940ad956 Add documentation and fix pnpm start command
- Add README.md with tech stack, project structure, and dev setup
- Add TODO_ACCESS.md with Lighthouse audit results and priority fixes
- Add start script to root package.json
- Add start task to turbo.json
2026-01-17 10:32:01 -05:00
jwinterm e5508588d1 Refactor Services page and restrict nebula to homepage
- Move DynamicBackground from layout to homepage only
- Restructure Services: H1 outside cards, consistent heading sizes
- Rename 'Medusa v2 Development' to 'Custom E-Commerce Engines'
- Rename 'Custom Data Models' to 'Flexible Architecture'
- Add 'Partnership-First Development' section
- Update copy for clarity and customer focus
2026-01-16 22:39:03 -05:00
jwinterm 0e7916e767 Fix founder signature icon using theme-aware logo SVGs 2026-01-16 21:15:06 -05:00
jwinterm 0d284b5c7d Upgrade Next.js to 15, fix first-load theme bug, add SVG assets
- Upgrade next 14.1.0 → 15.5.9, next-themes 0.2.1 → 0.4.6
- Fix theme not initializing on first load after server restart
- Add SVG logos and favicon, update site-logo to use SVGs
- Create shared Header component with skip-to-main link
- Add portfolio links to bento grid cards
- Improve accessibility: aria-describedby, prefers-reduced-motion
- Fix useFormState → useActionState for React 19 compatibility
- Fix founder-signature icon (use square favicon instead of wide logo)
2026-01-16 21:02:05 -05:00
jwinterm b81bea6297 Fix UI/UX issues and restore styling
- Fix dark mode toggle (use resolvedTheme, simplify icon rendering)
- Restore colored left borders on section containers
- Remove conflicting px-2 classes from section-container elements
- Fix founder signature vertical alignment (items-center)
- Reduce header nav gap for tighter spacing
- Increase section-container and glass-card padding
2026-01-16 15:34:19 -05:00
jwinterm ffaea03e58 Fix critical accessibility and SEO issues
- Fix homepage heading hierarchy (h2 -> h1)
- Add page-specific metadata to services and about pages
- Fix outline-none on form inputs for keyboard accessibility
- Delete sync conflict files
- Add group class back to bento cards for hover animations
- Use raw CSS for glassmorphism to fix Tailwind opacity errors
- Add TODO.md with production checklist
- Add semantic CSS classes (.section-container, .glass-card)
- Update Tailwind config for opacity modifier support
2026-01-16 15:03:12 -05:00
jwinterm b40193c086 feat: synchronize background nebula animations and overhaul site copy
- perfectly synced nebula streamer impacts with computer icon pulse
- standardized typography with left-border headers and blurbs across landing and services pages
- expanded services page with specialized solutions for commerce, custom apps, and crypto
- fixed bento grid image distortion and background persistence issues
- corrected hydration and syntax errors in nebula-field
2026-01-16 11:28:46 -05:00
jwinterm f978334beb style: increase nebula visibility, computer size and adjust position 2026-01-16 10:58:49 -05:00
jwinterm c9dbcc2f84 fix: globalize nebula background, refine positioning and mute animations 2026-01-16 10:55:41 -05:00
jwinterm 29135a3a70 style: mute nebula intensity, fix load visibility, and sync parallax 2026-01-16 10:49:33 -05:00
jwinterm 51cfd7a3c8 refactor: adjust nebula target, fix initial visibility, and update bento images 2026-01-16 10:42:49 -05:00
jwinterm 782ea2b6ce fix: resolve syntax error in bento-grid and push final fixes 2026-01-16 10:36:34 -05:00
jwinterm d40a1caa85 style: fix portfolio image distortion, nebula animation timing and add parallax to computer 2026-01-16 10:36:22 -05:00
jwinterm f98b46d5e9 add images for bento 2026-01-16 10:02:43 -05:00
jwinterm 19a72bd621 feat: enhance landing page, add about page and footer. refactor nebula animation. 2026-01-16 09:58:12 -05:00
jwinterm 4a51d8a334 feat: Refactor animation alignment & visual tweaks
- **Visuals**:
  - Implemented 'Data Ingress' animation with lines starting from edges and converging to a fixed point.
  - Added centralized 'Monitor' icon as the convergence target.
  - Refactored 'NebulaField' to use percentage-based coordinates for perfect alignment on resize.
  - Smoothed animation timing and easing.
- **Micro-interactions**:
  - Increased transparency of Bento Grid cards (from 90% to 70%) for better visibility of background elements.
  - Added backdrop-blur to cards.
- **Fixes**:
  - Fixed 'bg-clip-text' bug cutting off descenders in the main headline.
2026-01-15 16:09:34 -05:00
jwinterm 717a3be1c8 feat: Initial Monorepo Setup for Such Software
- **Architecture**: Initialized Turborepo monorepo with pnpm workspace.
- **Frontend**: Scaffolding for Next.js 14 app (apps/web) with Tailwind CSS v4 configuration.
- **UI System**: Created shared UI package (@repo/ui) with Shadcn/UI primitives (Card, Button).
- **Procedural Design**:
  - Implemented 'NebulaField' organic background animation for Home.
  - Implemented 'DataGrid' isometric background for Services.
  - Added 'DynamicBackground' for theme-aware transitions.
- **Features**:
  - Responsive 'ThemeToggle' with View Transitions API support.
  - 'PortfolioGrid' component showcasing key projects (r/CryptoCurrency, etc.).
  - 'FounderSignature' component detailing accessibility focus.
  - 'ContactForm' with Zod validation + turnstile integration stub.
- **Pages**:
  - Landing page with parallax/procedural visuals.
  - Services page highlighting Medusa v2 development capabilities.
- **Clean Up**: Removed initial Medusa backend scaffold to focus on frontend delivery first.
2026-01-15 15:43:47 -05:00