ITA International
A custom platform for a service-disabled veteran-owned federal contractor and its two sister companies: three public sites built from one shared design system, a shared CMS that lets ITA staff publish across the network, and a careers pipeline that syncs itself nightly.
Visit ita-intl.comITA International
React + Vite monorepo
Design, development, custom CMS, WordPress migration
The challenge
ITA International has supported federal and defense missions since 2006, and has grown into a network: ITA International itself, ITA Growth Partners, which backs founder-led and veteran-owned government contractors, and NanoSafe, which tests and characterizes engineered nanomaterials for industry, government, and academia. Three audiences, three brands, one organization.
The old presence was WordPress, and it showed its seams in the usual places: content that required a developer to change, three brands drifting apart visually, and a careers section that went stale the moment a role closed. A federal contractor in a competitive procurement environment cannot afford a site that reads as an afterthought.
One design system, three sites
We built the network as a monorepo. A shared design system package holds the tokens, components, and hooks; each site is its own React and Vite application that consumes it and deploys independently. That is what keeps the three brands recognizably related without making them identical: ITA International reads as mission-critical and operational, Growth Partners as a quiet, founder-facing investment practice, NanoSafe as a laboratory.
A network switcher sits in the header of all three sites and derives the current brand from the request origin at runtime, so the right tab is highlighted no matter which build lands on which domain. Analytics, transactional email, and bot protection are shared packages too: one PostHog project with events tagged per site, one Cloudflare Turnstile widget covering all three hostnames, and one place to change where a form submission is routed.
A CMS for the whole network
The centerpiece is a custom CMS we built for the network rather than for any one site. Newsroom posts, leadership and board bios, success stories, capability profiles, contract vehicles, and publications all live in one content store, and ITA staff publish to any of the three sites from a single invite-only admin.
Two decisions make it work in practice. Records carry the sites they belong to, so a leadership bio can appear on International and Growth Partners without being maintained twice. And editors are scoped per site in the database itself, not in the interface: a NanoSafe editor cannot publish to International, and the grant lives in a table the editor has no ability to write to. Unpublishing pulls a record from the public sites without destroying it.
Careers that stay current on their own
ITA recruits through iCIMS, and the previous site’s job listings were a hand-maintained copy that drifted out of date between updates. A scheduled job now pulls open roles into the platform every night, so the careers pages, role listings, and individual job detail pages reflect what is actually open without anyone touching them.
The forms underneath got the same treatment. Contact, demo request, and talent-network submissions are verified against Cloudflare Turnstile, delivered to the right inbox by topic, and, unlike the fire-and-forget emails they replaced, written to durable storage. Resumes are captured and kept rather than reduced to a filename in an email.
Moving off WordPress without losing the archive
Two decades of a federal contractor’s web presence accumulates a lot of inbound links, and none of it deserved to 404. We mapped the legacy URL structure onto the new information architecture: more than a hundred permanent redirects on the International site alone, plus the NanoSafe pages inherited from its own history, covering old newsroom archives, team pages, and capability URLs.
Accessibility built into the system
Because the three sites share one component library, accessibility work compounds instead of being redone per site. A skip link ships in the shared layout. External links get a visually hidden “opens in a new tab” cue automatically rather than depending on an author remembering. Roughly thirty source files honor reduced-motion preferences, and the moving pieces that remain, like the partner logo strip, pause on hover and expose a control. Forms announce their own validation state.
To be precise about the claim: these are the patterns we built in, and they were designed against WCAG criteria. We have not published a formal conformance audit of the three sites.