PageSourceSearch

https://dhruba-datta.netlify.app/assets/MantissaPage-BHaM_Zns.js

js dhruba-datta.netlify.app collected 2026-10-03 10:39:36 UTC 7,033 bytes, 1 lines download raw bytes

1import{j as e}from"./vendor-motion-C0Ykwh7C.js";import{m as t,f as a,g as i,h as n,q as r}from"./index-DQYSP24l.js";import{P as m}from"./ProjectPageTemplate-BukZfH_t.js";import{an as o,S as s,au as d,ar as h,av as p,i as g,s as u,f}from"./vendor-icons-CZ0fHw8h.js";import"./vendor-react-D8ZVE-1i.js";import"./index-tD3BwZqC.js";import"./index-B32Yb0IV.js";import"./index-C9VRkwIY.js";import"./index-CMnRXDm6.js";import"./Footer-ClRpSHv8.js";import"./ProjectCard-BwLNlIzs.js";import"./projects-Clb5hPl-.js";import"./Seo-D8Plyq5-.js";const F=({isDark:c,toggleTheme:l})=>e.jsx(m,{isDark:c,toggleTheme:l,title:"Mantissa Design",description:"Mantissa Design & Consultant is an architecture and engineering consultancy in Dhaka, practising since 1997. It needed a website that reflects nearly three decades of practice and explains its full range of services. I designed and built the new mantissadesign.com on Next.js 16: a cinematic, scroll-driven site that walks visitors from vision to built reality, presents eight service lines, and is structured for local search with detailed schema.org data.",coverSrc:"/images/projects/Mantissa Design.webp",chips:[{name:"Next.js 16",icon:e.jsx(t,{className:"w-3 sm:w-3.5 h-3 sm:h-3.5"})},{name:"React 19",icon:e.jsx(a,{className:"w-3 sm:w-3.5 h-3 sm:h-3.5"})},{name:"TypeScript",icon:e.jsx(i,{className:"w-3 sm:w-3.5 h-3 sm:h-3.5"})},{name:"Tailwind 4",icon:e.jsx(n,{className:"w-3 sm:w-3.5 h-3 sm:h-3.5"})},{name:"SEO",icon:e.jsx(s,{className:"w-3 sm:w-3.5 h-3 sm:h-3.5"})},{name:"Vercel",icon:e.jsx(r,{className:"w-3 sm:w-3.5 h-3 sm:h-3.5"})}],secondaryUrl:"https://mantissadesign.com/",secondaryLabel:"Check it out",features:[{id:"journey",icon:e.jsx(d,{className:"w-4 sm:w-5 h-4 sm:h-5"}),title:"Cinematic Scroll Journey",summary:"An eight-stage scroll story from first sketch to finished building",details:['Cinematic hero built around the line "From Vision to Built Reality"',"Eight-stage scroll journey that follows a project from planning to handover","Scroll reveals built on IntersectionObserver and requestAnimationFrame","All motion respects prefers-reduced-motion in both CSS and JavaScript"]},{id:"services",icon:e.jsx(h,{className:"w-4 sm:w-5 h-4 sm:h-5"}),title:"Eight Service Lines",summary:"Clear pages for everything the firm does, from planning to retrofit",details:["Planning, architecture, structural engineering and foundation engineering","Documentation, construction management and site supervision","Assessment and retrofit of existing buildings","Dedicated Services, Expertise, Research and About pages"]},{id:"portfolio",icon:e.jsx(p,{className:"w-4 sm:w-5 h-4 sm:h-5"}),title:"Project Showcase",summary:"Filterable project gallery with detail pages",details:["Project gallery with category filtering","Individual project pages from typed content files","Related-projects carousel to keep visitors browsing","All content kept in TypeScript data files, no CMS to maintain"]},{id:"seo",icon:e.jsx(s,{className:"w-4 sm:w-5 h-4 sm:h-5"}),title:"Local SEO & Structured Data",summary:"Detailed schema.org markup for a professional services firm",details:["JSON-LD for ProfessionalService, WebSite, Service catalog, FAQPage, BreadcrumbList and CreativeWork","Open Graph and Twitter cards on every page","Generated sitemap and robots.txt with a canonical domain","Page titles targeted at architecture and engineering searches in Dhaka"]},{id:"a11y",icon:e.jsx(g,{className:"w-4 sm:w-5 h-4 sm:h-5"}),title:"Accessibility",summary:"Audited and fixed against PageSpeed accessibility checks",details:["Skip link and keyboard-friendly navigation","Fixes from a PageSpeed accessibility audit","Reduced-motion support across every animation","Custom accessible select input for the contact form"]},{id:"design-system",icon:e.jsx(u,{className:"w-4 sm:w-5 h-4 sm:h-5"}),title:"Design Tokens",summary:"One token set and type scale behind every page",details:["Around 65 CSS custom properties for colour, spacing and surfaces","Shared type scale with the Outfit typeface","Header colours that change by route","A refactor pass that consolidated tokens and tightened the journey section"]},{id:"contact",icon:e.jsx(o,{className:"w-4 sm:w-5 h-4 sm:h-5"}),title:"Contact Flow",summary:"Validated enquiry form that emails the firm directly",details:["Contact form sent through EmailJS, no server to run","Inline validation and status messages","Template parameters normalised in one helper","Hardened against empty and malformed submissions"]},{id:"pwa",icon:e.jsx(f,{className:"w-4 sm:w-5 h-4 sm:h-5"}),title:"Installable & Mobile-First",summary:"Web app manifest and icons so the site can be installed",details:["Web app manifest with 192, 512 and 180 px icons","Responsive layouts designed for phones first","Static rendering on Vercel for fast loads","Footer social links and a consistent contact point"]}],techSectionTitle:"Stack",techItems:[{icon:e.jsx(t,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}
1),label:"Next.js 16",description:"App Router with generated metadata, sitemap, robots and manifest."},{icon:e.jsx(a,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),label:"React 19",description:"Components for the scroll journey, project filter and carousels."},{icon:e.jsx(i,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),label:"TypeScript",description:"Typed company, service and project data."},{icon:e.jsx(n,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),label:"Tailwind CSS 4",description:"Utility styling on top of a custom token system."},{icon:e.jsx(o,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),label:"EmailJS",description:"Contact form delivery straight from the browser."},{icon:e.jsx(s,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),label:"schema.org JSON-LD",description:"Structured data for the firm, its services and pages."},{icon:e.jsx(r,{className:"w-3.5 h-3.5 sm:w-4 sm:h-4"}),label:"Vercel",description:"Production hosting."}],useCases:["Architecture and engineering firms that need to show long experience and a wide service range","Professional services firms competing in local search","Turning a long delivery process into a story visitors scroll through","Small teams that want a site they can update by editing data files"],howToSteps:[e.jsxs(e.Fragment,{children:["Visit ",e.jsx("a",{href:"https://mantissadesign.com/",target:"_blank",rel:"noopener noreferrer",className:"text-blue-600 dark:text-blue-400 underline",children:"mantissadesign.com"}),"."]}),e.jsx(e.Fragment,{children:"Scroll the homepage journey from planning to handover."}),e.jsxs(e.Fragment,{children:["Open ",e.jsx("b",{children:"Services"})," to see the eight service lines."]}),e.jsxs(e.Fragment,{children:["Browse ",e.jsx("b",{children:"Projects"})," and filter by category."]}),e.jsxs(e.Fragment,{children:["Send an enquiry from ",e.jsx("b",{children:"Contact"}),"."]})],contactCTA:{title:"Need a site for your practice?",description:"I build fast, well-structured websites for professional services firms. Let's talk.",primaryButtonText:"Get In Touch",secondaryButtonText:"View All Projects"}});export{F as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.