How I Built a Fully Automated Job Board using Next.js, Prisma, and n8n published: true
Building a job board is a classic developer project, but the real challenge isn't building the frontend—it's maintaining the data. Job postings expire quickly, formatting is always inconsistent, and manual data entry is a nightmare. To solve this, I designed a fully automated architecture that scrapes, structures, and publishes job postings without human intervention. Here is how I built the pipeline using Next.js, Prisma, and n8n. Instead of relying on a traditional CMS, I wanted a highly scalable, developer-friendly stack: n8n: The brain of the operation. It handles the cron jobs, web scraping, and API orchestrations. Prisma: The ORM that safely handles our database schema and migrations. Next.js: The frontend framework delivering blazing-fast SSR/SSG pages, which is crucial for SEO. Writing custom Python scripts for scraping is fine, but managing their execution and failures is tedious. I used n8n to create visual workflows. The workflow triggers daily, targeting various public sector portals and company career pages. It extracts raw HTML, parses the relevant nodes (Job Title, Requirements, Deadlines), and outputs clean JSON. Job descriptions are notoriously messy. To fix this, the n8n workflow passes the raw text to a local LLM before saving it. The AI extracts the exact hiring requirements, format the salary expectations, and generates a structured summary. This JSON is then sent via a webhook to my Next.js API route, where Prisma validates the data against my schema and upserts it into a PostgreSQL database. For a job board, SEO is everything. You need to rank for highly specific long-tail keywords (e.g., "Technician jobs in Casablanca 2026"). Using Next.js dynamic routing, every new job entry automatically generates a highly optimized page. I inject dynamic JobPosting structured data (Schema.org) directly into the , ensuring the postings appear directly inside the Google Jobs widget. Because the pages are statically generated (with Incremental Static Regeneration - ISR) or server-side rendered, the page speed is incredibly fast, leading to higher search rankings. By combining n8n's automation with Next.js's performance, the platform practically runs itself. New jobs are indexed by Google within hours of being published. If you want to see this architecture in action, check out a live implementation of this exact stack at WadifaPublic.ma. It aggregates public sector matches and jobs in Morocco with zero manual data entry. Have you built anything similar using workflow automation tools? Let me know in the comments!
