When building SaaS landing pages, I kept running into the same problem:
Every new project started with a messy structure.
Components were scattered, sections were hard to reuse, and the landing page quickly became difficult to maintain.
So recently I rebuilt my landing page architecture with a simple goal:
Make every section reusable and easy to customize.
Here is the simplified structure of the project.
Using Next.js App Router makes it easy to create different landing page variations.
app/
analytics
demo
doc
startup
Each route represents a different landing page variation or product page.
This makes it easier to experiment with different landing page styles without touching the core components.
The landing page itself is built from reusable sections.
components/
hero
features
pricing
testimonials
faq
cta
navbar
footer
ui
Instead of building a huge page component, each section becomes its own module.
For example:
HeroSection
FeatureSection
PricingSection
Testimonials
Then the landing page simply assembles these blocks.
The hero section itself is split into smaller pieces.
hero/
HeroSection.tsx
AnimatedRobot.tsx
FloatingStats.tsx
This makes animations and layout updates much easier to maintain.
I also separated common UI elements:
ui/
Button
Card
Container
AuroraBackground
This allows every section to share the same design system.
This architecture makes it much easier to:
• launch new SaaS landing pages quickly
• reuse sections across projects
• maintain clean code structure
• iterate on designs faster
Instead of rebuilding landing pages every time, it's more like assembling a system.
If you're curious what the final landing page looks like, here is the live demo:
https://vuleo-ai-saas.vercel.app
I turned this architecture into a reusable landing page template for founders and indie hackers launching SaaS products.
If you want the full source code:
https://vuleolabs.gumroad.com/l/nharb
Curious how other developers structure their landing page projects.
Do you prefer a single page component or a modular component system?
One thing I forgot to mention:
The goal of this structure was to make launching new SaaS landing pages much faster.
Instead of redesigning everything, you can just assemble sections like Lego blocks.