Commit Graph
28 Commits
Author SHA1 Message Date
jwinterm 261cb04667 feat(site): one voice, brand gradients, a lighter splash gate, denser portfolio
- Voice unified on the title-tag register: the homepage h1 now says what we
  sell (Custom E-commerce, Apps & Crypto Tools); 'Precision engineering for
  everyone' is demoted to the supporting line. The structured-data and
  manifest descriptions now match the OG description instead of carrying
  their own registers.
- The off-palette cyan/blue gradients are gone: .hero-title and the new
  .brand-gradient-text use the four-colour system (light palette on light,
  dark palette on dark, per the pack). Splash cover text, services and
  portfolio headings, the hero aura, and button shadows all follow.
- The splash now dismisses once 40% scrolled past instead of requiring the
  whole screen to leave the viewport (it was already once-per-session and
  reduced-motion-skipping).
- Portfolio: heading 'Portfolio', subtitle 'Products & projects', meta title
  to match; grid grows to three columns on xl in a max-w-6xl container.
- anim3_matrix slimmed: single-layer glow, unfiltered crackle and orbs, and
  the border cycles stroke colour instead of animating filter:hue-rotate --
  the filter animation forced a full filter re-render per frame and pegged a
  core on the page hosting it.
2026-08-16 00:04:28 -04:00
jwinterm c73b9f1c04 feat(brand): regenerate every mark and animation from the such-graphics pack
All branding and animation assets now come from packs/such-software/pack.json
(such-graphics feat/brand-full-blast) instead of hand-maintained files:

- anim1_pulse / anim3_matrix / anim_type_v4 (both themes): regenerated with
  the corrected U bowl, measured pulse timing (the hand-authored node delays
  ran ~17% fast), and CSS animation with real prefers-reduced-motion support.
- clean marks, lockups (clean_*_w_text), favicons (svg + 192px png), and the
  OG banner: regenerated; the OG card is the pack's 1200x630 projection.
- splash-such: rebuilt from the pack -- the old one carried the divergent U,
  an off-palette cyan frame, and the pre-correction radius. Now theme-aware:
  two inlined data URIs (hero-splash shows the light palette on light, the
  dark palette on dark) since the pack's dark hues are tuned for near-black.
- new assets available: games_pulse (the launch arch with the rocket, wired
  into /apps), morph, ambient_{atom,mesh,leaf}, favicon_dots, favicon_live,
  icon-192/512 + maskable-512 (wired into manifest.json), /favicon.ico.
- animation embeds switched <img> -> <object>: Chrome freezes CSS animations
  inside SVG-as-img (the old files animated because they were SMIL); an
  object hosts a real SVG document where CSS animation and the
  reduced-motion query both work. Verified live in Chrome.
2026-08-15 23:18:44 -04:00
jwinterm d3916fd0e8 bloomword: use the real app-icon PNG everywhere (was the flat SVG)
Swaps /images/products/bloomword.svg for bloomword.png across the apps
index, the products index, the Bloomword product page, the bento grid,
and both services.ts proof lists (games + education), so the icon
matches what actually ships on the App Store and Play listings.

The SVG is now unreferenced; leaving it in place for now.
2026-07-28 21:04:19 -04:00
jwinterm c41c7f28ee feat(webshops): refresh demo shots (now genuinely distinct) + varied surfaces gallery + booking callout
The five demo storefronts were re-themed to look like different companies
(distinct hero styles, card styles, density, grid, and homepage composition),
so re-snap the hero cards and regenerate the theming-morph reel from the
fresh shots.

Add a "Every surface, not just the homepage" gallery: six live surfaces
across different shops (yoga + coaching booking calendars, an editorial
product page, a dense catalog grid, a crypto product, a themed cart) so the
page shows platform depth the homepage crops hide.

Call out booking/scheduling explicitly: a new "Booking & Scheduling" feature
card, a booking FAQ (feeds FAQ JSON-LD), and a booking-calendar line in the
surfaces lead.

