Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MR Builder Banner

MR Builder – Construction Business Portfolio Website πŸ—οΈ

Live Demo Version Status License React Powered By


πŸš€ Introduction

MR Builder is a modern, responsive construction business portfolio website developed for a real-world client to establish a strong digital presence.

Many local construction businesses lack an online identity, which affects their credibility, branding, and lead generation. This project solves that problem by showcasing services, completed projects, client trust, and contact detailsβ€”all in a clean, professional website.

The website is designed to be simple, fast, mobile-friendly, and conversion-focused, helping the client attract new customers and build trust online.


✨ Key Features

Feature Description
🏠 Professional Landing Page Clean hero section highlighting brand identity & trust
🧱 Services Showcase Displays construction services with visual clarity
πŸ—οΈ Project Gallery Highlights completed & ongoing construction works
πŸ“± Responsive Design Optimized for mobile, tablet, and desktop
πŸ“ž Call-to-Action Buttons One-click call & WhatsApp integration
πŸ“¨ Contact Section Easy enquiry & business contact visibility
⚑ Fast Loading Lightweight assets for better performance
🌐 SEO-Friendly Structure Improves discoverability on search engines

πŸ› οΈ Tech Stack

Frontend Technologies
HTML CSS React TypeScript Tailwind CSS Redux Vite Formspree

Tools
VS Code Canva Pinterest GitHub Firebase


πŸ”§ Website Structure

graph TD
    A[Landing Page 🏠] --> B[Services 🧱]
    A --> C[Projects πŸ—οΈ]
    A --> D[About Us ℹ️]
    A --> E[BlogsπŸ’‘]
    A --> F[Contact πŸ“ž]
    F --> G[Client Leads πŸ“©]
Loading

πŸ“Έ Snapshots

VS IDE VSS

Home Page About Page

Services Page Blogs Page


File Tree: mr-builders-site

