All work
Visit the site — quantumsw.tech
Live
Quantum Software
The company site and the API are separate deployments. Next.js renders the public pages. Node.js, in an MVC layout, owns the content API and PostgreSQL.
- Next.js
- Node.js
- Express
- PostgreSQL

/ Problem
Quantum Software needed a public site and a way to manage case studies, without mixing admin code into the marketing pages.
/ My role
Founder and developer. I split the product into a Next.js site and a Node.js API, and I deployed them separately.
/ What I built
- 01A Next.js site for the company, deployed on its own.
- 02A Node.js backend in an MVC layout.
- 03PostgreSQL, in a database named quantum_db, with case-study content stored in JSONB.
- 04An admin user seeded with a bcrypt hash.
- 05A database trigger that sets updated_at.
- 06Shared API helpers: a response utility, an AppError class, and an async handler. Not-found handling runs before the central error middleware.
- 07On the live response: nosniff, a referrer policy, a permissions policy, and SAMEORIGIN framing. The response does not send X-Powered-By.
A rewrite that would expose the dashboard at /admin was discussed. It is not listed here as live behavior. CORS was set for local development and still needs a production check.
/ One hard part
The site and the API ship apart
Pages stay on the Next.js project. Hashing, errors, and the database stay on the API. A content change does not require folding admin code into the marketing site.