The official website for Tampa Devs, Tampa Bay's largest tech community.
- Framework: React Router v7 (SSR)
- Runtime: Cloudflare Workers
- Styling: Tailwind CSS v4
- Design System: @tampadevs/react, @tampadevs/tokens, @tampadevs/tailwind-preset
- Build Tool: Vite
- Language: TypeScript
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Deploy to Cloudflare
npm run deploytampadevs.com/
├── app/
│ ├── components/ # Reusable React components
│ ├── lib/ # Utilities, types, helpers
│ ├── routes/ # Page routes (file-based routing)
│ ├── entry.server.tsx # Server-side rendering entry
│ ├── root.tsx # Root layout component
│ ├── routes.ts # Route configuration
│ └── app.css # Global styles + Tailwind
├── workers/
│ └── app.ts # Cloudflare Worker entry point
├── public/ # Static assets
├── vite.config.ts # Vite configuration
├── react-router.config.ts # React Router SSR config
├── wrangler.jsonc # Cloudflare Workers config
└── tsconfig*.json # TypeScript configuration
| Path | Description |
|---|---|
/ |
Homepage |
/about |
About Tampa Devs |
/events |
Upcoming events |
/groups |
Tech groups in Tampa Bay |
/sponsors |
Sponsorship information |
/contact |
Contact information |
- Create a new file in
app/routes/(e.g.,new-page.tsx) - Add the route to
app/routes.ts - Export
metafunction for SEO - Export
loaderfor server-side data fetching (optional) - Export default component
import { Button, VideoHero, SponsorGrid } from "@tampadevs/react";
export default function MyPage() {
return (
<>
<Button variant="primary" href="/link">Click Me</Button>
<SponsorGrid
title="Our Sponsors"
sponsors={sponsors}
showTierHeadings
/>
</>
);
}Cloudflare Workers environment variables are accessed via the loader context:
export async function loader({ context }: Route.LoaderArgs) {
const apiKey = context.cloudflare.env.API_KEY;
// ...
}Deployments are handled via Wrangler to Cloudflare Workers:
npm run deployThe site is deployed to:
tampadevs.comwww.tampadevs.com
- api.tampa.dev - Events API and tampa.dev website
- tampadevs-design-system - Shared design system
MIT