β”œβ”€β”€ πŸ“ mr-builders-premium-construction-217b1fda-main
β”‚   β”œβ”€β”€ πŸ“ public
β”‚   β”‚   β”œβ”€β”€ πŸ“„ favicon.ico
β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ placeholder.svg
β”‚   β”‚   └── πŸ“„ robots.txt
β”‚   β”œβ”€β”€ πŸ“ src
β”‚   β”‚   β”œβ”€β”€ πŸ“ assets
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ about-team.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ blog-choose-company.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ blog-foundation.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ blog-permits.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ blog-renovation.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ blog-sustainable.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ blog-trends.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ hero-construction.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ project-commercial-1.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ project-interior-1.jpg
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ–ΌοΈ project-residential-1.jpg
β”‚   β”‚   β”‚   └── πŸ–ΌοΈ project-villa-1.jpg
β”‚   β”‚   β”œβ”€β”€ πŸ“ components
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ home
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ AboutPreview.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ CTA.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ FeaturedProjects.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Hero.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Services.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Testimonials.tsx
β”‚   β”‚   β”‚   β”‚   └── πŸ“„ WhyChooseUs.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ layout
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Footer.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Header.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Layout.tsx
β”‚   β”‚   β”‚   β”‚   └── πŸ“„ PageTransition.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ projects
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ BeforeAfterGallery.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ BeforeAfterSlider.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ClientTestimonial.tsx
β”‚   β”‚   β”‚   β”‚   └── πŸ“„ VideoWalkthrough.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“ ui
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ accordion.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ alert-dialog.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ alert.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ aspect-ratio.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ avatar.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ badge.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ breadcrumb.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ button.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ calendar.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ card.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ carousel.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ chart.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ checkbox.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ collapsible.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ command.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ context-menu.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ dialog.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ drawer.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ dropdown-menu.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ form.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ hover-card.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ input-otp.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ input.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ label.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ menubar.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ navigation-menu.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ pagination.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ popover.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ progress.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ radio-group.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ resizable.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ scroll-area.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ section-heading.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ select.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ separator.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ sheet.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ sidebar.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ skeleton.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ slider.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ sonner.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ switch.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ table.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ tabs.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ textarea.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ toast.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ toaster.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ toggle-group.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ toggle.tsx
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ tooltip.tsx
β”‚   β”‚   β”‚   β”‚   └── πŸ“„ use-toast.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ NavLink.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ WhatsAppButton.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ theme-provider.tsx
β”‚   β”‚   β”‚   └── πŸ“„ theme-toggle.tsx
β”‚   β”‚   β”œβ”€β”€ πŸ“ data
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ blogPosts.ts
β”‚   β”‚   β”‚   └── πŸ“„ projects.ts
β”‚   β”‚   β”œβ”€β”€ πŸ“ hooks
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ use-mobile.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ use-toast.ts
β”‚   β”‚   β”‚   └── πŸ“„ useScrollAnimation.ts
β”‚   β”‚   β”œβ”€β”€ πŸ“ lib
β”‚   β”‚   β”‚   └── πŸ“„ utils.ts
β”‚   β”‚   β”œβ”€β”€ πŸ“ pages
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ About.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Blog.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ BlogDetail.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Contact.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Index.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ NotFound.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ ProjectDetail.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ Projects.tsx
β”‚   β”‚   β”‚   └── πŸ“„ Services.tsx
β”‚   β”‚   β”œβ”€β”€ πŸ“ test
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“„ example.test.ts
β”‚   β”‚   β”‚   └── πŸ“„ setup.ts
β”‚   β”‚   β”œβ”€β”€ 🎨 App.css
β”‚   β”‚   β”œβ”€β”€ πŸ“„ App.tsx
β”‚   β”‚   β”œβ”€β”€ 🎨 index.css
β”‚   β”‚   β”œβ”€β”€ πŸ“„ main.tsx
β”‚   β”‚   └── πŸ“„ vite-env.d.ts
β”‚   β”œβ”€β”€ βš™οΈ .gitignore
β”‚   β”œβ”€β”€ πŸ“ README.md
β”‚   β”œβ”€β”€ πŸ“„ bun.lockb
β”‚   β”œβ”€β”€ βš™οΈ components.json
β”‚   β”œβ”€β”€ πŸ“„ eslint.config.js
β”‚   β”œβ”€β”€ 🌐 index.html
β”‚   β”œβ”€β”€ βš™οΈ package-lock.json
β”‚   β”œβ”€β”€ βš™οΈ package.json
β”‚   β”œβ”€β”€ πŸ“„ postcss.config.js
β”‚   β”œβ”€β”€ πŸ“„ tailwind.config.ts
β”‚   β”œβ”€β”€ βš™οΈ tsconfig.app.json
β”‚   β”œβ”€β”€ βš™οΈ tsconfig.json
β”‚   β”œβ”€β”€ βš™οΈ tsconfig.node.json
β”‚   β”œβ”€β”€ πŸ“„ vite.config.ts
β”‚   └── πŸ“„ vitest.config.ts
β”œβ”€β”€ βš™οΈ .firebaserc
β”œβ”€β”€ βš™οΈ .gitignore
β”œβ”€β”€ βš™οΈ firebase.json
β”œβ”€β”€ βš™οΈ package-lock.json
└── βš™οΈ package.json

Contributing 🀝

Contributions are welcome! If you’d like to improve this project or add features, feel free to:

  1. Fork the repo.
  2. Create a new branch.
  3. Submit a pull request.

I appreciate all suggestions for enhancement! πŸ™


Contact Me πŸ“¬

Let’s connect:

Gmail LinkedIn X WhatsApp GitHub Instagram Portfolio

Thanks for stopping by! πŸ‘‹


About

The MR Builder business website is a freelance client project designed to deliver a fast, reliable online presence for a construction business. Built with TypeScript, React & Tailwind CSS and hosted on Firebase, it features structured sections, Formspree-based contact handling, and integrated Call and WhatsApp CTAs for effective lead generation.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages