mosque.build is an open-source planning and design workspace for the full life of a mosque: community brief, site selection, conceptual design, approvals, budget, funding, sourcing, construction, opening, operations, endowment, adaptation, and care.
Website · Getting started · Contributing · Architecture · Routes and features · Marketing library · Security
Mosque projects are often managed across disconnected documents, chats, drawings, spreadsheets, and institutional memory. mosque.build brings those decisions into one evidence-aware journey so communities can prepare better questions, compare options, preserve context, and coordinate qualified professionals.
It does not replace architects, engineers, quantity surveyors, planners, legal advisers, authorities, religious scholars, contractors, or community governance. Regulated and safety-critical outputs remain conceptual until reviewed by the appropriate qualified people.
The current web application includes:
- a six-step private project brief saved in the browser;
- a connected project dashboard and lifecycle action plan;
- site, qibla, climate, access, land-cost, and resilience studies;
- editable room, floor-plan, massing, roof, dome, opening, structure, wudu, women’s-space, interior, solar, energy, and building-systems tools;
- interactive Three.js inspection views backed by renderer-neutral project records;
- prayer-row, occupancy, daylight, and spatial-volume studies;
- source-labelled Islamic architecture, lineage, material, and geometric-pattern studies;
- likely permit and funding pathways with jurisdiction and verification boundaries;
- product research, procurement planning, quote comparison, and cost-control tools;
- schedules, construction packages, site logs, document control, changes, evidence, and handover planning;
- operations, maintenance, work-order, privacy, and emergency-readiness planning;
- 40 lifecycle guides, source records, and 63 visual project examples;
- installable, responsive, offline-aware delivery for previously visited public pages;
- exportable local project records with review boundaries attached.
Not every item in the feature registry is implemented. mosque.build uses explicit statuses instead of a single “done” flag:
concept | specified | scaffolded | executable | source_backed | beta | production_ready
See Routes and features for the implemented public surface and Next build for current priorities.
- Next.js 16 App Router
- React 19 and TypeScript
- Three.js for interactive model views
- CSS with shared design tokens
- browser-local persistence and JSON export
- service worker, web manifest, and responsive install experience
- Node.js test runner and repository validation scripts
- Supabase schema and Row Level Security migration drafts for future shared projects
Canonical domain objects remain independent of Three.js. Portable interchange targets include glTF/GLB for rendered assets, IFC for building-model exchange, and GeoJSON/vector tiles for mapping.
The dimensioned building editor and IFC exchange guide covers six mosque starting templates, editable solid geometry, attributed visual references, floor-plan handoff, IFC4/GLB exports, verification, and current Revit limitations.
Requirements:
- Node.js 22 or newer
- pnpm 10
git clone https://github.com/ummahbuild/mosque.build.git
cd mosque.build
pnpm install
pnpm web:devOpen http://localhost:3000.
Run the complete verification sequence:
pnpm test
pnpm validate
pnpm privacy:scan
pnpm web:build| Command | Purpose |
|---|---|
pnpm web:dev |
Start the Next.js development server using the root scripts and web package |
pnpm web:build |
Type-check and create the production web build configured in apps/web/package.json |
pnpm test |
Run the repository, domain, UI-contract, provenance, and security suites in tests |
pnpm validate |
Validate registries, routes, linked assets, and product contracts with scripts/validate.mjs |
pnpm privacy:scan |
Scan repository files using scripts/privacy-scan.mjs |
mosque.build/
├── apps/web/ Next.js application
│ ├── app/ Routes, metadata, and route-level styles
│ ├── components/ Shared UI and interactive planning tools
│ ├── data/ Runtime reference datasets
│ ├── lib/ Domain calculations, persistence, and integration logic
│ └── public/ Manifest, service worker, icons, flags, and public assets
├── packages/
│ ├── domain/ Renderer-neutral shared domain types
│ ├── algorithms/ Historical and reusable calculation modules
│ └── ui/ Shared design tokens
├── data/ Canonical registries and implementation waves
├── tests/ Node-based test suites and repository contracts
├── scripts/ Validation, privacy, and smoke-test tooling
├── supabase/ Schema, RLS, and security migration drafts
├── assets/ Source visual assets and rights-sensitive references
├── docs/ Product, architecture, audit, and implementation documentation
└── archive/source-seeds/ Historical research inputs retained for traceability
Read Repository map, Architecture, and Asset policy before making structural or visual changes.
| Area | GitHub path | What lives there |
|---|---|---|
| Web application | apps/web | The active Next.js product |
| Routes | apps/web/app | Pages, layouts, metadata, sitemap, manifest, and route styles |
| Components | apps/web/components | Shared navigation, forms, planning tools, and Three.js views |
| Web logic | apps/web/lib | Calculations, safe parsing, record contracts, exports, and workflow integration |
| Runtime data | apps/web/data | Jurisdictions, products, patterns, architecture, costs, and resources used by the app |
| Public files | apps/web/public | Install icons, flags, service worker, and public visual assets |
| Shared domain | packages/domain | Renderer-neutral TypeScript domain types |
| Algorithms | packages/algorithms | Reusable and historically versioned calculation modules |
| Design tokens | packages/ui/tokens.json | Shared interface colours, spacing, and typography values |
| Canonical data | data | Feature, frame, implementation-wave, dependency, and source registries |
| Tests | tests | Domain, UI-contract, accessibility, provenance, privacy, and integration tests |
| Tooling | scripts | Validation, privacy scanning, and functional smoke checks |
| Database drafts | supabase | Schema, Row Level Security, and security migration drafts |
| Documentation | docs | Architecture, product, testing, audits, sources, and development plans |
| Marketing | marketing | Community, contributor, campaign, history, and editorial content |
| Asset sources | assets | Rights-sensitive source and visual assets |
| Historical sources | archive/source-seeds | Traceability inputs that are not runtime truth |
| GitHub workflow | .github | Issue forms and the pull-request template |
| Route source | Live page | Purpose |
|---|---|---|
| Home | mosque.build | Product overview and interactive mosque-build sequence |
| Start | Open /start |
Guided private project brief |
| My project | Open /my-project |
Connected project overview, actions, schedule, records, and exports |
| Design | Open /design |
Site, architecture, floor planning, 3D, interiors, systems, energy, and accessibility |
| Patterns | Open /patterns |
Source-labelled architecture lineages, materials, and geometric studies |
| Permits | Open /permits |
Likely permit pathways and authority-source records |
| Funding | Open /funding |
Funding, charity, and waqf starting points by jurisdiction |
| Marketplace | Open /marketplace |
Product research, procurement planning, and quote comparison |
| Construction | Open /construction |
Cost, schedule, coordination, evidence, and handover planning |
| Operations | Open /operations |
Opening, assets, maintenance, work orders, and emergency readiness |
| Resources | Open /resources |
Searchable lifecycle guidance |
| Examples | Open /prototypes |
Visual project examples linked to planning tools |
| Sources | Open /sources |
Source and provenance records |
| Trust | Open /trust |
Evidence, review, and safety boundaries |
| Contribute | Open /contribute |
Contribution roles, standards, GitHub links, and the ummah.build community |
The complete route inventory is in Routes and features.
- Current project drafts are stored in the user’s browser unless explicitly exported.
- Never commit real names, personal contacts, precise private addresses, project exports, credentials, or analytics dumps.
- Public country and jurisdiction names are reference data, not inferred user identity.
- Every external factual record needs provenance, an observed or verified date, rights information where relevant, confidence, and review status.
- Permit guidance remains likely applicable / verify with authority or professional until supported by current authority evidence.
- Every cost must carry geography, currency, date, source, maturity, confidence, and exclusions.
- Structural, fire, mechanical, electrical, plumbing, and other regulated outputs remain conceptual until qualified review.
- Religious content requires source metadata and content review. Sacred calligraphy must not be generated as decorative filler.
- Row Level Security is mandatory before project or member data is stored on a shared backend.
Read AGENTS.md, Security, and Governance for mandatory project rules.
- Feature registry — canonical scope and maturity records.
- Implementation waves — prioritized delivery groups.
- Frame registry — visual project-example inventory.
- External dependencies — external systems and research needs.
- Source seed manifest — historical-source traceability.
- Jurisdiction guides — runtime permit and funding source records.
- Architecture lineages — sourced precedent studies.
- Pattern library — source-labelled geometric studies.
- Marketplace candidates — research candidates, not endorsements or verified availability.
- Resource library — lifecycle guidance linked to working routes.
- Contributor guide
- Code of conduct
- Governance
- Security policy
- MIT License
- Third-party notices
- Architecture
- Routes and features
- Asset policy
- Testing strategy
- Release gates
- Next build
- Contributor capacity and partnership roadmap
- CAD and BIM authoring development plan
- Semantic CAD authoring implementation
- Marketing library
Contributions are welcome across code, documentation, research, accessibility, design, testing, data provenance, localization, and professional review.
- Read CONTRIBUTING.md.
- Search or open a GitHub issue.
- Create a focused branch.
- Add tests and evidence appropriate to the change.
- Run the complete verification sequence.
- Open a pull request using the repository template.
Good first contributions are small, testable, privacy-safe, and clearly connected to a user outcome. Work involving permits, safety, cost, religious content, or external assets may require specialist review before merge.
The original software and documentation in this repository are licensed under the MIT License.
Third-party material, linked sources, archived research inputs, trademarks, and assets identified in THIRD_PARTY_NOTICES.md or Asset policy remain subject to their own rights and are not relicensed by the MIT License.
Copyright © 2026 Ummah Build and mosque.build contributors.