1. Technology Overview
The Infinity Steel Fixers website will be built using a modern JAMstack architecture, prioritising speed, security, and ease of maintenance. This approach is ideal for corporate/portfolio websites that don't require complex backend functionality.
Next.js on Vercel provides exceptional performance, SEO capabilities, and developer experience. It's the same technology powering major corporate sites and is well-suited for construction company websites that need to load quickly on mobile devices at job sites.
2. Technology Stack
Core Technologies
| Layer | Technology | Purpose |
|---|---|---|
| Framework | Next.js 14+ | React framework with server-side rendering and static generation |
| UI Library | React 18+ | Component-based UI development |
| Language | TypeScript | Type safety and improved developer experience |
| Styling | Tailwind CSS | Utility-first CSS framework for rapid development |
| Animation | Framer Motion | Declarative animations and transitions (Option C) |
| Hosting | Vercel | Edge deployment with global CDN |
| Forms | Resend or Formspree | Email delivery for contact form submissions |
Development Tools
- Version Control: Git with GitHub
- Package Manager: pnpm (faster, more efficient)
- Linting: ESLint with strict TypeScript rules
- Formatting: Prettier for consistent code style
- Image Optimisation: Next.js Image component with automatic WebP/AVIF
3. Site Architecture
Page Structure (Multi-Page Options)
/ # Homepage ├── /about # About page ├── /services # Services overview │ └── /services/[slug] # Individual service pages (future) ├── /projects # Project gallery │ └── /projects/[slug] # Project detail pages (Option C) └── /contact # Contact page
Component Architecture
src/ ├── app/ # Next.js App Router pages │ ├── layout.tsx # Root layout (header, footer) │ ├── page.tsx # Homepage │ ├── about/ │ ├── services/ │ ├── projects/ │ └── contact/ ├── components/ │ ├── ui/ # Reusable UI components │ │ ├── Button.tsx │ │ ├── Card.tsx │ │ └── ... │ ├── sections/ # Page sections │ │ ├── Hero.tsx │ │ ├── ServicesGrid.tsx │ │ ├── ProjectGallery.tsx │ │ └── ... │ └── layout/ # Layout components │ ├── Header.tsx │ ├── Footer.tsx │ └── Navigation.tsx ├── lib/ # Utilities and helpers ├── data/ # Static content data └── styles/ # Global styles
Content Management
For this project scope, content will be managed through:
- Static data files: JSON/TypeScript files for services and project data
- Image assets: Optimised images stored in the public folder
- Future upgrade path: Can easily integrate a headless CMS (Sanity, Contentful) if content management needs grow
4. Performance Targets
Core Web Vitals Targets
| Metric | Target | Measurement |
|---|---|---|
| LCP (Largest Contentful Paint) | < 2.5s | Time to render largest visible element |
| FID (First Input Delay) | < 100ms | Time to respond to first interaction |
| CLS (Cumulative Layout Shift) | < 0.1 | Visual stability during load |
| TTFB (Time to First Byte) | < 200ms | Server response time |
Lighthouse Score Targets
Performance Optimisations
- Static Generation: All pages pre-rendered at build time
- Image Optimisation: Automatic WebP/AVIF conversion, lazy loading, responsive sizing
- Code Splitting: Automatic per-page JavaScript bundles
- Font Optimisation: Next.js font subsetting and preloading
- Edge Caching: Vercel's global CDN for fast delivery worldwide
5. SEO Implementation
Technical SEO
- Meta tags: Dynamic title, description, and Open Graph tags per page
- Structured data: LocalBusiness schema for Google Knowledge Panel
- Sitemap: Auto-generated XML sitemap
- Robots.txt: Proper crawl directives
- Canonical URLs: Prevent duplicate content issues
LocalBusiness Schema (Example)
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Infinity Steel Fixers",
"description": "Steel fixing contractor...",
"url": "https://infinitysteelfixers.com.au",
"telephone": "0424855819",
"email": "admin@infinitysteelfixers.com.au",
"address": {
"@type": "PostalAddress",
"addressCountry": "AU"
},
"areaServed": "Australia",
"serviceType": ["Steel Fixing", "Reo Installation"]
}
On-Page SEO
- Semantic HTML structure (proper heading hierarchy)
- Alt text for all images
- Internal linking between pages
- Mobile-first responsive design
- Fast page load times
6. Form & Email Integration
Contact Form Fields
| Field | Type | Required | Notes |
|---|---|---|---|
| Name | Text | Yes | Full name |
| Company | Text | No | Builder/company name |
| Yes | Validated format | ||
| Phone | Tel | Yes | Australian format preferred |
| Project Type | Select | No | Residential, Commercial, Infrastructure, Other |
| Message | Textarea | Yes | Project details |
Form Handling
- Validation: Client-side and server-side validation
- Spam Protection: Honeypot field + rate limiting
- Email Delivery: Resend API or Formspree for reliable delivery
- Notifications: Email to admin@infinitysteelfixers.com.au
- Confirmation: On-screen success message to user
7. Deployment & Hosting
Vercel Platform
The website will be hosted on Vercel, providing:
- Global Edge Network: Fast delivery from 100+ locations
- Automatic HTTPS: SSL certificates included
- Preview Deployments: Staging URLs for every change
- Analytics: Built-in performance monitoring (Option C)
- 99.99% Uptime SLA: Enterprise-grade reliability
Deployment Process
Development
Code pushed to GitHub repository
Preview
Automatic preview deployment for review
Approval
Client reviews on staging URL
Production
Merge to main branch triggers production deploy
Domain Configuration
- Custom domain: infinitysteelfixers.com.au (or new group domain)
- www redirect to non-www (or vice versa)
- Automatic SSL certificate provisioning
- DNS configuration guidance provided
8. Security Considerations
Security Features
- HTTPS Only: All traffic encrypted via TLS
- Security Headers: CSP, X-Frame-Options, X-Content-Type-Options
- No Database: Static site eliminates SQL injection risks
- Form Validation: Server-side validation prevents injection attacks
- Rate Limiting: Protects contact form from abuse
- Dependency Auditing: Regular npm audit during development
Ongoing Maintenance
Post-launch, the following maintenance is recommended:
- Quarterly dependency updates
- Annual security review
- Regular content updates (new projects)
- Performance monitoring via Vercel Analytics