Company website for Dev AS — a Norwegian web development studio. Built with Next.js 15, deployed on Vercel.
Live: devify.no
| Framework | Next.js 15 (App Router, Turbopack) |
| Language | TypeScript |
| Styling | Tailwind CSS v4 |
| Forms | React Hook Form + Zod |
| Resend | |
| Spam protection | Google reCAPTCHA v3 |
| Deployment | Vercel |
| Package manager | pnpm |
pnpm install
cp .env.example .env
# fill in .env values (see below)
pnpm devOpen http://localhost:3000.
Copy .env.example to .env and fill in the values:
# Google reCAPTCHA v3 # https://www.google.com/recaptcha/admin RECAPTCHA_SECRET_KEY= NEXT_PUBLIC_RECAPTCHA_SITE_KEY= # Resend — transactional email # https://resend.com RESEND_API_KEY= RESEND_FROM_EMAIL=Dev AS <noreply@yourdomain.com> RESEND_TO_EMAIL=you@yourdomain.com
RESEND_FROM_EMAILmust use a domain verified in your Resend account.
pnpm dev # dev server with Turbopack pnpm build # production build pnpm start # serve production build pnpm check # lint + typecheck pnpm format:write # format all files with Prettier
src/
├── app/
│ ├── api/contact/ # Contact form API route (reCAPTCHA + Resend)
│ ├── personvern/ # Privacy policy page
│ ├── layout.tsx
│ └── page.tsx # Main landing page
├── components/
│ └── RecaptchaWrapper.tsx
├── env.js # Type-safe env via @t3-oss/env-nextjs
└── styles/
└── globals.css
Deployed on Vercel. Set the environment variables in the Vercel project dashboard — do not commit .env to git.
vercel env add RESEND_API_KEY vercel env add RESEND_FROM_EMAIL vercel env add RESEND_TO_EMAIL vercel env add RECAPTCHA_SECRET_KEY vercel env add NEXT_PUBLIC_RECAPTCHA_SITE_KEY
This project is source-available under the Devify Non-Commercial License 1.1.
You may use and modify it for personal, private, internal, and other non-commercial purposes only. Commercial use, public deployment, public hosting, and redistribution require prior written permission from Dev AS.