DEV Community

Moataz Aldawood
Moataz Aldawood

Posted on

Bridging the FE/BE Divide: Why I Built a Zero-Dependency Component Engine for Vanilla HTML

If you’ve ever worked on a team with a strict separation between Front-End and Back-End developers, you know the pain.

The FE team builds and delivers pristine, raw HTML. Then, it lands on the BE team's desk. Suddenly, the back-end developers have to rewrite, restructure, or "clean up" the markup just to wrap it in server-side rendering logic—whether that is JSF, ASP, Laravel, PHP, Django, JSP, Thymeleaf, Blade, or Jinja2.

The result? Massive misalignment, friction, and wasted development cycles during handoff.

The Problem: The Markup Translation Tax
Why does this happen? Because traditional component frameworks (React, Vue, Svelte) require a heavy Node.js toolchain, build steps, and complex bundling. If a backend-heavy stack isn't running a full Node ecosystem, integrating modern component architectures becomes an uphill battle.

As a result, teams fall back on copy-pasting raw HTML templates, leading to out-of-sync codebases where the front-end design and back-end logic drift apart.

The Solution: Enter Andalina
To solve this misalignment, I wanted something lightweight that bridges the gap without forcing a massive infrastructure shift. So, I built Andalina (an-dalina)—a zero-dependency, client-side template engine that brings component architecture straight to vanilla HTML.

  • No Node.js required.
  • No Webpack or complex bundlers.
  • No server-side rendering setup needed to preview.
  • Built entirely on Standard HTML/XHTML.

How It Works
With Andalina, the FE team delivers structured, modular components that cleanly map to server-side component boundaries. Because it relies on standard HTML syntax, the BE team can easily ingest and integrate these templates directly into their existing server-side architecture without rewriting a single line of markup.

Best of all? It has only 6 tags to learn, making the learning curve flat for anyone on the team.

Try It Out & Let's Connect!
I built Andalina to help front-end and back-end teams work closer together and actually enjoy the handoff process.

You can check out the documentation and try it out here:
👉 Andalina Documentation

I would love to hear your thoughts. All kinds of feedback are welcome—ideas, enhancements, edge cases, or issues. Let’s make FE and BE developers friends again! :)

Top comments (0)