<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Leo Muhammad</title>
    <description>The latest articles on DEV Community by Leo Muhammad (@leo_emperor98).</description>
    <link>https://dev.to/leo_emperor98</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3670322%2F16c5612f-e8bc-48dd-aa70-198d678858ee.jpeg</url>
      <title>DEV Community: Leo Muhammad</title>
      <link>https://dev.to/leo_emperor98</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/leo_emperor98"/>
    <language>en</language>
    <item>
      <title>I Built 5 React Landing Page Templates in 2 Weeks — Here's What I Learned</title>
      <dc:creator>Leo Muhammad</dc:creator>
      <pubDate>Wed, 10 Jun 2026 06:12:11 +0000</pubDate>
      <link>https://dev.to/leo_emperor98/i-built-5-react-landing-page-templates-in-2-weeks-heres-what-i-learned-18f</link>
      <guid>https://dev.to/leo_emperor98/i-built-5-react-landing-page-templates-in-2-weeks-heres-what-i-learned-18f</guid>
      <description>&lt;p&gt;A few weeks ago I set myself a challenge: build 5 production-ready React landing page templates, each targeting a completely different niche, and sell them as digital products on Gumroad.&lt;/p&gt;

&lt;p&gt;Here's what I built, how I approached each one, and what I learned along the way.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;p&gt;Every template uses the same foundation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React 18&lt;/strong&gt; + &lt;strong&gt;Vite&lt;/strong&gt; — fast dev experience, optimized builds&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; — utility-first, easy to customize&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No UI libraries&lt;/strong&gt; — everything built from scratch&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dark mode&lt;/strong&gt; where it makes sense&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was clean, readable code that any developer could pick up and customize in minutes.&lt;/p&gt;




&lt;h2&gt;
  
  
  Template 1 — NexusAI (SaaS Landing Page)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://nexusai-templatevercelapp.vercel.app/" rel="noopener noreferrer"&gt;https://nexusai-templatevercelapp.vercel.app/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; $29&lt;/p&gt;

&lt;p&gt;The SaaS template was the first one I built. The challenge here was making it feel modern without being generic.&lt;/p&gt;

&lt;p&gt;Key decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mouse-tracking gradient on the hero&lt;/li&gt;
&lt;li&gt;Animated dashboard mockup built entirely with SVG and CSS&lt;/li&gt;
&lt;li&gt;Pricing section with a monthly/yearly toggle using React state&lt;/li&gt;
&lt;li&gt;Dark mode toggle persisted via &lt;code&gt;useEffect&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The typography choice (Plus Jakarta Sans + Inter) makes a huge difference here — it gives it that "Y Combinator startup" feel without loading a heavy font.&lt;/p&gt;




&lt;h2&gt;
  
  
  Template 2 — Forge Studio (Agency &amp;amp; Portfolio)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://agency-portfolio-one-phi.vercel.app/" rel="noopener noreferrer"&gt;https://agency-portfolio-one-phi.vercel.app/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; $29&lt;/p&gt;

&lt;p&gt;This one was the most fun to design. The brief I gave myself: dark, editorial, bold. Think Awwwards-winning agency sites.&lt;/p&gt;

