Palette
← Back to projects
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.

TypeScript logo
Next.js logo
Tailwind logo
Sanity logo
Resend logo
i18n logo

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-form and Zod, then handled by a server action that sends formatted emails through Resend; SEO metadata, canonical URLs, hreflang alternates, 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, hreflang alternates, 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.
← Back to projects