An entertainment website where famous authors review power tools - when literature meets hardware.
Current Phase: Phase 1 - Technical Setup (β Complete) Next Phase: Content Integration from Streams 1 & 2
This Astro v5 project provides the technical foundation for the Power Tools Reviews website. The site will feature reviews written by 12 famous authors covering 20 popular Home Depot tools, generating 240 unique review combinations.
- π¨ Enhanced floating wall of cards UI
- π 12 literary authors with distinctive writing styles
- π§ 20 power tools from Home Depot
- π 240 pre-generated reviews (12 Γ 20)
- π± Mobile-first responsive design
- β‘ Lightning-fast static site generation
- Framework: Astro v5.10+ with React islands
- Styling: Tailwind CSS v4 + custom CSS
- TypeScript: Strict configuration with ES2022
- Package Manager: pnpm v10.12.4
- Deployment: Vercel (configured)
- Code Quality: ESLint v9 + Prettier
power-tools-reviews/
βββ .github/workflows/ # CI/CD configuration
βββ .vscode/ # VS Code settings
βββ public/ # Static assets
β βββ images/
β β βββ authors/ # Author portraits (Stream 1)
β β βββ tools/ # Tool images (Stream 2)
βββ src/
β βββ components/ # React + Astro components
β β βββ FloatingCard.tsx # Individual card component
β β βββ CardWall.astro # Main wall container
β β βββ FilterControls.tsx # Filtering UI
β βββ content/ # Content collections
β β βββ authors/ # Author data (Stream 1)
β β βββ tools/ # Tool data (Stream 2)
β β βββ reviews/ # Generated reviews (Phase 2)
β βββ layouts/
β β βββ ReviewLayout.astro # Main layout
β βββ pages/ # Route pages
β β βββ index.astro # Floating wall homepage
β β βββ [author].astro # Author detail pages
β β βββ [tool].astro # Tool detail pages
β β βββ review/[slug].astro # Individual reviews
β βββ styles/ # Global styles
β βββ utils/ # Helper functions
βββ astro.config.mjs # Astro configuration
βββ package.json # Dependencies
βββ tailwind.config.mjs # Tailwind configuration
βββ tsconfig.json # TypeScript configuration
βββ eslint.config.js # ESLint configuration
βββ prettier.config.js # Prettier configuration
{
name: string;
slug: string;
lifespan: string;
nationality: string;
primaryWorks: string[];
styleKeywords: string[];
literaryMovement: string;
portrait: {
filename: string;
source: string;
license: string;
};
styleAnalysis: {
summary: string;
detailed: string;
vocabulary: string;
sentenceStructure: string;
themes: string[];
quirks: string[];
};
}{
name: string;
slug: string;
brand: string;
category: string;
subcategory?: string;
homeDepotSku: string;
homeDepotUrl: string;
image: {
filename: string;
originalUrl: string;
license: string;
};
specifications: {
power: string;
weight: string;
dimensions: string;
keyFeatures: string[];
batteryLife?: string;
cordless: boolean;
};
pricing: {
currentPrice: number;
msrp?: number;
onSale: boolean;
};
popularity: {
reviewCount: number;
averageRating: number;
homeDepotRank?: number;
};
}{
authorId: string;
toolId: string;
featured: boolean;
mood: "humorous" | "dramatic" | "technical" | "philosophical";
tone: "formal" | "casual" | "satirical" | "earnest";
readingTime: number;
shareCount: number;
dateCreated: string;
lastUpdated: string;
}# Install dependencies
pnpm install
# Start development server
pnpm dev
# Type check
pnpm type-check
# Lint code
pnpm lint
# Format code
pnpm format
# Build for production
pnpm build
# Preview production build
pnpm previewExpected Deliverable: authors-research-package.zip
- Place author JSON files in
src/content/authors/ - Place author portraits in
public/images/authors/ - Ensure data matches the Authors Collection schema
Expected Deliverable: tools-research-package.zip
- Place tool JSON files in
src/content/tools/ - Place tool images in
public/images/tools/ - Ensure data matches the Tools Collection schema
- Complete Astro v5 project structure
- All dependencies at latest versions (June 2025)
- Content collections configured for author/tool integration
- Component structure ready for floating wall implementation
- ESLint + Prettier configured and working
- TypeScript strict configuration
- Vercel deployment configuration ready
- Dynamic pages configured but awaiting content
- Component skeletons ready for Phase 3 implementation
- Content collections schema validated
- Image directories prepared for assets
- Phase 2: Content generation using LLM with author styles and tool data
- Phase 3: Enhanced floating wall UI implementation
- Phase 4: Social sharing, filtering, and search functionality
- β Project builds successfully without errors
- β Content collections validate against TypeScript schemas
- β All configuration files properly set up
- β Development environment fully functional
- β Ready for immediate content integration
After receiving data from Streams 1 & 2:
-
Validate Data Integrity:
pnpm type-check
-
Test Content Loading:
pnpm dev # Navigate to localhost:4321 to test content collections -
Verify Build Process:
pnpm build
- Await Stream 1 & 2 Completion: Author research and tool collection
- Integrate Content: Place data files in appropriate content directories
- Generate Reviews: Use LLM to create 240 review combinations
- Implement Enhanced UI: Build the floating wall interface
- Deploy: Push to Vercel for live preview
For technical questions or integration issues, contact the project coordinator immediately.
Status: β Technical Setup Complete - Ready for Content Integration