Demo images downsized to lean 1280w JPGs (png -> jpg).
2026-07-06 12:35:46 -04:00
jwinterm cbc8906715 feat(site): webshops rewrite + demo gallery + Bloomword/Meatspace/Mushroom Capital
- /products/webshops: lead with per-tenant theming; add the real platform
  features (Printful POD, non-custodial crypto to own wallet, Stripe Connect
  with item-margin-only fee framing, SIWE/wallet login, Telegram + email
  notifications, automated tax); fix the incorrect "Vercel/Railway" hosting
  line to fully-managed self-hosting; remove PayPal/Coinbase (not live).
- Live Demos gallery (new component) with real screenshots of the 5 themed
  demo storefronts.
- Add three projects to the portfolio: Bloomword (now live, bloomword.earth),
  Meatspace (in dev, meatspace.place), Mushroom Capital (coming soon,
  mushroom.capital) with an icon, a detail page (VideoGame + FAQ JSON-LD),
  and a sitemap entry each.
- Copy: avoid em dashes (colon/semicolon/comma) across the products area.

Verified: tsc clean, next build green (50/50 static pages).
2026-07-06 08:28:39 -04:00
jwinterm e1ff60180b Trim oversized bento images + fix sizes; bump turbo (clears advisories)
- Cap the two wildly oversized bento source PNGs so Next can't serve giant variants:
  occupy-wallets 1200x837/393K -> 700x488/167K, neroswap 1584x672/1.8M -> 700x297/404K.
  (bauhaus/vegan are already 512px and self-cap; privacy-labs was already small.)
- Fix the bento <Image> sizes: object-contain height-constrains the image so it renders
  ~360px wide in either span; 66vw/100vw made Next serve up to ~750-1200w. Now
  '(max-width:768px) 90vw, 33vw'.
- Bump turbo 2.7.4 -> 2.9.16 (GHSA-hcf7-66rw-9f5r, GHSA-3qcw-2rhx-2726). pnpm audit
  now clean.
2026-06-07 18:15:10 -04:00
jwinterm d2d4ff997f Cursor timing (~4 blinks each side); rewrite perf post to the real fix
- Monitor terminal: ~4 blinks, type 'such', backspace, ~4 blinks, fade.
- Rewrite the blog post so it tells the accurate story end to end (not an update):
  the LCP breakdown showed render delay with TTFB 0 and a free main thread, so it
  was neither the network nor JavaScript. It was render-blocking CSS, fixed by
  inlining the stylesheet. Server components / dropping framer are kept as honest
  supporting steps, not the gate. Swap the architecture figure for a CSS
  critical-path figure; mobile now a steady 100.
2026-06-07 17:32:21 -04:00
jwinterm 33400c5879 Publish perf blog post + Such Moon Launch iOS links
- New post 'My Animated Splash Was Tanking Our Mobile PageSpeed Score' (draft:false):
  the LCP investigation, the data-URI diagnostic, and the real fix (shrink the
  use-client boundary / server-render the static parts). Two SVG diagrams.
- Such Moon Launch now live on iOS: App Store link wired on the apps and product
  pages.
2026-06-06 20:41:31 -04:00
jwinterm c85383eff2 Mobile LCP: render splash logo as <img> (valid LCP element); faster blended transition; recenter tracer
- Inline <svg> is not an LCP candidate; on mobile the tagline is hidden so the
  logo was the only large element -> NO_LCP. Serve the mark as
  /images/branding/splash-such.svg and render it via <img> (a valid LCP
  candidate, painted from SSR HTML).
- Transition: start the cross-fade on click (shimmer plays as the splash fades
  into the content) and shorten durations 1.2s -> 0.8s; snappier and blended.
- Tracer target back to the midpoint (computerX+0.5, computerY+0.5).
2026-06-06 18:05:33 -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 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 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 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 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 57a365dc06 add icons and animation to links 2026-04-09 08:42:33 -04:00
jwinterm 44638a04b3 add neroswap icon and dynamic feature to bento 2026-03-23 17:49:12 -04: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 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 daaae6c260 update: add smirk, discord, and personal site, remove reddit 2026-02-03 19:21:58 -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 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 f98b46d5e9 add images for bento 2026-01-16 10:02:43 -05:00