Next.js
Websites and dashboards: pages generated at build time when possible, a server only when needed.
Technology
Not out of fashion, and not out of contempt for anything else. Because of how each option behaves when the project grows, when it has to be maintained for two years and when somebody tries to attack it.
| React / Next.js + Node | Custom PHP | CMS (WordPress and similar) | LMS (Moodle and similar) | |
|---|---|---|---|---|
| Performance | HTML generated at build time and served statically; interaction does not reload the page. | Good if looked after; every page is generated on every visit unless caching is added. | Depends on the theme and the plugins. Ending up with caches on top of caches is common. | Heavy by design: it does many things for many roles. |
| Attack surface | Static site: no database and no admin panel to attack. On the server side, only our own code. | Whatever you write. Entirely dependent on team discipline. | Core + theme + every plugin, each with its own patching pace. Most incidents come from there. | Large, and with student personal data inside. Updating is not optional. |
| Mid-term cost | A fast start with AI agents and little maintenance afterwards. | Cheap to start, expensive if nobody documents. | Very cheap to start; the cost shows up in plugin licences and updates that break things. | Low if it fits you as is; high as soon as it needs customising. |
| User experience | Stateful applications, real time and transitions without reloads. | Fine for classic websites; real time has to be bolted on. | Excellent for publishing content; limited for your own workflows. | Designed for courses, not for your business process. |
| Technical SEO | Full HTML from the first byte, metadata and structured data per page. | Good; everything has to be written by hand. | Very good out of the box, with mature plugins. | Irrelevant: the content usually sits behind a login. |
| Who maintains it | A team that knows JavaScript. That is the real requirement. | Easy to find, wide quality range. | Anyone can publish without touching code. That is its great advantage. | Administrators trained on the platform. |
Let's be honest
If your website is a blog, a standard shop or a corporate site that non-technical people will update, a CMS is the right answer and the cheap one too. Same with an LMS: if you need courses, enrolments, marks and certificates the usual way, Moodle has been solving that for twenty years and rewriting it makes no sense.

What we use
Websites and dashboards: pages generated at build time when possible, a server only when needed.
Stateful interfaces, real time and components reused across projects.
Large internal applications for teams that already work this way: strong structure and clear conventions.
APIs, background processes and real time over sockets, in the same language as the browser.
Native Android, when you need voice, real notifications or system access.
Document stores for things that change shape, relational for things that must add up.
Frequently asked
We will tell you frankly whether what we do suits you or not.