This is the website for 1NE LEVEL UP, a coaching and mentorship practice run by Sunita M. It's where visitors learn about the coaching approach, read through guides and resources, take a self assessment that generates a personalised study pattern report, and reach out to book a session.
Built with Next.js.
- Marketing pages for Home, About, Services, Resources, Guides, and FAQs, with a bit of animation sprinkled in (parallax scrolling, wobble text, a draggable diamond).
- A study pattern assessment at
/services/assessment. It's 27 categories on a 5 point scale, and it scores each pattern based on what the visitor answers, saving everything to the browser's local storage. - A personalised report page at
/services/reportthat turns those results into a proper multi page report, with a colour accent per pattern and a growth roadmap at the end. Visitors can save it as a PDF straight from the browser's print dialog, no extra tooling needed. - A contact form that emails submissions using Web3Forms, and also keeps a local backup copy in a small SQLite database through Prisma.
- The usual SEO basics: sitemap, robots.txt, Open Graph and Twitter metadata, and redirects from the old
/blogroutes over to/guides.
- Next.js 16 (App Router, Turbopack)
- React 19 and TypeScript
- Tailwind CSS 4
- Framer Motion for the animation
- Prisma with SQLite for the contact form backup
- Web3Forms for actually delivering contact form emails
npm install
npm run devThen open http://localhost:3000. Turbopack handles hot reload as you edit anything under src/.
You'll need a .env file in the project root:
DATABASE_URL="file:./dev.db"
# Web3Forms access key for the contact form. Sign up at web3forms.com with
# the inbox you want submissions delivered to, and it'll email you a key.
# This has to be prefixed with NEXT_PUBLIC_ because Web3Forms' free tier
# only accepts submissions sent straight from the browser, not from a server.
NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY=your-access-key-hereRun the migrations once after cloning so the local SQLite backup table exists:
npx prisma migrate devsrc/
app/ routes, following the App Router convention
about/ the about pages (what/why/how I do it)
api/contact/ the contact form's backup endpoint, saves to SQLite
contact/ the contact page itself
faqs/ frequently asked questions
guides/ guide listing and content
resources/ articles, ebook page, free resources
services/ services overview, the assessment, the report, the begin flow
components/ shared UI pieces like Navbar, Footer, ContactForm
lib/ assessment scoring logic, pattern content, Prisma client
prisma/ schema and migrations
public/ images and background videos
| Command | What it does |
|---|---|
npm run dev |
starts the dev server |
npm run build |
builds for production |
npm run start |
runs the production build |
npm run lint |
runs ESLint |
This deploys cleanly to Vercel or any Node friendly host. One thing worth knowing: the SQLite database is just a file on disk, so it works fine locally, but on a serverless host like Vercel the filesystem doesn't persist between requests. That's okay here since the contact form's email delivery through Web3Forms is the actual reliable channel; the database is just a convenient local backup, not something the app depends on in production.