Official website repository for Oryntic Labs, an end-to-end technology and growth firm operated by OrynticLabs Private Limited.
Website: www.orynticlabs.com
This is a single Next.js application. The public website, API routes, chatbot, forms, and static assets run from the same Next.js server.
| Area | Route | Purpose |
|---|---|---|
| Public website | / |
Marketing site, services, about, contact, careers, insights |
| OryCMS admin | /admin |
Content management admin dashboard |
| App API routes | /api/* |
Chatbot, forms, webhooks, OG image |
orynticlabs/
├── next.config.js Next.js configuration
├── package.json Root npm scripts for the app
├── src/
│ ├── app/
│ │ ├── (frontend)/ Public website routes
│ │ ├── (orycms)/ OryCMS admin, login, and setup routes
│ │ └── api/ Custom app API routes
│ ├── components/ UI, layout, and feature components
│ ├── hooks/ Client/server hooks
│ └── lib/ Static data, env, constants, helpers
├── orycms/ OryCMS local config and admin-only CSS
├── public/ Static assets
├── scripts/ Maintenance and audit scripts
├── backups/ Archived database/CMS backups
└── README.md Website project documentation
| Layer | Technology |
|---|---|
| Framework | Next.js 16 App Router |
| UI | React 19, Tailwind CSS v4 |
| AI chatbot | Gemini server-side API key |
| Error monitoring | Sentry |
| CMS admin | OryCMS |
| Validation | ESLint, TypeScript |
| OryCMS database | Prisma + PostgreSQL |
Create .env.local in the repository root for local development. Use .env.example as the starting point.
Required:
NEXT_PUBLIC_SITE_URL=<site-origin>
GEMINI_API_KEY=<gemini-api-key>
ORYCMS_DATABASE_URL=<postgres-connection-string>Optional email:
SMTP_HOST=<smtp-host>
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USERNAME=<smtp-username>
SMTP_PASSWORD=<smtp-password>
SMTP_DEFAULT_FROM=<from-address>
SMTP_TLS_REJECT_UNAUTHORIZED=true
SMTP_CONNECTION_TIMEOUT=15000
BRAND_NAME=OrynticLabsOptional integrations:
CAL_WEBHOOK_SECRET=<cal-webhook-secret>
NEXT_PUBLIC_SOCIAL_LINKEDIN_URL=<linkedin-url>
NEXT_PUBLIC_SOCIAL_INSTAGRAM_URL=<instagram-url>
NEXT_PUBLIC_SOCIAL_FACEBOOK_URL=<facebook-url>
NEXT_PUBLIC_SOCIAL_X_URL=<x-url>
NEXT_PUBLIC_DEBUG=falseInstall dependencies:
npm installStart the app:
npm run devThen open /.
OryCMS admin:
npm run prisma:generate
npm run prisma:deploy
npm run devOpen /setup for first-run setup, then /login, then /admin.
The /setup endpoint creates the initial Owner account only once. After that, setup returns SETUP_ALREADY_DONE and users must sign in through /login.
Run from the repository root:
| Command | Purpose |
|---|---|
npm run dev |
Start the Next.js app in development mode |
npm run build |
Create a production build |
npm run start |
Serve the production build |
npm run lint |
Run ESLint |
npm run prisma:generate |
Generate Prisma Client |
npm run prisma:migrate |
Create/apply local Prisma migrations |
npm run prisma:deploy |
Apply committed Prisma migrations |
npm run typecheck |
Run TypeScript without emitting files |
npm run test |
Run the repository verification test script |
npm run env:audit |
Audit browser-visible environment variables |
Main public routes:
| Route | Purpose |
|---|---|
/ |
Homepage |
/services |
Services index |
/services/[slug] |
Service detail pages |
/about |
About index |
/about/[slug] |
About detail pages |
/contact |
Contact page and inquiry form |
/careers |
Careers index |
/careers/[slug] |
Job detail and application form |
/insights |
Insights index |
/insights/[slug] |
Insight article pages |
/technologies |
Technology stack page |
/privacy |
Privacy policy |
/terms |
Terms of service |
/sitemap.xml |
Dynamic sitemap |
| Route | Purpose |
|---|---|
/api/chat |
Streaming chatbot response |
/api/inquiries |
Validates contact form submissions |
/api/applications |
Validates career applications |
/api/bot-lead |
Validates chatbot lead capture |
/api/insights/featured |
Featured insight data |
/api/insights/[id]/react |
Like/dislike response endpoint |
/api/og |
Dynamic Open Graph image generation |
/api/cal/webhook |
Cal.com webhook receiver |
/api/orycms/* |
OryCMS setup, auth, and admin API |
Deploy the root app to a Node-capable host such as Vercel, Render, Railway, or a VPS.
Deployment requirements:
- Set all required environment variables from
.env.local. - Set
NEXT_PUBLIC_SITE_URLto the production site origin. - Ensure the deployment supports the Next.js server runtime and image processing with
sharp.
Copyright 2021-present OrynticLabs Private Limited. All rights reserved.
