← 一覧へ

—

Carrd徹底解剖:彼は静かに最も成功したインディープロジェクトの一つを構築した
月商 — · 創業者—人 · 従業員—人 · —
—(—)· 創業 — · 記事掲載 March 6th, 2024 · — · 元の記事

何の商売か
誰がシンプルなウェブサイトを素早く作りたい個人事業主や、インディーハッカー(少人数の開発者・起業家)。特にウェブデザインのスキルや専門知識がなくても、自分でサイトを持ちたいと考えている人
何のためにWixやSquarespaceのような多機能なサイトビルダーにつきまとう複雑さや、多ページサイトの学習曲線に煩わされず、手軽にオンラインプレゼンスを構築・更新したい
何を買うか簡単に作れる1ページのウェブサイト。無料プランで利用でき、有料プランは年間9ドル(約1,350円)、19ドル(約2,850円)、49ドル(約7,350円)の3種類

創業者が既存のTwitterフォロワーに告知し、主にProduct Huntでのローンチをきっかけに大きく広まった。集客は口コミ、ソーシャルメディア、そして無料サイトのフッターにある「Made with Carrd」リンクによるものが中心で、積極的な広告は行われていない

売値の出典: 記事の本文(2024年3月6日掲載記事)(2026-10-14 取得)

Who is AJ?

AJ is best known as @ajlkn on Twitter. He chooses to keep his identity and personal life private. Based in Nashville, Tennessee, he has a background in web design and development, having created numerous website templates and themes before Carrd. AJ's ventures, including HTML5 UP and Pixelarity, have established him as a proficient developer and designer in the online community.

What problem does Carrd solve?

Carrd addresses the need for a straightforward and simple website builder. It eliminates the complexities and learning curves associated with multi-page sites and comprehensive site builders like Wix or Squarespace, making web design accessible to everyone, including those with zero technical skills. Niches Software Web Development Target Audiences Solopreneurs Indie Hackers

Founder-Market Fit

Skills What skills did AJ have that led to their success? Coding Skills Website Development Design Skills Product Hunt Javascript Solo Developer By Makers, For Makers Passions Problem Solving Product Design

How did AJ come up with the idea for Carrd?

AJ got the idea for Carrd out of a desire to branch out from his routine work of designing and coding website templates. This routine work had become too easy and almost monotonous, prompting him to seek a new challenge that would leverage his extensive skills in a fresh way. He realized that while he was looking for something different to do, he still wanted to stay close to his core expertise in web design and development. He wanted to build for a simple idea that could serve a broad audience. This drive to innovate within his domain, coupled with his recognition of users' desires for simplicity and efficiency in web building tools, spurred him to develop Carrd.

How did AJ build the initial version of Carrd?

Here's how AJ likely approached building Carrd: Static Site Generation: Carrd operates fundamentally as a static site generator, meaning that it creates websites by assembling static content files without server-side processing at the time of page loading. Front-End Development: For the front-end, AJ used a mix of vanilla JavaScript and jQuery, which is indicative of his preference for a more hands-on approach to coding and a desire to avoid heavy frameworks that may introduce unnecessary complexity. Vanilla JavaScript and jQuery provide a solid foundation for creating interactive web elements and handling AJAX requests without the overhead of larger frameworks. Responsive Design: Given AJ's history with HTML5 UP and responsive templates, he used responsive design principles to ensure Carrd sites would work across various devices and screen sizes. This would involve CSS media queries and potentially a framework like Bootstrap, or his own custom responsive design code. Back-End and Infrastructure: he used a combination of server-side scripting (like Node.js, which complements his JavaScript expertise) and a lightweight database system (like MongoDB or even a relational database such as PostgreSQL or MySQL) for handling user accounts and site data. AJ's approach to building Carrd underscores his ability to balance technical expertise with a practical, product-focused mindset, building iteratively, and responding to user feedback.

What were the initial startup costs for Carrd?

AJ utilized his extensive skills in both front-end and back-end development to build Carrd, indicating a low financial cost but a significant investment in terms of time and expertise. Domain Registration: $10 - $50/year Web Hosting: $5 - $20/month. Initial costs could be low, using shared hosting or a small VPS (Virtual Private Server). As the project grew, costs increased. Development Tools: While many development tools are free, specialized software or subscriptions can add costs, potentially hundreds of dollars annually. Marketing and Launch: Early marketing efforts, including social media and community engagement, had minimal costs beyond time. Product Hunt does not charge for listings, but preparing for a launch could incur costs if promotional materials or ads are used elsewhere. Given AJ's approach, much of Carrd's development relied on his existing knowledge and open-source tools, likely keeping these costs low.

How did AJ launch Carrd and get initial traction?

Carrd was launched on Twitter and Product Hunt in 2016, receiving an overwhelming response from both platforms. AJ credits a significant part of Carrd's success to the visibility and user feedback garnered from these launches, highlighting the importance of a strong online presence and community engagement.

What was the growth strategy for Carrd and how did they scale?

Twitter Launch AJ began by announcing Carrd to his existing followers on Twitter, where he had built a substantial audience through his previous projects, HTML5 UP and Pixelarity. His followers were already familiar with his work and trusted his expertise in web design, making them a primed audience for Carrd. This initial announcement helped generate immediate interest and sign-ups from his existing network, showcasing the importance of building and engaging with a dedicated follower base over time. Product Hunt Launch The real breakthrough in customer acquisition came from Carrd's launch on Product Hunt. Despite an early, unintended posting by a follower when Carrd was still in a "coming soon" state, AJ managed to officially launch it on the platform shortly after its public release. This launch was meticulously planned to capitalize on Product Hunt's vast community of tech enthusiasts, early adopters, and influencers. The visibility from being featured on Product Hunt led to a significant surge in user sign-ups, site creations, and even Pro plan upgrades, far exceeding the traction generated from the Twitter announcement alone. Even now, AJ’s recipe for awareness and distribution is very organic and very product-led. He hasn’t really done any marketing, relying instead on word of mouth and low-key viral elements within the experience like the branded URL and a “Made with Carrd” link that appears in each free website footer.

What's the pricing strategy for Carrd?

Offers a free plan and three paid options priced at: -$9 -$19 -$49 per year**

What were the biggest lessons learned from building Carrd?

Focus Is Key: Limiting Carrd's scope was crucial in making the project manageable and successful. Independence from Competitors: Understanding the competition without being constrained by their actions enabled a unique vision for Carrd. Flexibility Within Vision: While maintaining the core idea of Carrd, adaptability in response to user feedback led to valuable features like the Control Element. Barrier-Free Trial: Allowing users to try Carrd without signing up significantly contributed to its early traction, especially post-Product Hunt feature. Real Device Testing: Emulators are no substitute for the real thing. Testing on actual devices can uncover critical issues.

What platform/tools does Carrd use?

