A review of today's public site and member touchpoints, a target architecture for membership, renewals, notifications, yield & harvest contests and publications, and a phased plan that works around the contest season.
Based on a walkthrough of ncga.com and its public contest pages. The internal membership application itself was not accessible for this review, so findings about it are listed as items to confirm in Discovery.
Members jump between several systems: the marketing site, an "Inside NCGA" link that opens an external file-sharing login, the Action Center on a separate advocacy-platform subdomain, and the photo contest on its own domain. No single sign-on or member dashboard ties them together.
The site offers "Join NCGA" and "Membership Perks" pages, but there is no member portal for renewals, payment history, or profile updates. The contest FAQ tells growers to phone or email the office to get a membership number before they can enter.
The Yield Contest runs entry, harvest forms, supervisor verification, rechecks, seed-company vouchers and state/national results. Harvest forms are keyed by membership number, and results are published as separate reports and interactive views each year.
| Area | Observation | Impact | Severity |
|---|---|---|---|
| Platform | Public site runs on Webflow, managed through an agency CMS layer, with assets on a CloudFront CDN. | Good for marketing pages; not a fit for transactional member data, so the member app sits elsewhere on an older stack. | Medium |
| Identity | Separate logins for the member area, contest entry, advocacy tools and photo contest. | Password fatigue, duplicate records, support calls. | High |
| Membership | No renewal, auto-renew, receipt history or profile self-service visible to members. | Renewals depend on staff and mailings; lapsed members are hard to win back. | High |
| Contests | Entry fees change by window (early / final / harvest), vouchers from many seed brands, recheck thresholds, one state + one national award per membership. | Complex rules likely hard-coded in the legacy app; each season needs developer changes. | High |
| Navigation | Header, footer and body repeat the same links; several "Learn More" / "Sign Up" links share text but go to different places. | Crowded pages, weaker screen-reader experience. | Medium |
| Content freshness | Some homepage blocks (e.g. trade updates) are a year older than surrounding news. | Erodes trust; no content-expiry workflow. | Low |
| Events | No events calendar; only an external link to Commodity Classic. | Missed engagement and registration revenue. | Medium |
| Data & reporting | Contest results published as yearly PDFs/reports; no member-facing history. | Growers cannot see their own multi-year performance; staff compile reports manually. | Medium |
One member account, one data model, and a set of modules that share it. Each module is a bounded area in the codebase so teams can work on them in parallel.
TypeScript end to end, so one team can work across front end and back end, and Claude Code works in a single, well-typed codebase. The site already uses CloudFront, so AWS is the natural home; Azure equivalents (App Service, Azure SQL for PostgreSQL, Entra External ID) work just as well if that is the organization's standard.
Claude Code works directly in the repository and terminal: it reads the legacy code, writes and runs tests, and proposes changes that engineers review. The biggest gains are in the parts of a modernization that are usually slow and manual.
Map modules, database tables, stored procedures and hidden business rules (fee windows, eligibility, award limits) into written specs.
Generate characterization tests against the old system so the new one is proven to calculate fees, eligibility and results the same way.
Scaffold services, APIs, UI screens and migrations from the agreed specs, following conventions in a shared CLAUDE.md.
Write and dry-run extract-transform-load scripts, de-duplicate members, and produce reconciliation reports for every run.
Second-pass reviews for security, accessibility and performance; fix findings and keep docs current on every pull request.
What changes for members, staff and the organization.
Faster joining and renewal, mobile-friendly contest entry, control over which messages they get and how.
Fewer manual renewals and data fixes, self-service configuration, one place to see a member's full history.
MFA, role-based access, audit trails, card data handled by the payment provider, regular automated patching.
Better retention through auto-renew, live dashboards on membership and contest revenue, lower long-run maintenance cost.
The team that built the current application is doing the revamp, so Discovery takes 2 weeks and phases overlap. Four releases take the whole programme from mid-November 2026 to mid-June 2027. The contest module goes live in April, before the 2027 entry window opens on May 1, so no season is switched mid-way.
| Role | Count |
|---|---|
| Product owner (NCGA) | 1 |
| Delivery / project manager | 1 |
| Solution architect | 1 |
| Full-stack engineers (with Claude Code) | 5 |
| QA / test automation engineer | 1 |
| UX / UI designer | 1 (heaviest Nov – Feb) |
| DevOps / cloud engineer | 0.5 |
| Data migration specialist | 0.5 (Nov – Feb, Apr) |
| Risk | Mitigation |
|---|---|
| Hidden business rules in legacy code | Team's own knowledge plus characterization tests before rebuilding anything |
| Disrupting the contest season | Contest goes live before entries open; full 2026 season replayed first; legacy on standby until June |
| Compressed schedule | Scope frozen per release, feature flags, overlapping phases run by separate pairs of engineers |
| Duplicate or dirty member records | De-duplication rules agreed in Discovery; repeated migration rehearsals |
| State-affiliate integrations | Inventory every feed early; keep file formats stable during transition |
| Member adoption | Guided first login, phone support at launch, staged email rollout |
| AI-generated code quality | Mandatory review, CI gates, security and accessibility scans |
Connect Claude Code to the legacy repository and a masked database copy before kickoff, so specs can be generated on day one.
Rebuild online renewal end to end during the 2 discovery weeks. This proves the stack and measures the real Claude Code speed-up.
Kick off Discovery on November 16, 2026, and lock release scope and team on November 27 based on the pilot results.