Skip to content

tech-tankorg/techtank-next

Repository files navigation

TechTank TO β€” Website Redesign

A Next.js (App Router) implementation of techtankto.com, Toronto's volunteer-run tech community website. The redesign moves away from a flat "link-tree" layout toward a conversion-oriented onboarding hub that funnels visitors into specific roles β€” attendee, speaker, host, sponsor, or volunteer.

Specs live in prd/; application code lives in app/. The initial UI scaffold was generated from the PRD via v0 β€” original prompt and generation.

Stack

Getting started

Requirements: Node.js 20+ and pnpm 10.

pnpm install
pnpm dev

Then open http://localhost:3000.

Scripts

Command What it does
pnpm dev Start the dev server with Turbopack
pnpm build Production build
pnpm start Serve the production build
pnpm lint Run Next.js' linter

Project structure

The tree below doubles as a route map β€” each directory under app/ is a route, annotated with its purpose.

.
β”œβ”€β”€ app/                            # Next.js App Router routes
β”‚   β”œβ”€β”€ layout.tsx                  # Root layout (header, footer, fonts, SEO)
β”‚   β”œβ”€β”€ page.tsx                    # /                    Social-proof-driven home
β”‚   β”œβ”€β”€ about/                      # /about               Values & community manifesto
β”‚   β”œβ”€β”€ events/                     # /events              Upcoming (Luma) + past event timeline
β”‚   β”œβ”€β”€ get-involved/               # /get-involved        Onboarding hub (shared layout)
β”‚   β”‚   β”œβ”€β”€ speaker/                #   /speaker           Speaker intake
β”‚   β”‚   β”œβ”€β”€ host/                   #   /host              Host intake
β”‚   β”‚   β”œβ”€β”€ sponsor/                #   /sponsor           Sponsor intake
β”‚   β”‚   └── volunteer/              #   /volunteer         Volunteer intake
β”‚   β”œβ”€β”€ legal/                      # /legal               Legal documents (shared layout)
β”‚   β”‚   β”œβ”€β”€ terms-of-service/       #   /terms-of-service
β”‚   β”‚   β”œβ”€β”€ privacy-policy/         #   /privacy-policy
β”‚   β”‚   └── code-of-conduct/        #   /code-of-conduct
β”‚   β”œβ”€β”€ resources/                  # /resources
β”‚   β”‚   β”œβ”€β”€ media-kit/              #   /resources/media-kit     Brand assets + fast facts
β”‚   β”‚   └── design-system/          #   /resources/design-system  Brand guidelines β€” design tokens & component reference
β”‚   └── globals.css
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ layout/                     # Header, Footer
β”‚   └── ui/                         # Reusable UI (buttons, cards, sections, etc.)
β”œβ”€β”€ constants/                      # Structured data (events, sponsors, social links)
β”œβ”€β”€ prd/                            # Product requirements documents (specs)
β”œβ”€β”€ public/                         # Static assets (images, downloads, social media dumps)
β”œβ”€β”€ next.config.ts
β”œβ”€β”€ vercel.json                     # Vercel deployment config (noindex header)
└── tsconfig.json

See prd/PRD.md for the full route map, shared-layout conventions, and per-page content requirements.

Deployment

The site deploys to Vercel. Search engine indexing is disabled via an X-Robots-Tag: noindex header in vercel.json β€” remove that header before launching to production.

Contributing

See CONTRIBUTING.md for contribution guidelines.

  1. Read prd/PRD.md before making structural changes β€” it defines the Info Architecture, brand, and content conventions.
    • AI agents only: also read CLAUDE.md for agent-specific working conventions and constraints.
  2. When adding or renaming a route, update both the route table in prd/PRD.md Β§2.1 and the corresponding spec in prd/pages/.
  3. Keep one dominant CTA per page. Role pages under /get-involved/* must end in an intake action (email us).

License

MIT β€” see the file for details.

About

🐠 TechTank Toronto - Modern Website Redesign

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors