Adobe Experience Manager (AEM) Tutorial: How to Build Your First Site

How to build your first AEM site, step by step. Setup, WKND, Edge Delivery Services, and what the tutorial doesn't tell you about real projects.

Himanshu Sahu
Himanshu Sahu
Founder & CEO
Table of contents

Ready for a website that actually sells?

Book a call
Headless CMS
8
Mins
September 8, 2026

Use            to summarize this article

ChatGPT
Perplexity AI
Claude
Gemini AI
Grok
Quick Summary
  • Building your first AEM site means setting up a local environment, generating a project via Maven, and following Adobe's official WKND tutorial step by step.
  • A realistic timeline is 1-2 weeks for a developer with prior Java experience to work through WKND's core chapters, closer to a month for real productivity.
  • Edge Delivery Services is a newer, lighter, Node.js-based path that skips Java and Maven entirely, worth asking about before committing to the traditional route.
  • AI-assisted component building is genuinely new in 2026, GitHub Copilot connected via Model Context Protocol can now scaffold AEM components from a plain-language description.
  • Completing WKND teaches the mechanics, not the real cost and timeline of a production implementation, which typically runs 2 to 4 times the annual license fee in year one.

Building your first AEM site means setting up a local development environment, generating a project, and building components using Adobe's official WKND tutorial as your guide.

It's not a weekend project. Real AEM onboarding for a developer new to the platform typically takes several weeks before they're genuinely productive.

Here's exactly what that process looks like, step by step, based on Adobe's own current documentation. If you're still deciding whether AEM is the right platform at all, Flowtrix's plain-English guide to what AEM actually is is worth reading first.

What you need before you start?

Java is required. AEM itself runs on the Java platform.

Apache Maven is required too. It's what builds and packages your AEM project into a deployable file.

An IDE matters more than it sounds. Adobe supports Eclipse with a dedicated AEM Developer Tools plugin. Visual Studio Code and IntelliJ both work as well.

Eclipse remains the most common choice. Adobe built official tooling specifically for it, which fewer other IDEs have.

You'll also need a local AEM instance. It needs to be fresh, with no extra sample or demo packages installed beyond required service packs.

A cluttered starting instance causes more confusing errors than almost anything else at this stage. Adobe's own documentation warns about this directly.

CRXDE Lite is worth knowing about too. It's a browser-based view directly into the AEM repository.

It's genuinely useful for debugging and inspecting content structure. Adobe is explicit that it's a supporting tool, not a primary development environment.

Use it to check permissions, inspect component structure, or troubleshoot a specific issue. Don't use it to build your actual project.

What You Need Before You Start

  • Java, since AEM itself runs on the Java platform
  • Apache Maven, to build and package your AEM project
  • An IDE, Eclipse with the AEM Developer Tools plugin, VS Code, or IntelliJ
  • A fresh local AEM instance, with no extra sample or demo packages installed
  • CRXDE Lite, for debugging only, never as your primary dev environment

What the WKND tutorial actually is?

WKND is Adobe's official, multi-part tutorial for developers new to AEM.

It walks through building a real site for a fictitious lifestyle brand, also called WKND.

The tutorial covers project setup, Core Components, Editable Templates, client-side libraries, and custom component development, in that order.

This isn't a third-party guide. It's Adobe's own recommended path.

It's the same starting point most AEM-certified developers actually learned on.

A realistic timeline is worth setting upfront. A developer with prior Java experience typically works through WKND's core chapters in one to two weeks of focused time.

1-2 wks
The realistic time for a developer with prior Java experience to work through WKND's core chapters, with genuine day-to-day productivity taking closer to a month

Genuine day-to-day productivity on a real project usually takes closer to a month. That's once real content, integrations, and team workflows enter the picture.

Step 1: Generate your project with the AEM Project Archetype

Your first real step is generating a new AEM project using a Maven archetype.

A Maven archetype is a template that scaffolds your entire project structure in one command.

