A modern, accessible website designed to educate young voters in Washington State about Precinct Committee Officers (PCOs) and local political engagement opportunities.
This website serves as an educational resource for Washington State residents, particularly young voters (18-24), to learn about:
- What Precinct Committee Officers (PCOs) are and what they do
- How to become a PCO
- Party platform comparisons
- Finding your precinct
- Resources for civic engagement
- Young voters in Washington State
- People interested in local politics
- Anyone wanting to understand civic engagement
- Accessibility First: WCAG compliant with screen reader support
- Responsive Design: Works on all devices (mobile, tablet, desktop)
- Washington State Branding: Custom green and gold color scheme
- Interactive Elements: Typing animations, hover effects, parallax backgrounds
- Educational Content: Clear, informative explanations of PCO roles
Before you begin, make sure you have the following installed:
- Node.js (version 18 or higher) - Download here
- npm (comes with Node.js) or pnpm (recommended)
git clone https://github.com/BUVKAUSHIK/TVW-PCO.git
cd TVW-PCOnpm install
# OR if you prefer pnpm (faster):
pnpm installnpm run dev
# OR with pnpm:
pnpm devOpen http://localhost:3000 in your browser to see the website!
pco-website/
βββ app/ # Next.js pages and layouts
β βββ page.tsx # Homepage
β βββ layout.tsx # Main layout
β βββ globals.css # Global styles
β βββ what-is-pco/ # PCO information page
β βββ become-pco/ # How to become a PCO
β βββ party-platforms/ # Party platform comparisons
β βββ find-precinct/ # Precinct finder
β βββ resources/ # Educational resources
βββ components/ # Reusable UI components
β βββ ui/ # shadcn/ui components
β βββ theme-provider.tsx
βββ hooks/ # Custom React hooks
βββ lib/ # Utility functions
βββ public/ # Static assets (images, logos)
βββ styles/ # Additional styles
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
- Next.js 15 - React framework with App Router
- React 19 - Latest React version
- TypeScript - Type safety and better development experience
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Accessible UI primitives
- Custom Washington State Colors: Green and gold theme
- Inter Font - Clean, readable typography
- Responsive Design - Mobile-first approach
- Accessibility - WCAG 2.1 AA compliant
- Lucide React - Beautiful icons
- React Hook Form - Form handling
- Zod - Schema validation
- Sonner - Toast notifications
- Hero section with typing animation
- Statistics about young voter engagement
- Quick navigation cards
- Washington State map background
- Detailed explanation of PCO roles
- Responsibilities and duties
- Community impact examples
- Democratic and Republican platform comparisons
- Key issue positions
- Non-partisan educational content
- Step-by-step guide to becoming a PCO
- Requirements and qualifications
- Application process
- Interactive precinct locator
- PCO vacancy information
- Contact details
- Educational materials
- FAQ section
- Additional links and references
- Screen Reader Support: ARIA labels and semantic HTML
- Keyboard Navigation: Full keyboard accessibility
- High Contrast Mode: Support for high contrast preferences
- Reduced Motion: Respects user motion preferences
- Skip Navigation: Quick access to main content
- Focus Management: Proper focus indicators
- Use TypeScript for type safety
- Follow ESLint rules
- Use Tailwind CSS for styling
- Implement accessibility best practices
- Use functional components with hooks
- Implement proper error boundaries
- Follow React best practices
- Use semantic HTML elements
- Optimize images and assets
- Implement lazy loading
- Use Next.js optimization features
- Minimize bundle size
- Connect your GitHub repository to Vercel
- Vercel will automatically detect Next.js
- Deploy with one click
- Build the project:
npm run build - Deploy the
outfolder to Netlify
- Build:
npm run build - Start:
npm run start - Deploy to your preferred hosting service
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Commit:
git commit -m 'Add feature' - Push:
git push origin feature-name - Submit a pull request
This project is for educational purposes and civic engagement in Washington State.
If you have questions or need help:
- Check the FAQ section on the website
- Review the resources page
- Contact local party organizations
- Washington State Democratic Party
- Washington State Republican Party
- Local civic engagement organizations
- Accessibility advocates and testers
Built with β€οΈ for Washington State voters
Empowering young voters to understand and engage with local politics through accessible education about Precinct Committee Officer roles.