Skip to content

feat(programs): Software Factory landing page#1108

Merged
jeromehardaway merged 27 commits into
masterfrom
feat/programs-software-factory
May 18, 2026
Merged

feat(programs): Software Factory landing page#1108
jeromehardaway merged 27 commits into
masterfrom
feat/programs-software-factory

Conversation

@jeromehardaway

Copy link
Copy Markdown
Contributor

Summary

  • Replaces /programs/studio MDX with a full agency-style Software Factory landing page positioning VWC's veteran-led engineering team for hire (clients + sponsors)
  • Nine sections per design_handoff_software_factory/README.md: Operations Brief hero, Capabilities table, Process timeline, Selected Engagements, Sponsor track, Leadership, Differentiators + Stats, Testimonials, Discovery Request form
  • Form posts to existing /api/contact with subject "Software Factory — Discovery Request"; service chips (multi-select) and budget chips (single-select) get serialized into the message body
  • 308 redirect /programs/studio/programs/software-factory; menu and sitemap-links updated; both studio.mdx files removed

Implementation notes

  • src/data/software-factory.ts — all copy (capabilities, process, engagements, sponsor tiers, team, stats, testimonials, chips)
  • src/components/software-factory/service-mark.tsx — 8 inline SVG geometric marks (halfsquare, bars, target, diag, stack, cross, dot, square) with red/gold tone toggle
  • src/containers/software-factory/{hero,capabilities,process,engagements,sponsor,team,differentiators,testimonials,cta}/ — one folder per section, each with index.tsx + *.module.css
  • Framer Motion scrollUpVariants entrances on every section
  • prefers-reduced-motion guards on the gold pulse dot, capability hover bar, and button translates

Known v1 gaps (called out in the design handoff)

  • Hero photo variant skipped — typographic hero only
  • Team cards use striped placeholder pattern; engagement cards have no screenshots
  • "Download Capabilities Brief (PDF)" link points at a stub path

Test plan

  • /programs/software-factory renders all nine sections in the listed order
  • /programs/studio 308-redirects to /programs/software-factory
  • Programs nav and footer Programs column show "Software Factory"
  • Discovery form: required validation on name/email/brief, service chips toggle multi-select, budget chips toggle single-select
  • Successful submit shows the gold-checkmark transmission state; "Send another" resets
  • Failed submit shows inline error message
  • Capability row hover (red bar slide) and engagement card hover (gold top bar + lift) behave on desktop
  • Mobile (≤575px): capability rows reflow, sponsor tiles stack, footer/hero collapse to single column
  • Reduced-motion preference disables hero pulse and hover translates

Replaces the legacy /programs/studio MDX with a full agency-style landing
page positioned as VWC's veteran-led engineering team-for-hire. Nine
sections: Operations Brief hero, Capabilities table, Process timeline,
Selected Engagements, Sponsor track, Leadership, Differentiators+Stats,
Testimonials, and a Discovery Request form that posts to /api/contact.

Adds /programs/studio → /programs/software-factory permanent redirect,
updates menu and sitemap-links, and removes both studio.mdx files.
@vercel

vercel Bot commented May 3, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
vets-who-code-app Ready Ready Preview, Comment May 18, 2026 3:46am

Request Review

- Reframe mission/lead/SEO copy as two FDE leads with 10+ years combined
- Correct VWC established date to 2014, posture to 1 fire team / 2 engineers
- Render Jerome and Ayumi headshots in team grid with grayscale match
- Narrow budget chips to $10–25k and $25–50k, drop sponsor/grant
- Remove Factory engagements stats block from differentiators section
Drops the testimonials block from the Software Factory page and deletes
the now-unused container. The page leads with capabilities, process,
engagements, sponsorship, team, and differentiators into the CTA without
relying on social proof we cannot yet substantiate at the engagement
tier.
The Software Factory discovery form posts to /api/contact, but two bugs
were swallowing inbound leads. First, postToSlack dropped the subject
field, so Software Factory inquiries were indistinguishable from generic
contact submissions in the channel. Second, the Gemini spam classifier
prompt did not recognize paid software engineering engagement requests
as relevant, so commercial briefs with budget ranges could be filtered
as marketing or sales spam. The form would return 200 with filtered
true and the page would show TRANSMITTED while the team saw nothing.

Add subject to the Slack message body when present, pass subject into
the classifier, and rewrite the prompt to call out Software Factory
inbound buyers as relevant. The key signal is direction of intent. The
sender asking VWC to do work for them is a buyer, while a sender
pitching their services to VWC is spam. Tests updated to assert the new
subject argument shape.
@jeromehardaway jeromehardaway merged commit ec54c10 into master May 18, 2026
6 checks passed
@jeromehardaway jeromehardaway deleted the feat/programs-software-factory branch May 18, 2026 03:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant