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
Your all-in-one platform for air permits, emissions calculations, regulations, compliance tools, and industry resources.
BusinessTypeScript · JavaScriptGitHub @mirsaifali75OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Air Permitting. Compliance. Simplified.
Phase 1 of the AirPermitHub web app: Next.js 15 (App Router) + TypeScript + Tailwind CSS v4, with a Prisma/PostgreSQL schema ready for Phase 2.
npm install
npm run dev # http://localhost:3000
npm run build && npm start
Checks (CI runs the same on every push to main):
npm run check # typecheck + ESLint + unit tests
npm test # Vitest: calculator math, screening rules, API validation, data integrity
npm run check-links # checks every outbound source link; needs open internet (runs weekly in GitHub Actions)
Optional database tooling:
cp .env.example .env # set DATABASE_URL
npx prisma validate
npx prisma generate
npx prisma migrate dev
State hubs render from data/states/*.json. Refresh them from the research dataset with:
node scripts/sync-state-data.mjs /path/to/air-permits
Then rebuild; each JSON file becomes a live /states/[slug] hub.
See docs/ARCHITECTURE.md for the information architecture, component system, and database design.