Custom Built Stack 232 using PayPal Payments 758 using Stripe Payments 782 using Google Analytics Analytics 1,075 using newDocumentReady(function () { $(".database-result-bottom").unbind().click(function() { $(this).find(".database-result-bottom-contents").toggle(); }) // Mobile DB view toggle — switch between the compact row list (default) // and the rich card view, remembered in localStorage. Instant, no reload. // Leading ';' guards against ASI: the preceding statement ends in `})`. ;(function () { var group = document.querySelector('.db-view-toggle-group'); if (!group) return; var rowsPanel = document.getElementById('db-view-rows'); var cardsPanel = document.getElementById('db-view-cards'); function applyView(view) { var isCards = view === 'cards'; if (cardsPanel) cardsPanel.classList.toggle('hidden', !isCards); if (rowsPanel) rowsPanel.classList.toggle('hidden', isCards); group.querySelectorAll('.db-view-toggle').forEach(function (b) { b.classList.toggle('db-view-toggle-active', b.dataset.view === view); }); } var saved = 'rows'; try { saved = window.localStorage.getItem('dbMobileView') || 'rows'; } catch (e) {} applyView(saved === 'cards' ? 'cards' : 'rows'); group.querySelectorAll('.db-view-toggle').forEach(function (b) { b.addEventListener('click', function () { var v = b.dataset.view; try { window.localStorage.setItem('dbMobileView', v); } catch (e) {} applyView(v); }); }); })(); // Search UX: debounced auto-submit + global "/" focus shortcut. // Server-side pg_search is GIN-indexed and returns in <50ms; combined // with the page render, total feedback after the debounce window is // ~500ms — close enough to "live" without an XHR/Turbo refactor. var searchInput = document.getElementById('search'); if (searchInput) { var debounceTimer = null; var lastSubmittedValue = searchInput.value; searchInput.addEventListener('input', function () { clearTimeout(debounceTimer); debounceTimer = setTimeout(function () { // Don't submit if the value hasn't changed (e.g. arrow keys). if (searchInput.value === lastSubmittedValue) return; lastSubmittedValue = searchInput.value; searchInput.form && searchInput.form.submit(); }, 350); }); // Enter still submits immediately — short-circuits the debounce. searchInput.addEventListener('keydown', function (e) { if (e.key === 'Enter') { e.preventDefault(); clearTimeout(debounceTimer); searchInput.form && searchInput.form.submit(); } }); } // Global "/" shortcut to focus search — GitHub/Linear pattern. document.addEventListener('keydown', function (e) { if (e.key !== '/' || e.metaKey || e.ctrlKey || e.altKey) return; var t = e.target; if (t && (t.tagName === 'INPUT' || t.tagName === 'TEXTAREA' || t.isContentEditable)) return; var s = document.getElementById('search'); if (s) { e.preventDefault(); s.focus(); s.select(); } }); function prettySliderValue(func, value) { var n = Math.round(Number(value)); if (func == "money") { if (n >= 1000000000) return "$" + (n / 1000000000).toFixed(n % 1000000000 === 0 ? 0 : 1) + "B"; if (n >= 1000000) return "$" + (n / 1000000).toFixed(n % 1000000 === 0 ? 0 : 1) + "M"; if (n >= 1000) return "$" + (n / 1000).toFixed(n % 1000 === 0 ? 0 : 1) + "K"; return "$" + numberWithCommas(n); } else if (func == "daystomonths") { return (n / 30) + " months"; } else if (func == "hours") { return n + " hours"; } else { return n; } } function getInitialSliderValues(el) { var initial = el.dataset.initial; var defMin = Number(el.dataset.defaultmin); var defMax = Number(el.dataset.defaultmax); if (initial) { var parts = initial.split("|"); var a = parts[0] === "" ? defMin : Number(parts[0]); var b = parts[1] === "" ? defMax : Number(parts[1]); return [a, b]; } return [defMin, defMax]; } function createTwoProngedSlider(id) { var el = document.querySelector(id); if (!el || el.noUiSlider) return; var min = Number(el.dataset.min); var max = Number(el.dataset.max); var step = Number(el.dataset.step); var cleanfunc = el.dataset.cleanfunc; var values = getInitialSliderValues(el); var container = el.closest(".range-filter") || el.parentElement; var input = container.querySelector('input[type="hidden"]'); var label = container.querySelector(".preview-label"); noUiSlider.create(el, { start: values, connect: true, step: step, range: { min: min, max: max }, behaviour: "tap-drag" }); el.noUiSlider.on("update", function(vals) { var lo = Math.round(Number(vals[0])); var hi = Math.round(Number(vals[1])); if (label) label.textContent = prettySliderValue(cleanfunc, lo) + " – " + prettySliderValue(cleanfunc, hi); if (input) input.value = lo + "|" + hi; }); el.noUiSlider.on("change", function() { var form = el.closest("form"); if (form) form.submit(); }); } createTwoProngedSlider("#revenue-slider"); createTwoProngedSlider("#starting-costs-slider"); createTwoProngedSlider("#time-to-revenue-slider"); createTwoProngedSlider("#min-hours-per-week"); createTwoProngedSlider("#market-size"); createTwoProngedSlider("#startup-costs"); createTwoProngedSlider("#case-studies"); $(".mobile-filters-applied-button").click(function() { $(".database-filters").addClass("inView") }) $(".close-mobile-filters").click(function() { $(".database-filters").removeClass("inView") }) // Explore "More filters" — reveal/hide the secondary filter pills. var moreFiltersToggle = document.getElementById("explore-more-filters-toggle"); if (moreFiltersToggle) { moreFiltersToggle.addEventListener("click", function () { var panel = document.querySelector(".explore-secondary-filters"); if (!panel) return; var nowHidden = panel.classList.toggle("hidden"); moreFiltersToggle.setAttribute("aria-expanded", String(!nowHidden)); }); } // Infinite scroll lives in its OWN init block below (initSSInfiniteScroll), // deliberately decoupled from this newDocumentReady callback. Anything that // throws above (a slider lib that didn't load from CDN, a jQuery plugin, // etc.) would otherwise abort the rest of THIS callback and silently kill // infinite scroll — the "only works on a hard reload" bug. Keeping it // separate means nothing here can take it down. }); // ---- Infinite scroll (pro/admin/free-access; table + tile views) ---- // Driven off Kaminari's next-page URL, which the partial renders into // #infinite-scroll-sentinel only when the visitor is eligible. We fetch the // next full page, lift out the children of its .database-append-target // container (<tbody> rows for the table view, tiles for the grid views), // append them, then chain to that page's own sentinel URL. DOMParser does // NOT execute the fetched page's scripts, so only content nodes are added — // sliders/search/PostHog never re-run. The sentinel is absent for non-pro // visitors, so this whole block no-ops for them and their paywall is intact. // // Idempotent: guarded by sentinel.dataset.ssInfiniteInit so re-running on // pageshow (bfcache/back-forward restore, where DOMContentLoaded never fires) // can't double-observe an already-wired sentinel. function initSSInfiniteScroll() { var sentinel = document.getElementById('infinite-scroll-sentinel'); if (!sentinel || !sentinel.dataset.nextUrl) return; if (sentinel.dataset.ssInfiniteInit === '1') return; sentinel.dataset.ssInfiniteInit = '1'; // The "database" view renders TWO append targets — the mobile card list // and the desktop table tbody (one is display:none per viewport). Append // to both so infinite scroll works no matter which is visible. Tile views // have a single target. containers[0] drives the loaded-count readout. var containers = Array.prototype.slice.call(document.querySelectorAll('.database-append-target')); if (!containers.length) { delete sentinel.dataset.ssInfiniteInit; return; } var container = containers[0]; // Infinite scroll is live — hide the prev/next fallback for JS clients. var paginate = document.querySelector('.paginate'); if (paginate) paginate.style.display = 'none'; var numResults = document.querySelector('.num-results'); var loadingEl = sentinel.querySelector('.infinite-scroll-loading'); var nextUrl = sentinel.dataset.nextUrl; var loading = false; // Item nodes only — tile partials (e.g. _video) emit a sibling <style> // per render; those are global CSS we already have, so skip them when // appending and counting. function itemNodes(root) { return Array.prototype.filter.call(root.children, function (n) { return n.tagName !== 'STYLE' && n.tagName !== 'SCRIPT'; }); } function updateCount() { if (!numResults) return; var count = itemNodes(container).length; // Keep the "of N …" suffix; just bump the leading loaded-count. numResults.textContent = numResults.textContent.replace(/Showing\s+[\d,]+/, 'Showing ' + count.toLocaleString()); } function loadMore() { if (loading || !nextUrl) return; loading = true; if (loadingEl) loadingEl.style.display = ''; fetch(nextUrl, { headers: { 'X-Requested-With': 'XMLHttpRequest' } }) .then(function (r) { return r.text(); }) .then(function (html) { var doc = new DOMParser().parseFromString(html, 'text/html'); var srcs = doc.querySelectorAll('.database-append-target'); Array.prototype.forEach.call(srcs, function (src, i) { var dest = containers[i]; if (!dest) return; itemNodes(src).forEach(function (node) { dest.appendChild(document.importNode(node, true)); }); }); var ns = doc.getElementById('infinite-scroll-sentinel'); nextUrl = (ns && ns.dataset.nextUrl) || null; sentinel.dataset.nextUrl = nextUrl || ''; updateCount(); if (!nextUrl) { observer.disconnect(); sentinel.style.display = 'none'; } }) .catch(function () { /* leave nextUrl intact so a later scroll retries */ }) .finally(function () { loading = false; if (loadingEl) loadingEl.style.display = 'none'; }); } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (e) { if (e.isIntersecting) loadMore(); }); }, { rootMargin: '600px 0px' }); observer.observe(sentinel); } newDocumentReady(initSSInfiniteScroll); // bfcache/back-forward restore doesn't fire DOMContentLoaded; pageshow does. // Idempotency guard above makes the re-call a no-op when already wired. window.addEventListener('pageshow', initSSInfiniteScroll); .blur-row { filter: blur(4px); pointer-events: none; user-select: none; } /* Mobile view toggle (rows ↔ cards) */ .db-view-toggle { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border: 0; border-radius: 6px; background: transparent; color: #64748b; font-size: 12px; font-weight: 600; cursor: pointer; transition: background-color 0.12s, color 0.12s; } .db-view-toggle-active { background: #0f172a; color: #ffffff; } .database-video-grid { display: grid; grid-template-columns: 1fr; gap: 18px; } @media (min-width: 768px) { .database-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } } /* Airbnb-style range slider (uses noUiSlider) */ .range-filter { display: inline-flex; flex-direction: column; justify-content: center; gap: 4px; padding: 6px 16px 10px; border: 1px solid rgb(226 232 240); background: #fff; border-radius: 9999px; min-width: 220px; margin-bottom: 0 !important; } .range-filter .range-filter-header { display: flex; align-items: baseline; gap: 6px; line-height: 1; } .range-filter .range-filter-header label { font-size: 0.875rem; color: rgb(100 116 139); font-weight: 500; margin: 0 !important; line-height: 1.2; flex-shrink: 0; } .range-filter .range-filter-header label::after { content: "|"; margin-left: 6px; color: rgb(203 213 225); font-weight: 400; } .range-filter .preview-label { font-size: 0.875rem; color: rgb(15 23 42); font-weight: 600; line-height: 1.2; margin: 0 !important; white-space: nowrap; } .range-filter .filter-slider.noUi-target { height: 3px; background: rgb(226 232 240); border: 0; box-shadow: none; border-radius: 9999px; margin: 3px 6px 0; } .range-filter.is-active { border-color: rgb(15 23 42); background: rgb(241 245 249); } .range-filter.is-active .range-filter-header label { color: rgb(15 23 42); } .range-filter .filter-slider .noUi-connect { background: rgb(15 23 42); } .range-filter .filter-slider .noUi-handle { height: 20px; width: 20px; top: -8px; right: -10px; border-radius: 9999px; background: #fff; border: 1px solid rgb(203 213 225); box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12), 0 2px 4px rgba(15, 23, 42, 0.08); cursor: grab; transition: transform 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease; outline: none; } .range-filter .filter-slider .noUi-handle::before, .range-filter .filter-slider .noUi-handle::after { display: none; } .range-filter .filter-slider .noUi-handle:hover { border-color: rgb(15 23 42); transform: scale(1.05); } .range-filter .filter-slider .noUi-handle.noUi-active, .range-filter .filter-slider .noUi-handle:focus-visible { cursor: grabbing; box-shadow: 0 0 0 6px rgba(15, 23, 42, 0.08), 0 2px 6px rgba(15, 23, 42, 0.18); border-color: rgb(15 23 42); } .range-filter .filter-slider.noUi-horizontal { height: 4px; } .range-filter input[type="hidden"] { display: none; }

Discover Similar Business Ideas Like Carrd

IDEA REVENUE Reddit audience research ... · gummysearch.com Audience research tool for Reddit users $1K /mo Catholic prayer and medit... · hallow.com "Catholic prayer and meditation app fostering faith growth." — No-code website builder · dorik.com 'Website builder for non-coders' — Website technology profiler · builtwith.com Website technology profiler for competitive analysis. — Trend discovery platform · treendly.com Trend-spotting platform for untapped market insights. $1K /mo Open-source live support ... · livehelperchat.com Open-source live chat platform for companies. $7.5K /mo EG Ai-powered linkedin post ... · easygen.io AI tool for generating LinkedIn content. — newDocumentReady(function() { // Save-bookmark hover — delegated on document (guarded once) so rows // appended by infinite scroll get the behavior too. mouseover/mouseout // bubble (mouseenter/leave don't); closest('tr') scopes to the hovered row, // and the relatedTarget check suppresses flicker when moving cell-to-cell // within the same row. if (!window.__saveBookmarkHoverInit) { window.__saveBookmarkHoverInit = true; document.addEventListener('mouseover', function(e) { var row = e.target.closest('tr'); if (!row) return; var saveBookmark = row.querySelector('.save-bookmark'); if (saveBookmark) saveBookmark.classList.remove('invisible'); }); document.addEventListener('mouseout', function(e) { var row = e.target.closest('tr'); if (!row) return; if (e.relatedTarget && row.contains(e.relatedTarget)) return; var saveBookmark = row.querySelector('.save-bookmark'); if (saveBookmark) saveBookmark.classList.add('invisible'); }); } // ---- Tag-pill hover tooltip (LLM-generated context for each Tagging) ---- if (!window.__tagTooltipInit) { window.__tagTooltipInit = true; const tip = document.createElement('div'); tip.className = 'tag-tooltip-popover'; tip.style.cssText = [ 'position:fixed','z-index:9999','max-width:340px','display:none', 'background:#0f172a','color:#fff','font-size:12px','line-height:1.4', 'padding:8px 10px','border-radius:6px','box-shadow:0 8px 24px rgba(0,0,0,.18)', 'pointer-events:none','white-space:normal' ].join(';'); document.body.appendChild(tip); const showTip = function(e) { const target = e.currentTarget; const text = target.getAttribute('data-tag-tooltip'); if (!text) return; tip.textContent = text; tip.style.display = 'block'; const r = target.getBoundingClientRect(); const tr = tip.getBoundingClientRect(); let top = r.bottom + 8; if (top + tr.height > window.innerHeight - 8) top = r.top - 8 - tr.height; let left = r.left; if (left + tr.width > window.innerWidth - 8) left = window.innerWidth - tr.width - 8; if (left < 8) left = 8; tip.style.top = Math.round(top) + 'px'; tip.style.left = Math.round(left) + 'px'; }; const hideTip = function() { tip.style.display = 'none'; }; document.addEventListener('mouseover', function(e) { const el = e.target.closest('[data-tag-tooltip]'); if (el) showTip({ currentTarget: el }); }); document.addEventListener('mouseout', function(e) { const el = e.target.closest('[data-tag-tooltip]'); if (el) hideTip(); }); } });

More about Carrd:

Who is the owner of Carrd? When did AJ start Carrd? What is AJ's net worth? How much money has AJ made from Carrd? {"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Who is the owner of Carrd?","acceptedAnswer":{"@type":"Answer","text":"AJ is the founder of Carrd."}},{"@type":"Question","name":"When did AJ start Carrd?","acceptedAnswer":{"@type":"Answer","text":"2016"}},{"@type":"Question","name":"What is AJ's net worth?","acceptedAnswer":{"@type":"Answer","text":"AJ's business makes an average of $30.4K/month."}},{"@type":"Question","name":"How much money has AJ made from Carrd?","acceptedAnswer":{"@type":"Answer","text":"AJ started the business in 2016, and currently makes an average of $365K/year."}}]} Sources (32) 14 hacker news threads · 11 webs · 6 podcasts · 1 youtube themakingof.carrd.co Hacker News · 2020 Carrd: The Making Of really-simple-store-demo.carrd.co Hacker News · 2019 Show HN: Ecommerce for Carrd Websites themakingof.carrd.co Hacker News · 2018 Carrd: The Making Of audio.fexingo.com Podcast · 3 months ago How a Solo Developer Bootstrapped a Million-Dollar Website Builder carrd.com Web Carrd - Simple, free, fully responsive one-page sites for pretty much ... What is Carrd? Build one-page sites for pretty much anything Whether it's a personal profile, a landing page to capture emails, or … carrd.co Hacker News · 2019 Carrd- “Simple, free, fully responsive one-page sites for pretty much anything” carrd.co Web Carrd Single-page responsive site builder. saashacker.co Hacker News · 2019 The Carrd Story: 7 Steps to $30k MRR with Zero Marketing themakingof.carrd.co Hacker News · 2020 Carrd: The Making of ( 30.000 $ MRR) podcasters.spotify.com Podcast · 2022 The Unicorn Finders — TUF w/Carrd - Simple, Free, Fully Responsive One-Page Sites For Pretty Much Anything We had the chance to catch up with aj@carrd.co who is the founder of Carrd on how he came up with this idea and what makes Carrd differen... usefathom.com Hacker News · 2021 Carrd – a single-page site builder is now a venture-backed company wikihow.com Web · 2023 How to Make a Carrd: Complete One-Page Website Tutorial - wikiHow Mar 11, 2026 · Years ago, creating a website wasn't always the easiest for the typical internet user. Thankfully, making your own stunnin... alvarotrigo.com Web · 2022 How To Use Carrd to Create a Website [The Ultimate Guide] Jun 9, 2025 · Carrd’s intuitive and easy-to-use editing interface makes it possible for individuals and businesses without prior website ... zerphost.com Hacker News · 2025 Show HN: Solved SEO for Carrd Sites I&#x27;ve been using Carrd for years to build sites for my personal projects, but one thing always frustrated me—SEO.Carrd’s single-page ... youtube.com YouTube Carrd Tutorials – Build Beautiful Websites Without Code" Want to build stunning websites without coding? This playlist is your complete guide to Carrd, the no-code website builder for creating l... carrdmasters.com Web Getting Started with Carrd — Step-by-Step Guide Learn how to create your first Carrd site. A beginner-friendly guide from signup to publishing. makingthatwebsite.com Web · 2022 Carrd Tutorial — Create an Aesthetic Carrd from scratch Jan 4, 2026 · We're going to create the Aesthetic Anime Carrd template in a step-by-step, beginner-friendly tutorial. contentcreators.com Web · 7 months ago Carrd: Free one-page sites built in minutes – ContentCreators.com Mar 21, 2026 · Carrd is a free platform for building simple, fully responsive one-page websites — ideal for content creators who need a p... youtube.com Hacker News · 2019 Recreating the famous Buffer MVP website without code (using Carrd.co) world.carrd.co Web ♡ *。 Create and share simple, responsive one-page sites for personal or professional use with Carrd. blog.soumendrak.com Hacker News · 2023 Migrate from NoCode Tool Carrd to Cloudflare Pages landingpagefor.carrd.co Hacker News · 2024 Show HN: Checkout my landing page templates for Carrd, hope you find it useful landingpagekit.carrd.co Hacker News · 2024 Show HN: I've made Carrd Landing Page Kit with pre-built sections pulsepages.co Hacker News · 5 months ago Show HN: PulsePages – Multi-page websites for $9/year (Carrd alternative Carrd is good at one thing: one page. The moment you need a second page — a &#x2F;pricing, an &#x2F;about, a &#x2F;blog — you&#x27;re eit... plugins.carrd.co Hacker News · 2021 Show HN: I made custom plugins for Carrd dts.podtrac.com Podcast · 2023 Advisers Assemble - Lead Generation For Financial Services — Carrd - Landing Page Builder Review The Lead Engine team return for 2023...Following Alex and Tom's episode on landing pages, Daniel and James join Tessa to give their secon... carrd.com Web Sign Up - Carrd Create a brand new Carrd account. Sign Up Use this form to create an account, or simply go here to try Carrd without signing up. carrd.com Web Choose a Starting Point - Carrd Templates Choose a Starting Point Or select one of the above categories to narrow things down a bit. You can also choose a blank … carrd.com Web Documentation - Carrd Documentation Welcome to the official Carrd documentation! We've tried to provide answers and instructions for the most common … Indie Hackers Podcast · 2021 #228 – Making $1M/yr Then Raising Money as a Solo Indie Hacker with AJ from Carrd <p>In this episode I'm talking to AJ from Carrd. I want to find how he grew from $30K MRR to over $1M ARR in just two years and what Kim ... The Usual SaaS-pects with Ch Daniel Podcast · 2021 21. Live AmA, AJ (Carrd.co): Accidentally bootstrapped Carrd to $1M ARR, 3m sites, and a funding round <p><strong>AJ"s Bio, from their AmA</strong></p> <p><br></p> <p>Hi folks! I'm AJ, the guy behind random projects like HTML5 UP, Pixelarit... The SaaS Podcast Podcast · 2019 SaaS Subscription Billing: $19/Year to $30K MRR Solo AJ charges $19 a year for Carrd - a one-page website builder competing against Wix and Squarespace. No marketing. No employees. No invest...

Sources (32)

—