Freelance
Council of Support for Polish Studies for the University of Toronto
Modernizing the organization's website in a day and age where online presence is mandatory.
Related
Read the full write-up →Overview
Council for Support of Polish Studies is a bilingual website and content workflow for the University of Toronto backed group that funds Polish language, literature, and community programming. I built the public-facing Next.js application and the connected Sanity Studio setup that lets staff manage professors, courses, events, news, donors, and gallery content without code changes.
What I Built
- The responsive Next.js site architecture, including page templates and listing/detail flows for professors, courses, events, news, supporters, gallery content, and council members.
- The Sanity schemas and desk structure that organize all editorial content into maintainable document types.
- The contact workflow, validation layer, email template/send pipeline, and shared SEO utilities for metadata, localized canonicals, and sitemap generation.
How It Works
- The frontend is a Next.js 15 App Router build with localized English and Polish routes via
next-intl, server-rendered pages, and dynamic detail views for professors, events, and news sourced from Sanity with GROQ queries. - A separate Sanity Studio defines the document schemas and editorial structure for faculty profiles, course listings, council members, donor records, event entries, news articles, and image galleries.
- Contact requests are validated with
react-hook-formand Zod, then handled by a server action that sends formatted emails through Resend; SEO metadata, canonical URLs,hreflangalternates, and the sitemap are generated centrally.
Technical Highlights
- Internationalization with localized routing: I implemented English and Polish route variants with
next-intl, including localized slugs and navigation flows so users can move through the full site experience in either language. - SEO architecture for multilingual content: Canonical URLs,
hreflangalternates, metadata helpers, and sitemap generation are centralized so localized pages remain indexable and avoid duplicate-content conflicts. - CMS-driven publishing workflow: Sanity Studio schemas and desk structure let non-technical editors manage professors, courses, events, news, donors, and galleries through structured content models instead of code edits.
- Responsive design across content-heavy pages: Page templates and listing/detail layouts were built mobile-first so long-form academic content, image galleries, and navigation remain readable and usable from phone to desktop.