&lt;p&gt;Key decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bebas Neue for display text — huge impact, zero compromise&lt;/li&gt;
&lt;li&gt;Lime green (#c8f135) as the single accent color&lt;/li&gt;
&lt;li&gt;CSS &lt;code&gt;marquee&lt;/code&gt; animation for the scrolling ticker&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;text-stroke&lt;/code&gt; CSS for outlined typography&lt;/li&gt;
&lt;li&gt;Custom cursor dot that follows mouse position&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project list section with hover interactions was the most technically interesting piece — pure CSS transitions, no JavaScript.&lt;/p&gt;




&lt;h2&gt;
  
  
  Template 3 — Ember &amp;amp; Oak (Restaurant &amp;amp; Fine Dining)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://restaurant-iota-ten.vercel.app/" rel="noopener noreferrer"&gt;https://restaurant-iota-ten.vercel.app/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; $32&lt;/p&gt;

&lt;p&gt;Going from a dark agency template to a warm luxury restaurant required a complete mindset shift.&lt;/p&gt;

&lt;p&gt;Key decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Playfair Display for that serif editorial feel&lt;/li&gt;
&lt;li&gt;Cream (#f5f0e8) background instead of pure white — warmer, more premium&lt;/li&gt;
&lt;li&gt;Gold (#c9a84c) as the single accent&lt;/li&gt;
&lt;li&gt;Interactive menu with tabs (Starters / Mains / Desserts) using React state&lt;/li&gt;
&lt;li&gt;Full reservation form with date picker, time selector, guest count, and occasion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The SVG plate decoration in the hero was a fun touch — subtle but adds depth.&lt;/p&gt;




&lt;h2&gt;
  
  
  Template 4 — IronForge (Fitness &amp;amp; Gym)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://fitness-gym-landing-page.vercel.app/" rel="noopener noreferrer"&gt;https://fitness-gym-landing-page.vercel.app/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; $34&lt;/p&gt;

&lt;p&gt;The fitness template needed to feel aggressive and high-energy without being overwhelming.&lt;/p&gt;

&lt;p&gt;Key decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Barlow Condensed — the only font choice for fitness&lt;/li&gt;
&lt;li&gt;Electric yellow (#e8ff00) — immediately signals energy&lt;/li&gt;
&lt;li&gt;Split hero layout: headline on the left, floating cards on the right&lt;/li&gt;
&lt;li&gt;"Live class" card with a progress bar to simulate real-time data&lt;/li&gt;
&lt;li&gt;Interactive schedule with Mon/Wed/Fri tabs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The transformation section with progress bars was a nice touch — gives the template a data-driven feel.&lt;/p&gt;




&lt;h2&gt;
  
  
  Template 5 — The Crown (Luxury Real Estate)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Live demo:&lt;/strong&gt; &lt;a href="https://dist-amber-three-89.vercel.app/" rel="noopener noreferrer"&gt;https://dist-amber-three-89.vercel.app/&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Price:&lt;/strong&gt; $39&lt;/p&gt;

&lt;p&gt;The hardest one to get right. The first version looked like every other real estate template. After a redesign, I landed on an ultra-minimal, editorial approach inspired by The Agency.&lt;/p&gt;

&lt;p&gt;Key decisions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full-screen dark hero with a horizontal search bar (Buy / Rent / Sell tabs)&lt;/li&gt;
&lt;li&gt;Cormorant Garamond for that luxury serif feel&lt;/li&gt;
&lt;li&gt;Asymmetric editorial property grid — first card spans 7 columns, rest span 5&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;cursor: crosshair&lt;/code&gt; on property cards — small detail, big impact&lt;/li&gt;
&lt;li&gt;Hover overlay on each card with a "View Details" CTA&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The philosophy section was inspired by luxury brand websites — copy that sells a lifestyle, not just a product.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Niche matters more than quality&lt;/strong&gt;&lt;br&gt;
The restaurant and real estate templates generate more interest than the SaaS one, even though the SaaS template is technically more complex. People search for specific solutions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Live demos are non-negotiable&lt;/strong&gt;&lt;br&gt;
Before I added Vercel demos, engagement was low. After adding them, people actually clicked through to Gumroad. Screenshots aren't enough.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Typography is 70% of the design&lt;/strong&gt;&lt;br&gt;
Swapping fonts completely changes the personality of a template. Bebas Neue = aggressive. Playfair Display = elegant. Barlow Condensed = athletic. Choose intentionally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Keep the stack simple&lt;/strong&gt;&lt;br&gt;
React 18 + Vite + Tailwind. No Redux, no complex state management, no heavy libraries. Buyers want something they can understand and modify quickly.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Templates
&lt;/h2&gt;

&lt;p&gt;All 5 templates are available on Gumroad:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Template&lt;/th&gt;
&lt;th&gt;Niche&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Demo&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;NexusAI&lt;/td&gt;
&lt;td&gt;SaaS&lt;/td&gt;
&lt;td&gt;$29&lt;/td&gt;
&lt;td&gt;&lt;a href="https://nexusai-templatevercelapp.vercel.app/" rel="noopener noreferrer"&gt;Demo&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Forge Studio&lt;/td&gt;
&lt;td&gt;Agency&lt;/td&gt;
&lt;td&gt;$29&lt;/td&gt;
&lt;td&gt;&lt;a href="https://agency-portfolio-one-phi.vercel.app/" rel="noopener noreferrer"&gt;Demo&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ember &amp;amp; Oak&lt;/td&gt;
&lt;td&gt;Restaurant&lt;/td&gt;
&lt;td&gt;$32&lt;/td&gt;
&lt;td&gt;&lt;a href="https://restaurant-iota-ten.vercel.app/" rel="noopener noreferrer"&gt;Demo&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IronForge&lt;/td&gt;
&lt;td&gt;Fitness&lt;/td&gt;
&lt;td&gt;$34&lt;/td&gt;
&lt;td&gt;&lt;a href="https://fitness-gym-landing-page.vercel.app/" rel="noopener noreferrer"&gt;Demo&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The Crown&lt;/td&gt;
&lt;td&gt;Real Estate&lt;/td&gt;
&lt;td&gt;$39&lt;/td&gt;
&lt;td&gt;&lt;a href="https://dist-amber-three-89.vercel.app/" rel="noopener noreferrer"&gt;Demo&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each template includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full React 18 + Vite source code&lt;/li&gt;
&lt;li&gt;README with setup instructions&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;npm install&lt;/code&gt; → &lt;code&gt;npm run dev&lt;/code&gt; — live in 60 seconds&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you have questions about any of the technical decisions, drop them in the comments. Happy to go deep on any of it.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>tailwindcss</category>
      <category>webdev</category>
      <category>react</category>
    </item>
  </channel>
</rss>