This creates several modules automatically. The core module holds all your Java code.

Other modules handle the frontend, configuration, and package structure separately.

Adobe's archetype also generates a sample .gitignore file for you. It's a sensible starting point for which files should be excluded from version control.

Once this step completes, you technically have a working AEM project. It doesn't do anything meaningful yet, but the foundation is in place.

If you're working against AEM 6.5 or 6.4 instead of Cloud Service, the commands differ slightly. You need to append a classic profile flag to your Maven commands, and check a corresponding classic checkbox if you're using an IDE's Maven profile settings.

Step 2: Get AEM running locally

With your project generated, the next step is deploying it to your local AEM instance.

That instance typically runs on port 4502 by default.

Maven handles this deployment. A single install command, run with a specific profile flag, builds your project and pushes it to the running local instance.

If you only need to work on one module during development, Maven profiles let you deploy just that piece instead. You avoid rebuilding the entire project every single time.

This matters more once a project grows. Rebuilding everything for a one-line change wastes real time across a full day of development.

"Waiting for the AEM rebuild to finish so you can see if it actually worked"

You can also target a different AEM instance entirely if needed. That includes deploying directly to a Publish instance, or to AEM running on a port other than the default.

Step 3: Build your first component

Adobe's Component Basics tutorial uses a simple HelloWorld example.

It teaches the underlying technology behind every AEM component through that one small, deliberately simple case.

You'll touch four things here. HTL, HTML Template Language, is AEM's templating syntax for rendering markup.

Sling Models are Java classes that supply data to your templates. They keep your business logic separate from your presentation markup.

Dialogs are the authoring interface editors actually use. This is where a content editor types a title or uploads an image, without touching any code.

Client-side libraries are your CSS and JavaScript, bundled AEM's specific way rather than a standard bundler.

A real, slightly more advanced example: building a Hero Banner component. It would need a title field, a subtitle field, a background image upload, and a call-to-action button and link, exactly the kind of component every marketing site actually needs.

Testing matters here too, even in a tutorial. AEM supports JUnit 5 tests using AEM Mocks, letting you test component logic without a running AEM instance for every single test run.

Step 4: Templates and pages

Once you understand basic components, WKND moves into Editable Templates.

This is the system that lets a content author build new pages from a defined structure. No developer needs to be involved for every single new page.

Core Components come in at this stage too. They're Adobe's library of pre-built, reusable components, text, image, teaser, button, and more.

Most implementations build on top of Core Components rather than writing every piece from scratch. That's genuinely the recommended approach, not just a shortcut.

You'll configure a page header using an Experience Fragment. Experience Fragments are reusable content blocks that stay consistent across every page pulling them in.

You'll do the same for a footer, pointing it to its own Experience Fragment path.

Then you lock down the main content area of the template. This stops authors from accidentally breaking the core page structure while they're editing.

Common mistakes first-time AEM developers make

Starting from an unclean local instance is the most common one. That's exactly why Adobe insists on a fresh install with no extra sample packages before you begin.

Writing custom components before learning Core Components is another. Most of what a real project needs, text blocks, images, buttons, teasers, already exists.

That existing component library just needs configuring, not rebuilding from scratch. Skipping straight to custom code usually means duplicating work Adobe already did.

Skipping the Maven profile options is a smaller but real time-cost. Rebuilding an entire project every time you change one small piece slows development down considerably once a project grows past the tutorial stage.

Ignoring browser caching during frontend debugging causes a lot of confusing, hard-to-diagnose issues. Old CSS or JavaScript quietly loading from cache is a common, easy-to-miss culprit.

Pro Tip
Always start WKND from a completely fresh local AEM instance with no extra sample packages installed. Most of the confusing, hard-to-diagnose errors beginners hit trace back to a cluttered starting environment, not their actual code.

Clearing browser history, or just starting an incognito session, rules this out fast. It's worth doing before assuming your actual code is broken.

Where certification fits into this?

Adobe runs an official AEM certification path for developers who complete this kind of training.

It's not required to build real AEM sites. Plenty of capable AEM developers never sit the exam.

It's worth pursuing if you're job-hunting specifically for AEM roles, or if your team wants a formal way to verify a new hire's actual skill level.

Not sure if AEM is the right build for your team?

The lighter path: Edge Delivery Services

Adobe now offers a genuinely different, lighter development path called Edge Delivery Services.

It's worth knowing this exists before committing to the traditional Maven-based approach.

Factor Traditional AEM (Maven-based) Edge Delivery Services
Core toolchain Java, Maven, local AEM instance Node.js, AEM CLI
Local dev command Maven install with profile flags Single `aem up` command
Code changes Rebuild and redeploy cycle Hot-reload, instant in browser
Build system Maven-based packaging No Webpack or Vite required
Best for Complex, deeply customized enterprise builds Faster development and page performance

Instead of Java, Maven, and a local AEM instance, Edge Delivery Services projects run on the AEM CLI. That's a Node.js-based tool, not a Java toolchain.

A single aem up command starts a local dev server. It comes with hot-reload built in.

Changes to your code show up in the browser immediately. There's no rebuild-and-redeploy cycle to wait through.

This path skips traditional build systems like Webpack or Vite entirely. It's built specifically for speed, both in development and in the resulting site's page performance.

Project configuration lives in a couple of key files, fstab.yaml and paths.json. If a new project loads with a 404 error, one of those two files is usually the actual cause.

For a growth-stage company evaluating AEM, this lighter path is genuinely worth asking about directly. It changes both the development timeline and the ongoing maintenance burden significantly.

Going headless: the Universal Editor and Content Fragments

If your actual goal is a headless build, a React app, a mobile app, something that isn't a traditional AEM-rendered page, the process branches differently.

You'll work with Content Fragment Models and Content Fragments instead of pages and components.

Content gets delivered through AEM's GraphQL API as structured data, not rendered HTML.

Adobe's Universal Editor solves the biggest complaint about headless content editing. Authors normally can't see their content rendered while they edit it.

The Universal Editor changes that. A React app gets instrumented so an author can visually edit content, even though it's being delivered as structured data behind the scenes.

Setting this up involves configuring CORS, Cross-Origin Resource Sharing, so your external app is allowed to call AEM's APIs from the browser at all.

It also involves a Token Authentication Handler, which authenticates each individual request to AEM's GraphQL endpoint.

Both are real security steps. They're easy to skip during initial setup and genuinely painful to debug later once something isn't working.

For local testing, this often means running your React app over HTTPS rather than plain HTTP, since the Universal Editor expects a secure connection to work correctly.

What's genuinely new in 2026: AI-assisted component building

Adobe now supports building AEM components through AI coding assistants directly.

That includes GitHub Copilot, connected through the Model Context Protocol, a standard that lets an AI tool talk directly to AEM's local SDK.

In practice, a developer can describe a component in plain language. Something like "create a Hero Banner with a title, subtitle, background image, and CTA."

The AI agent generates the dialog specification and component files automatically from that description.

Support extends to more complex patterns too. That includes conditional show and hide logic on fields, and extending Core Components using Sling Resource Merger rather than duplicating them.

Generated components come with test coverage included, using the same JUnit 5 and AEM Mocks setup mentioned earlier.

This doesn't remove the need to understand AEM's underlying structure. It does meaningfully cut down the boilerplate work that used to eat the first few weeks of every new AEM developer's time.

What the tutorial doesn't tell you?

WKND teaches the mechanics well.

It doesn't tell you that a real production AEM implementation involves content migration, integration with existing marketing systems, and governance and approval workflows.

It also doesn't tell you about the genuine multi-month timeline before a real project actually launches.

Implementation cost reflects that reality too. Industry estimates put real AEM implementation at 2 to 4 times the annual license cost in year one.

Flowtrix's AEM pricing guide breaks that number down in full, since Adobe never publishes it directly.

Completing WKND makes you comfortable with AEM's mechanics. It doesn't automatically make a small team ready to run a full enterprise AEM implementation.

That gap is exactly where most real projects bring in a specialized partner.

Where a lighter platform fits instead?

Everything WKND teaches, structured components, reusable templates, an API for headless delivery, is genuinely valuable.

Most of it doesn't require AEM's specific implementation weight to actually get.

This is the gap platforms like BetterCMS are built to close. A hybrid, AI-native platform delivers that same structured, API-first content model.

It comes with a real visual editor for marketers included. There's no Java, Maven, or multi-week onboarding curve to get through before a team becomes productive.

For a team evaluating AEM specifically because they want structured content and headless delivery, not the entire Adobe Experience Cloud, that's usually a faster path to the same underlying architecture.

See how Flowtrix builds right-sized content platforms

Flowtrix has delivered 120+ website builds for B2B SaaS, AI, and enterprise brands, scoping the right architecture for each one.

B2B Marketing
GTM Platform

A CMS architecture built to organize a growing portfolio of services into one cohesive, easy-to-scale site, with 10x faster content updates after launch.

Read Case Study
SaaS
Enterprise

A structured CMS built for an enterprise supply chain platform, supporting six resource categories from day one with a 45% increase in SEO visibility.

Read Case Study
See More Case Studies

How Flowtrix thinks about this?

Flowtrix helps companies work out whether they actually need AEM's full implementation weight.

The alternative question is whether a lighter, right-sized platform delivers the same structured content model, without the multi-month build and ongoing Java development overhead.

That evaluation starts the same way AEM's own tutorial does. It begins with the content model and component structure, since that decision matters more than which platform ultimately hosts it.

For teams already committed to AEM, understanding what WKND actually teaches versus what a production implementation requires is the right first step.

Flowtrix's guide to Adobe Experience Manager and AEM pricing breakdown cover the two questions worth answering before that conversation starts.

Ready to build the right platform for your team?

FAQ's

Common questions about building your first Adobe Experience Manager site.

What is the WKND tutorial in AEM?
WKND is Adobe's official, multi-part tutorial for developers new to AEM. It walks through building a real site for a fictitious lifestyle brand, covering project setup, Core Components, Editable Templates, and custom component development.
How long does it take to learn AEM?
A developer with prior Java experience typically works through WKND's core chapters in one to two weeks of focused time. Genuine day-to-day productivity on a real project usually takes closer to a month.
What do I need to build my first AEM site?
You need Java, Apache Maven, an IDE such as Eclipse with the AEM Developer Tools plugin, and a fresh local AEM instance with no extra sample packages installed.
What is Edge Delivery Services in AEM?
Edge Delivery Services is a lighter, Node.js-based AEM development path that uses the AEM CLI instead of Java and Maven, with hot-reload and no traditional build system like Webpack or Vite required.
Can AEM be used as a headless CMS?
Yes. AEM supports headless delivery through Content Fragments and a GraphQL API, and Adobe's Universal Editor allows authors to visually edit content even when it's delivered as structured data to a decoupled frontend.
Does completing the WKND tutorial prepare you for a real AEM project?
It teaches the technical mechanics well, but a real production implementation also involves content migration, system integration, governance workflows, and a multi-month timeline that the tutorial doesn't cover.
Does Flowtrix help with AEM projects?
Flowtrix helps companies evaluate whether they actually need AEM's full implementation weight, or whether a lighter, right-sized platform delivers the same structured content model without the multi-month build.
Himanshu Sahu
Himanshu Sahu
Founder & CEO
September 8, 2026

Use AI to summarize this article

ChatGPT
Perplexity AI
Claude
Gemini AI
Grok

Thinking about a Revamp?

let's talk