Internal Reference Document
Cutler & Co Architects — Website Specification
Generated: June 2026 · Version 1.0
1. Project Overview
| Business Name | Cutler & Co Architects |
| Website Type | Professional Architecture Practice — Marketing & Lead Generation |
| Primary Audience | Homeowners, Property Developers, Builders |
| Platform | Base44 (React + Tailwind CSS + Vite) |
| Framework | React 18, React Router DOM v7, Framer Motion, TanStack Query |
| Deployed As | Public web application (no login required for visitors) |
| Admin Access | Base44 dashboard — authenticated users only |
| Contact | Admin@cutlerco.com.au | 07 5598 1655 |
| Address | 1/7 Traders Way, Currumbin Waters QLD 4223 |
| https://www.instagram.com/cutlerco_architects/ | |
| https://www.facebook.com/CutlerandCoArchitects/ | |
| Calendly | https://calendly.com/vicky-cutlerco/call |
| Founder | Vicky Cutler — Registered Architect, 20+ Years Experience |
2. Website Structure — All Pages
Primary Navigation Pages (in nav)
| Home | / (main landing page) |
| About | /About |
| Portfolio | /Portfolio |
| Services | /Services |
| Testimonials | /Testimonials |
| Contact | /Contact |
| FAQ | /FAQ |
Secondary Pages (not in main nav)
| Amandaria Project | /amandaria and /portfolio/amandaria |
| Portfolio Case Study (template) | /Portfolio/:projectId |
| Homeowner Journey (questionnaire) | /HomeownerJourney |
| Homeowners | /Homeowners |
| Developers | /Developers |
| Builders | /Builders |
| New Build / Full Architectural Package | /NewBuildPackage |
| Concept Design Package | /ConceptDesignPackage |
| Drawings Only redirect | /DrawingsOnly |
| Consult Success (post-booking) | /ConsultSuccess |
| Payment Confirmed (post-Stripe) | /PaymentConfirmed |
Routing Notes
- •App.jsx is the single source of truth for all routes.
- •All pages are wrapped in the shared Layout component (navbar + footer), except where explicitly excluded.
- •pages.config.js registers auto-discovered pages. Manual routes for Amandaria, Builders, FAQ, ConsultSuccess, PaymentConfirmed, ProjectCaseStudy are defined directly in App.jsx.
- •The pagesConfig loop in App.jsx only covers auto-registered pages. New pages must be added as explicit <Route> elements.
- •Main page is controlled by mainPage: 'Home' in pages.config.js.
4. Design System
Colour Palette
| Primary Brown (dark) | #3D2E22 — backgrounds, text, buttons |
| Secondary Brown | #6B5547 — body text, hover states |
| Beige Light | #F5F1E8 — primary page background |
| Beige Dark | #EAE4D6 — card backgrounds, alternate sections |
| Beige Mid | #D4C9B0 — borders, dividers |
| Accent Gold | #B8A082 — labels, borders, icons, highlights |
| White/Off-white | #FFFFFF / white — service cards, site plan bg |
| Dark overlay | #0D0805, #1A0F0A — hero image overlays |
Typography
| Primary serif (headings) | font-serif — system serif stack |
| Body text | System sans-serif (default browser) |
| Heading sizes | text-7xl / text-9xl (hero) → text-5xl/6xl (page h1) → text-4xl/5xl (section h2) → text-2xl/3xl (h3) |
| Label/eyebrow style | text-xs uppercase tracking-[0.4em] text-[#B8A082] |
| Nav links | text-sm uppercase tracking-widest |
| Body text size | text-sm to text-base, leading-relaxed / leading-[1.9] |
Spacing & Layout
- •Max content width: max-w-7xl (main) / max-w-5xl (forms, services) / max-w-4xl (text-focused sections)
- •Horizontal padding: px-6 lg:px-12
- •Section padding: py-24 lg:py-32 (standard) / py-32 (hero/CTA sections)
- •Grid gaps: gap-8 lg:gap-12 (standard) / gap-16 lg:gap-24 (feature sections)
Button Styles
| Primary CTA (dark) | bg-[#3D2E22] text-[#F5F1E8], hover bg-[#6B5547], px-8-10 py-4-5, text-sm uppercase tracking-widest, no border radius (rounded-none) |
| Primary CTA (gold) | bg-[#B8A082] text-[#3D2E22], hover bg-[#F5F1E8] or bg-[#B89858] |
| Outline button | border border-[#3D2E22] text-[#3D2E22], hover bg-[#3D2E22] text-[#F5F1E8] |
| Ghost/text link | text + ArrowRight icon, border-b border-[#B8A082] on hover |
| Filter buttons (Portfolio) | bg-white/60 → bg-[#3D2E22] text-[#F5F1E8] when active |
| Nav CTA | border border-[#3D2E22], px-4 py-2, hover fills bg |
Card & Section Styles
| Service card (Services page) | border border-[#EAE4D6] bg-white, accordion expand on click, icon in gold circle border |
| Audience card (Home) | bg-[#EAE4D6] p-10, icon + serif heading + body + underline CTA link |
| Info card (Contact) | bg-[#EAE4D6] p-6 text-center, gold icon |
| Value card (About) | flex gap-6, gold-bordered icon box, serif heading |
| Testimonial card | bg-[#EAE4D6] p-8 lg:p-10, grid with video + details |
| Portfolio card | aspect-[4/5] image, hover gradient overlay + 'View Case Study', text below |
| Trust bar | bg-[#3D2E22], stat + label pairs in flex row |
| CTA section | bg-[#3D2E22] or bg-[#F5F1E8], centred text, serif heading, body, gold CTA button |
Animations
- •Framer Motion used throughout for scroll-triggered entrance animations
- •Standard pattern: initial={{ opacity: 0, y: 20/30 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }}
- •Hero animations: animate (not whileInView), with staggered delays 0.1–0.4s
- •Image hover: scale-105 over 700ms
- •Hero image: subtle scale-in on load (1.04 → 1.0 over 1.6s)
- •Page transitions: Framer AnimatePresence on questionnaire steps and portfolio filter changes
- •Accordion: height 0 → auto with opacity fade
5. Page-by-Page Specification
Home Page (/)
- •Section 1 — Hero: Full-screen (min-h-screen), background photo of project, brown/70 overlay. Eyebrow 'Strategists', H1 'Architectural Strategists for Profitable Projects', subheadline, two CTA buttons (Book Discovery Call → /Contact, Explore Our Process → /Services). Scroll cue ChevronDown bounce animation.
- •Section 2 — Trust Bar: Dark brown bg. Stats: '20+ Years Experience', 'Registered Architects', 'End-to-End Project Delivery'.
- •Section 3 — Who We Work With: bg-[#EAE4D6], 3-column grid. Homeowners → /HomeownerJourney, Developers → /Developers, Builders → /Builders. Each card: icon, title, description, underline CTA link.
- •Section 4 — Featured Project (Amandaria): FeaturedProject component. Header row, full 80vh hero image block linking to /portfolio/amandaria, 2-column sub-image strip, stats bar (dark brown).
- •Section 5 — Brand Video: BrandVideoSection component. Heading + Google Drive embedded video.
- •Section 6 — The Method: StickyProcessTimeline component. 6-stage sticky scroll timeline (desktop) / accordion (mobile).
- •Section 7 — Why Cutler & Co: Dark brown bg. 3 differentiators: Risk Reduction, Investment Protection, Informed Decisions.
- •Section 8 — Final CTA: 'Ready to make better decisions about your project?' → Book a Discovery Call → /Contact.
About (/About)
- •Section 1 — Hero: 2-column grid. Left: eyebrow, H1 'Cutler & Co Architects', 4 body paragraphs, 'Book a Discovery Call' CTA. Right: firm photo.
- •Section 2 — Credentials Bar: Dark brown bg. 4 items: Founded, Experience, Specialisation, Location.
- •Section 3 — Founder: 2-column. Left: eyebrow 'Founder', H2 'Vicky Cutler', italic quote + 2 body paragraphs. Right: Vicky Cutler portrait photo.
- •Section 4 — Values (bg-[#EAE4D6]): 4 values in 2-column grid. Each: icon in gold-bordered box + title + description. Values: Strategy Before Design, Investment Thinking, Honest Advice, Local Knowledge.
- •Section 5 — CTA (dark brown): 'Let's talk about your project.' → Book a Discovery Call.
Portfolio (/Portfolio)
- •Section 1 — Hero: Centred. Eyebrow 'Our Work', H1 'Portfolio', tagline.
- •Section 2 — Category Filters: 4 buttons: All Projects (11), Completed (6), Under Construction (2), Upcoming (3).
- •Section 3 — Projects Grid: 3-column responsive grid. Each card: aspect-[4/5] image, hover overlay with 'View Case Study', status badge (top right), title, location, summary, up to 2 outcomes. Click → /Portfolio/:projectId.
- •Section 4 — CTA: 'Ready to Create Something Exceptional?' → Start Your Project → /Contact.
- •11 projects total: Archer Street, Worongary, Main Ridge, Red Hill South, Elwood, Malvern (all Completed), Currumbin Waters, Palm Beach Estate (Under Construction), Byron Bay, Noosa Heads, Surfers Paradise Tower (Upcoming).
Services (/Services)
- •Section 1 — Hero: 'What We Offer', H1 'Our Services', description.
- •Section 2 — Project Journey bar: horizontal clickable stage navigator for first 6 services.
- •Section 3 — Services Accordion: 10 services, each expandable: What's Included, Key Deliverables, Typical Suitability, Client Benefits.
- •Services: Strategy & Feasibility, Pre-Design, Concept Design, Design Development, Development Approval (DA), Construction Documentation, Consultant Coordination, Construction Support, Interior Design, Project Advisory.
- •Section 4 — Why Choose Us (dark brown): 3 points: 20+ Years, Strategic Approach, Client-Centred.
Testimonials (/Testimonials)
- •Hero: H1 'Client Testimonials', subheadline.
- •Grid: alternating left/right video + details panels. Video placeholder shown when videoUrl empty.
- •Currently 1 populated testimonial: Clarissa and Silvan, Currumbin Waters, Internal House Renovation.
- •9 placeholder slots ready for future video testimonials.
- •Each entry: client name, location, project, services provided.
Contact (/Contact)
- •Hero: H1 'Get In Touch', subheadline.
- •Info cards (3): Visit Us (by appointment), Call Us, Email Us.
- •Contact form: Name*, Email*, Phone, Project Type, Message*. On submit → sendEmail backend function → Admin@cutlerco.com.au. Success toast message shown for 5s.
FAQ (/FAQ)
- •Hero: Eyebrow 'Support', H1 'Frequently Asked Questions'.
- •9 FAQ categories, accordion items per category.
- •Categories: Getting Started, Design & Drawings, Timeframes & Scheduling, Fees & Payments, Project Progress & Payments, Approvals & Consultants, Communication & Project Management, Construction, Project Changes & Pausing, Why Work With an Architect?, Final Questions.
- •~35 total Q&A items. Each item: serif question, animated height expand, body answer (some with nested lists).
Homeowner Journey (/HomeownerJourney)
- •Full-screen questionnaire flow. Back button → /Home.
- •One step: 'What are you looking for?' with 2 cards:
- •A. 'I just need plans drawn up' → /DrawingsOnly
- •B. 'I want to maximise my home's potential' → /NewBuildPackage
- •AnimatePresence transitions between steps.
Drawings Only (/DrawingsOnly)
- •Explains the firm doesn't offer basic drafting-only services.
- •Presents Concept Design Package as alternative.
- •Features checklist of what Concept Design includes.
- •CTA: 'See the Concept Design Package' → /ConceptDesignPackage.
- •Closing: recommends a draftsperson if they strictly want drawings only.
New Build / Full Architectural Services (/NewBuildPackage)
- •Positioned as full-service architectural engagement.
- •Two-column grid: 'This is for you' / 'This is not for you' checklists.
- •'How We Work' process list.
- •CTA: 'Enquire About Your Project' → opens LeadCaptureModal.
- •selectedPackage: { title: 'Full Architectural Services' }
Concept Design Package (/ConceptDesignPackage)
- •Package card: dark brown bg, features list (1hr meeting, up to 3 concept floor plan options, 1hr presentation, high-level cost guidance). Turnaround: 2–3 weeks.
- •Note: CAD files assumed available; site measure $1,000+GST if not.
- •CTA: 'Enquire Now' → LeadCaptureModal.
- •selectedPackage: { title: 'Concept Design Package' }
Homeowners (/Homeowners)
- •Dark brown hero with H1 'Services for Homeowners'.
- •3 service cards: Custom Home Design, Renovations & Extensions, Interior Design.
- •Portfolio preview CTA → /Portfolio.
- •Service packages CTA → /Services.
- •Final CTA (dark brown) → /Contact.
Developers (/Developers)
- •Hero: 'For Developers', H1 'Services for Developers'.
- •3 service cards: Commercial Design, Development Consulting, Feasibility Studies.
- •2-column 'Your Development Partner' section with benefits list.
- •Portfolio CTA → /Portfolio.
- •Final CTA → /Contact.
Builders (/Builders)
- •Marketing page for construction professionals.
- •Value propositions, service workflow, lead-capture modal.
- •Email submission via base44.functions.invoke('sendEmail').
Consult Success (/ConsultSuccess)
- •Post-Calendly booking confirmation page.
- •Retrieves form data from sessionStorage.
- •Triggers Stripe checkout via createCheckout backend function.
- •Consultation fee: $350 + GST = $385 AUD total.
- •Redirects to Stripe checkout URL.
Payment Confirmed (/PaymentConfirmed)
- •Post-Stripe payment success page.
- •Animated checkmark, confirmation message.
- •CTA: Return to homepage.
6. Portfolio System
Portfolio Data Structure (pages/Portfolio.jsx)
- •Each project object: id, title, type, location, category (completed/under-construction/upcoming), image (primary), summary, outcomes (array), brief, challenge, solution, outcome, images (array).
- •11 projects in static data array.
- •Categories: completed (6), under-construction (2), upcoming (3).
Project Case Study Template (/Portfolio/:projectId)
- •Reads :projectId from URL, looks up project from hardcoded data.
- •Sections: hero image, project overview table, brief/challenge/solution, outcomes, image gallery.
- •Back link to /Portfolio.
Featured Project (Home Page)
- •Component: components/FeaturedProject.jsx
- •Shows Amandaria as flagship case study.
- •80vh hero image, subtitle, 'View Project' CTA button.
- •2-column sub-image strip (pool terrace + restaurant images).
- •Stats strip (dark brown): Project Value $4.6M, On Budget, 26 Months, 820m², 4.2 Hectares.
- •All links → /portfolio/amandaria
7. Amandaria Showcase Page
Routes
Accessible at both /amandaria and /portfolio/amandaria. Both routes render the same component without double-wrapping the Layout.
Image Assets (21 photographs)
All images hosted at media.base44.com/images/public/69fa6cf3b8e8f638d3419eac/
- •hero1 — main hero (pool + pavilion structure)
- •hero2 — aerial/wide shot of retreat
- •poolSunset — infinity pool at golden hour
- •poolAerial — cascading pool levels
- •villa1, villa2 — guest villa exteriors
- •pavilion1, pavilion2 — bamboo pavilion and elevated walkway
- •restaurant1, restaurant2 — restaurant pavilion interior/exterior
- •bedroom — master suite
- •bathroom — outdoor bathroom
- •tower — sky tower
- •lounge — open lounge pavilion
- •poolDeck — private pool deck
- •interiorSuite — suite interior (sculptural ceiling)
- •lobby1, lobby2 — arrival lobby
- •spa1 — rain curtain chamber
- •spa2 — spa entry
- •sitePlan — architectural site plan 1:1500
Page Sections (in order)
| 1. Hero | Full screen (h-screen). Background hero1. Gradient overlay. Back link to /Portfolio (top left). Large serif title 'Amandaria' (text-[11rem]). Subtitle italic. 4 metadata tags. |
| 2. Intro Statement | bg-[#3D2E22]. Centred italic serif quote. |
| 3. Project Overview | 2-column: left = project data table (9 rows), right = image grid (hero2 + villa1 + villa2) + 2-paragraph description. |
| 4. Full Bleed Image | 70-100vh. poolSunset image. Gradient overlay. Caption bottom-left. |
| 5. Design Narrative | bg-[#EAE4D6]. 2-col header (heading + text), 2-row image collage (pavilions + restaurant), 2-col body text. |
| 6. Site Planning & Masterplan | bg-[#F5F1E8]. NEW SECTION (SitePlanSection component). 2-col: sticky text left (heading + 3 paras + 4-row spec table), site plan image right (clickable lightbox). |
| 7. Gallery Grid | 16-image interactive gallery in 5 rows. Clicking any image opens Lightbox with prev/next navigation and dot indicators. |
| 8. Full Bleed Spa | 60-80vh. spa1 image. Left-side text overlay: 'Carved from the hillside.' paragraph. |
| 9. Design Highlights | bg-[#F5F1E8]. 6 cards in 3-column grid (numbered 01–06): Architectural Design, Interior Experience, Material Selection, Site Response, Sustainability, Construction Outcomes. |
| 10. Final Image Pair | 2-column: tower + spa2 at 50-65vh each. |
| 11. CTA | bg-[#3D2E22]. 'Every exceptional project begins with a conversation.' Two buttons: Book a Consultation → /Contact, View All Projects → /Portfolio. |
| Lightbox | Fixed overlay. Prev/next arrows, X close, dot progress bar, caption. |
Site Planning Section Component (components/amandaria/SitePlanSection.jsx)
- •Site plan URL: https://media.base44.com/images/public/69fa6cf3b8e8f638d3419eac/1b29fd73d_image.png
- •Left column (340px sticky): heading, 3 body paragraphs, 4-row spec table (Scale 1:1500, Site Area 4.2 Hectares, Key Structures 7 Pavilions, Circulation Raised Timber Walkways).
- •Right column: site plan image in white-bg card with shadow. Hover shows 'View Full Screen' overlay with ZoomIn icon.
- •Click opens SitePlanLightbox: black/95 fullscreen overlay, max-w-7xl image, close button, caption.
Gallery Configuration
- •galleryImages array: 16 images with captions.
- •Row 1: 3 equal squares (indices 0,1,2).
- •Row 2: 1 wide (col-span-2) + 1 normal, aspect-[16/7].
- •Row 3: 4 equal squares (indices 5–8).
- •Row 4: 3 x aspect-[4/3] (indices 9–11).
- •Row 5: 1 + 2 x aspect-[4/3] (indices 12–14).
- •Note: galleryImages[15] = spa2 (index 15) is in gallery; spa1 is used for the full-bleed spa section.
8. Key Components
Layout (Layout.jsx)
- •Shared wrapper for all pages.
- •Renders: sticky navbar, BookConsultModal, main content (pt-24), footer.
- •Manages: scroll state (scrolled), mobile menu open state, consult modal open state.
- •Social links in footer: Instagram + Facebook.
BookConsultModal (components/BookConsultModal.jsx)
- •Shadcn Dialog component.
- •Form fields: Full Name*, Email*, Phone, Project Location, Project Type (select), Budget Range (select), Brief Description.
- •On submit: saves form to sessionStorage as 'consultForm', redirects to Calendly with name+email prefilled.
- •Calendly URL: https://calendly.com/vicky-cutlerco/call
- •Consultation fee note: $350 + GST ($385 total).
StickyProcessTimeline (components/StickyProcessTimeline.jsx)
- •6 process stages with metadata (Why it matters, Risk, Value, Outcome).
- •Desktop: full-screen sticky scroll, syncs active step with scroll progress.
- •Mobile: accordion-style expand/collapse.
- •Exported as wrapper component choosing desktop or mobile based on screen size.
BrandVideoSection (components/BrandVideoSection.jsx)
- •Branded section with firm name heading, decorative divider.
- •Embeds Google Drive video in responsive 16:9 container.
- •Scroll-triggered Framer Motion fade/slide animations.
FeaturedProject (components/FeaturedProject.jsx)
- •Section header with 'Featured Project' eyebrow and link to case study.
- •80vh hero image (hero1) with gradient overlay and title overlay.
- •2-column sub-image strip (secondary + tertiary Amandaria photos).
- •Stats strip: $4.6M, On Budget, 26 Months, 820m², 4.2 Hectares.
LeadCaptureModal (components/services/LeadCaptureModal.jsx)
- •Used on NewBuildPackage and ConceptDesignPackage pages.
- •Captures lead details: name, email, project type, budget, location, package_requested.
- •Saves to ServiceLead entity in database.
- •Sends email notification to Admin@cutlerco.com.au.
ProjectCaseStudy (pages/ProjectCaseStudy.jsx)
- •Template for /Portfolio/:projectId routes.
- •Reads projectId from URL, matches against hardcoded project array.
- •Renders: hero, overview, brief/challenge/solution/outcome, image gallery.
9. Backend & Technical Architecture
Platform
| Platform | Base44 (BaaS — Backend as a Service) |
| Frontend | React 18 + Vite + Tailwind CSS |
| Routing | React Router DOM v7 |
| Data fetching | TanStack React Query v5 |
| Animations | Framer Motion v12 |
| Icons | Lucide React v0.475 |
Backend Functions (functions/ directory)
| sendEmail | POST handler. Params: { to, subject, body }. Uses Resend API (RESEND_API_KEY). From: 'Cutler & Co <onboarding@resend.dev>'. Used by: Contact form, Builders inquiry, LeadCaptureModal. |
| createCheckout | POST handler. Params: { name, email, phone, location, project_type, budget, description, success_url, cancel_url }. Creates Stripe session. Product: 'Initial Design Consultation'. Amount: $385 AUD (38500 cents). Mode: payment. Metadata includes base44_app_id. |
| createAutomation | Utility function for automation management. |
Environment Variables / Secrets
| STRIPE_SECRET_KEY | Stripe secret key for checkout session creation |
| STRIPE_PUBLISHABLE_KEY | Stripe publishable key (frontend, not currently used directly) |
| RESEND_API_KEY | Resend email API key for transactional emails |
| BASE44_APP_ID | Auto-populated by Base44 platform |
Database Entities
| ServiceLead | Stores enquiries from LeadCaptureModal. Fields: name* (string), email* (string), project_type* (enum: renovation/new_build/makeover/extension/interior_design/other), budget* (enum: under_50k/50k_100k/100k_250k/250k_500k/500k_plus), location* (string), package_requested* (string). Built-in: id, created_date, updated_date, created_by_id. |
| User (built-in) | Base44 platform User entity. Fields: id, email, full_name, role (admin/user). Used for admin dashboard access. |
Third-party Integrations
| Stripe | Payment processing. Currency: AUD. Product: Initial Design Consultation $385 inc. GST. Test mode (sandbox). Claim via Dashboard > Integrations. |
| Resend | Transactional email delivery. From domain: resend.dev (default). Upgrade to custom domain recommended. |
| Calendly | External appointment scheduling. URL: https://calendly.com/vicky-cutlerco/call. Prefills name+email from form. No API integration — redirect only. |
| Google Drive | Brand video embed. No API — direct iframe embed. |
Automations
- •No active automations currently configured.
- •createAutomation backend function exists as infrastructure.
- •Potential future: ServiceLead entity automation to send email notification on new lead creation.
10. Forms & Lead Capture
Contact Form (pages/Contact.jsx)
| Fields | Full Name (required), Email (required), Phone, Project Type (text input), Message (required) |
| Submission | Calls sendEmail backend function |
| Recipient | Admin@cutlerco.com.au |
| Success | Gold banner message for 5 seconds |
| No database storage | Email only — not saved to entity |
Book a Consult Modal (components/BookConsultModal.jsx)
| Fields | Full Name (required), Email (required), Phone, Project Location, Project Type (select), Budget Range (select), Brief Description |
| Submission | Saves to sessionStorage as 'consultForm', redirects to Calendly |
| Post-Calendly | → /ConsultSuccess → Stripe checkout → /PaymentConfirmed |
| Fee | $350 + GST = $385 AUD total |
| No database storage at form step | Data passed via Stripe metadata |
Lead Capture Modal (components/services/LeadCaptureModal.jsx)
| Fields | Name, Email, Project Type, Budget, Location, Package Requested (pre-filled from page) |
| Submission | Creates ServiceLead entity record + sends email to Admin@cutlerco.com.au |
| Database | ServiceLead entity |
| Used on | /NewBuildPackage and /ConceptDesignPackage |
11. Brand & Visual Identity
Logo
- •Text-based logo — no image file.
- •Line 1: 'Cutler & Co' — font-serif, text-2xl md:text-3xl, tracking-tight.
- •Line 2: 'ARCHITECTS' — font-serif, text-sm md:text-base, uppercase, tracking-[0.3em], color #6B5547.
- •In footer: same treatment on dark background, 'ARCHITECTS' in #B8A082.
- •Navigation: #3D2E22 on light bg, white on dark backgrounds.
Brand Voice
- •Tone: Strategic, confident, expert, honest, premium.
- •Not: Salesy, generic, fluffy.
- •Key phrases: 'Architectural Strategists', 'Profitable Projects', 'Discovery Call', 'not just an architect — your strategic advisor'.
- •Target: Affluent homeowners, developers, builders seeking ROI-focused architecture.
Photography Style
- •High-resolution, editorial quality.
- •Warm, natural light.
- •Architectural/interior photography with human scale implied.
- •Amandaria: tropical hinterland, bamboo, timber, stone, water, mist.
- •Overlay treatment: brown gradients (#3D2E22/70 down to transparent) to maintain text legibility.
Social Media
- •Instagram: @cutlerco_architects — https://www.instagram.com/cutlerco_architects/
- •Facebook: CutlerandCoArchitects — https://www.facebook.com/CutlerandCoArchitects/
12. Rebuild Reference Guide
Critical Files
| App.jsx | All routes. Must include explicit <Route> for every page. Outer LayoutWrapper wraps all — do NOT double-wrap. |
| Layout.jsx | Shared navbar + footer. Manages scroll, mobile menu, consult modal state. |
| pages.config.js | Auto-discovered page registry. Controls mainPage. Do not add manual routes here. |
| index.css | Tailwind base + shadcn CSS variables. Do not remove. |
| tailwind.config.js | Tailwind theme extension. Includes shadcn colour tokens. |
Routing Rules
- •Outer LayoutWrapper at line ~58 of App.jsx wraps ALL routes with the shared Layout.
- •Do NOT add inner LayoutWrapper to individual routes — this creates double footer/header.
- •Exception: some routes intentionally render without the outer wrapper (check App.jsx for pattern).
- •New pages: add import at top of App.jsx, add <Route path='/path' element={<PageComponent />} /> inside the <Routes> block.
- •/amandaria and /portfolio/amandaria both render <Amandaria /> — no LayoutWrapper needed since outer wrapper handles it.
Backend Function Pattern
- •All functions: Deno.serve(async (req) => { ... })
- •Import SDK: import { createClientFromRequest } from 'npm:@base44/sdk@0.8.31'
- •Call from frontend: await base44.functions.invoke('functionName', params)
- •Response structure: { data: ..., status: ..., headers: ... } — actual return value is in response.data
Design Token Quick Reference
| bg-[#F5F1E8] | Primary page background (warm beige) |
| bg-[#EAE4D6] | Secondary/card background (slightly darker beige) |
| bg-[#3D2E22] | Dark sections, navbar filled, CTA sections, footer |
| text-[#3D2E22] | Primary headings and dark body text |
| text-[#6B5547] | Body text, secondary content |
| text-[#B8A082] | Gold — labels, icons, accents, borders |
| border-[#B8A082] | Gold borders on active states, decorative dividers |
| border-[#D4C9B0] | Subtle table/section dividers |
Page Creation Checklist
- •1. Create file in pages/ directory (e.g. pages/MyPage.jsx)
- •2. Export default function with same name as file
- •3. Add import to App.jsx: import MyPage from './pages/MyPage'
- •4. Add Route to App.jsx: <Route path='/my-page' element={<MyPage />} />
- •5. If auto-discovered via pagesConfig, also update pages.config.js
- •6. Add nav link in Layout.jsx navItems array if needed
- •7. Test that Layout (navbar + footer) appears correctly — no double rendering
Cutler & Co Architects — Website Specification Document · Generated June 2026 · Confidential
This document is auto-generated from the live codebase and reflects the site as built at the time of generation.