Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Find and compare 500+ software tools for CRE professionals.
BusinessGitHub @sichuanlambdaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Commercial Real Estate Software Directory
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Source for cresoftware.tech, a directory of commercial real estate software. Static site hosted on GitHub Pages (deploys from main).
All product and category pages are generated from the data files. Do not edit files under products/ or categories/ by hand; edit the data and rebuild.
data/products.json # 208 product records (the source of truth)
data/categories.json # 14 categories: membership, descriptions, editorial, FAQ
scripts/build.js # static site generator (zero dependencies)
Rebuild after any data change:
node scripts/build.js
This regenerates:
products/<slug>/index.html — one page per productcategories/<slug>/index.html — one page per categoryalternatives/<slug>/index.html + alternatives/index.html — alternatives guides and hub (from data/editorial.json)compare/<a>-vs-<b>/index.html — comparison pages (from data/editorial.json)starter-stacks/<role>/index.html + starter-stacks/index.html — starter software stacks by role (from data/stacks.json)integrations/<hub>/index.html + integrations/index.html — integration hubssitemap.xml — real URLs with lastmodllms.txt — site map for AI assistants and answer enginesSITE-FOOTER, HOME-COMPARISONS, HOME-ALTERNATIVES, POPULAR-COMPARISONS, GUIDE-RELATED). Never edit between markers; the build overwrites them.data/lastmod.json stores a content hash per URL. A page's sitemap lastmod (and the visible "Updated" date on editorial pages) only moves when the content between the nav and the footer changes, so leave that file alone and commit it with the rest of the build output.
Commit the regenerated output along with the data change.
data/stacks.json holds one entry per role with three tiers (start, add, skip). Each item names a product slug, the job it covers, alternatives, and a cost with monthly_usd (normalized from the vendor's published price, or null when sold by quote), the basis of that figure, the checked date and the vendor source URL ("listing" when the vendor site blocks automated checks). from: true marks a starting price. The lean total is the start tier; the fuller total adds the add tier and drops any start item an add item replaces. Text fields can use {{lean}} / {{full}} (or {{lean:<role>}}) and the build fills in the current totals. After a rebuild, run node scripts/check-stacks.js to recompute every total from the data and compare it with the generated pages.
index.html (homepage), market-map.html, compare.html, submit.htmlguides/*.html — editorial buyer's guides (nav, related-reading block and footer are injected by the build)
ai-underwriting-software.html) must be registered in TOPIC_GUIDES in scripts/build.js with a footer label and the category whose editorial feeds their related-reading block.css/style.css, js/app.js (homepage/compare interactivity + shared helpers)The old hash-based routes (product.html#slug, category.html#slug) are redirect
shells that forward to /products/<slug>/ and /categories/<slug>/. Keep them.
data/products.json (copy an existing well-filled record as a template; slug must be URL-safe: letters, digits, hyphens).products array in data/categories.json (one primary category; at most two).node scripts/build.js and commit.data/photos.json (Unsplash, credits shown on each page and listed on the about page), files in img/photos/ (1600px and 800px WebP). A new category or topic guide needs an entry keyed by its slug.scripts/og-images.sh builds 1200x630 JPEGs in img/og/ from the photos and from each product's first screenshot. Re-run it after adding photos or screenshots.