{"id":316472,"date":"2025-07-25T07:30:19","date_gmt":"2025-07-25T14:30:19","guid":{"rendered":"https:\/\/www.saastr.com\/?p=316472"},"modified":"2025-08-31T17:13:55","modified_gmt":"2025-09-01T00:13:55","slug":"10-things-i-wish-i-knew-before-vibe-coding-the-real-talk","status":"publish","type":"post","link":"https:\/\/www.saastr.com\/10-things-i-wish-i-knew-before-vibe-coding-the-real-talk\/","title":{"rendered":"10 Things I Wish I Knew Before Vibe Coding"},"content":{"rendered":"<div class=\"embed-twitter\">\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Oh give me the confidence of Replit when it claims it\u2019s 100% fixed all the bugs<\/p>\n<p>&mdash; Jason \u2728\ud83d\udc7eSaaStr.Ai\u2728 Lemkin (@jasonlk) <a href=\"https:\/\/twitter.com\/jasonlk\/status\/1955807030658392094?ref_src=twsrc%5Etfw\">August 14, 2025<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/div>\n<p>If you follow us on X or LinkedIn, you may have seen we&#8217;re deep into vibe coding.\u00a0 Specifically, trying to build basic B2B apps &#8212; for real &#8212; using the leading vibe coding platforms like Loveable, Replit, Bolt.new, etc.<\/p>\n<p>After being deep into vibe coding a some complex (but not super complex) B2B product for the SaaStr community, I&#8217;ve already learned a lot.<\/p>\n<p>These platforms are very cool, but super quirky.\u00a0 The &#8220;AI agents&#8221; that build the apps are so powerful but they are also &#8230; unpredictable.\u00a0 And they get more and more unpredictable the deeper you get into a project.\u00a0 That&#8217;s what you need to learn.<\/p>\n<p>Here are the 10 things I wish I knew before I started.<\/p>\n<h2>1. The AI Agent Will Often Be Wrong. Deal With It.<\/h2>\n<p>AI agents are wrong 30-40% of the time on anything complex. API integrations, edge cases, architectural decisions \u2014 they&#8217;ll give you confident-sounding answers that are just wrong.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">What to do<\/span>:<\/strong> Always ask for multiple approaches. &#8220;Give me three ways to build this algorithm&#8221; became my default. Push back on suggestions that don&#8217;t sound right. \u00a0And if it said it\u2019s done something \u2014 verify that it actually has. \u00a0Don\u2019t move on.<\/p>\n<p>Stop treating AI suggestions like they are &#8230; right. They&#8217;re hypotheses to test.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" class=\"size-full wp-image-316475 lazyload\" data-src=\"https:\/\/i0.wp.com\/www.saastr.com\/wp-content\/uploads\/2025\/07\/true-scaled.jpg?resize=1000%2C667&#038;quality=70&#038;ssl=1\" alt=\"\" width=\"1000\" height=\"667\" data-srcset=\"https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/true-scaled.jpg 1000w, https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/true-980x654.jpg 980w, https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/true-480x320.jpg 480w\" data-sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1000px, 100vw\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 1000px; --smush-placeholder-aspect-ratio: 1000\/667;\" \/><noscript><img data-recalc-dims=\"1\" decoding=\"async\" class=\"size-full wp-image-316475\" src=\"https:\/\/i0.wp.com\/www.saastr.com\/wp-content\/uploads\/2025\/07\/true-scaled.jpg?resize=1000%2C667&#038;quality=70&#038;ssl=1\" alt=\"\" width=\"1000\" height=\"667\" srcset=\"https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/true-scaled.jpg 1000w, https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/true-980x654.jpg 980w, https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/true-480x320.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1000px, 100vw\" \/><\/noscript><\/p>\n<h2>2. Slow It Down. Work on Small Pieces.<\/h2>\n<p>Vibe coding feels fast, so you want to keep going. &#8220;Add payments! Add user roles! Add notifications!&#8221; This is a trap.<\/p>\n<p>I tried to build an entire dashboard in one conversation. I ended 200 lines of code that technically worked but was impossible to debug or extend. \u00a0And nothing on it really worked.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">What works<\/span>:<\/strong> 15-20 minute focused sprints. Build one thing, test it, move to the next. If it takes more than 30 minutes to build and test, it\u2019s too complicated. \u00a0Even any feature that takes longer than a few minutes to build is likely too complicated. Break it down further.<\/p>\n<h2>3. The Agent Will Change Stuff Without Asking. Accept It.<\/h2>\n<p>Your code will constantly evolve. Variable names will frustratingly change. Functions get refactored. Architecture shifts.\u00a0 Without you ever asking or even knowing.<\/p>\n<p>At first, it will be funny.\u00a0 You&#8217;ll log back in, and your app wlll have &#8230; changed.\u00a0 You\u2019ll just fix it.\u00a0 But then as you go further and further into a project, it&#8217;s less funny. \u00a0Because as you go deeper into any project with any level of complexity, there will be so many moving pieces in flux.\u00a0 This is why so many folks abandon their vibe coding project 70% of the way in. \u00a0At that phase, it\u2019s now changing way too many things you thought were done or more likely, close to done.\u00a0 You just have to learn to work around this.<\/p>\n<p>Vibe coding may well be slower and less efficient than normal coding after you are about 70% of the way in. \u00a0But if you aren\u2019t a coder, you just need to live with that.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Reality check<\/span>:<\/strong> As long as functionality works and tests pass, let it evolve. The AI often improves code in ways you wouldn&#8217;t think of. \u00a0If it\u2019s done enough, don\u2019t touch it again.<\/p>\n<h2>4. Don&#8217;t Ask More Than Twice. Start Fresh Instead.<\/h2>\n<p>The pattern I see constantly, and that I&#8217;ve been &#8216;guilty&#8217; of, even again today: You ask the AI agent to fix a bug. \u00a0The fix doesn&#8217;t work. You ask again. It still doesn&#8217;t work. So you ask a third time&#8230; and it starts to go off the rails.\u00a0 Deleting things.\u00a0 Making up test results.\u00a0 Inserting &#8220;demo&#8221; user data that hides the fact the function just doesn&#8217;t work.<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>Stop<\/strong><\/span>. Don&#8217;t ask an AI agent 3 times to fix something &#8212; ever.\u00a0 The context window gets polluted with failed attempts. The AI builds on false assumptions. \u00a0No matter what, it\u2019s just not going to work if you have to ask the AI prompt 3 times. \u00a0You\u2019ll end up in a sea of endless bugs you can\u2019t fix.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Rule<\/span>:<\/strong> Never ask the same agent to solve the same problem more than twice. Start a new conversation. Describe the problem from scratch. \u00a0Approach it in a simpler way, if possible.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" class=\"aligncenter size-full wp-image-316540 lazyload\" data-src=\"https:\/\/i0.wp.com\/www.saastr.com\/wp-content\/uploads\/2025\/07\/IMG_8290.jpeg?resize=677%2C296&#038;quality=70&#038;ssl=1\" alt=\"\" width=\"677\" height=\"296\" data-srcset=\"https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/IMG_8290.jpeg 677w, https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/IMG_8290-480x210.jpeg 480w\" data-sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 677px, 100vw\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 677px; --smush-placeholder-aspect-ratio: 677\/296;\" \/><noscript><img data-recalc-dims=\"1\" decoding=\"async\" class=\"aligncenter size-full wp-image-316540\" src=\"https:\/\/i0.wp.com\/www.saastr.com\/wp-content\/uploads\/2025\/07\/IMG_8290.jpeg?resize=677%2C296&#038;quality=70&#038;ssl=1\" alt=\"\" width=\"677\" height=\"296\" srcset=\"https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/IMG_8290.jpeg 677w, https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/IMG_8290-480x210.jpeg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 677px, 100vw\" \/><\/noscript><\/p>\n<h2>5. Some Stuff Is Harder Than It Looks. Plan Accordingly.<\/h2>\n<p>Email integration, OAuth, payments \u2014 they look simple until you hit SPF records, refresh tokens, and webhook validation.\u00a0 A lot of this stuff just doesn&#8217;t work reliably today.\u00a0 Not unless you get close to getting into the code youself.\u00a0\u00a0The AI will give you a basic implementation that works in dev but fails in production.<\/p>\n<p>I actually don&#8217;t have all the answers here other than be aware many things that <em>seem<\/em> to work won&#8217;t actually work.\u00a0 And use the &#8216;hardpoints&#8217; in your vibe coding platform.\u00a0 Use <em>their<\/em> authentication, their database, their core choice for email, everything core you can vs. writing your own.<\/p>\n<p>The platform I&#8217;ve used most desperately wants to use Sendgrid for email for example, by default.\u00a0 Every time I lock down Resend instead, it fights me.\u00a0 One way or another.\u00a0 Giving up and using the default vendor it wants to use (Sendgrid) is the right choice of 95% of us.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Budget accordingly<\/span>:<\/strong> Anything involving external systems takes 3-5x longer than the AI estimates. Build the simplest, happy path first, then iterate on edge cases. \u00a0Use the default \u201chard points\u201d like OAUTH, email, etc. that the vibe platform provides. \u00a0Don\u2019t import your own unless you are 100% sure you really need to.<\/p>\n<h2>6. Don&#8217;t Build an App That&#8217;s Hard to Test<\/h2>\n<p>When you&#8217;re moving fast, you skip testing. &#8220;I&#8217;ll just click through it.&#8221; This doesn&#8217;t scale.\u00a0 Not even past a few days of vibe coding.<\/p>\n<p>By hour 20 or so, you&#8217;ll spend more time testing than building.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Solution<\/span>:<\/strong> Design for testing from day one.\u00a0 \u00a0Unit tests, API testing, reusable test data, easy rollbacks. I spend 60% of time on testing infrastructure, 40% building features.\u00a0 40% max.<\/p>\n<div class=\"embed-twitter\">\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\"><a href=\"https:\/\/twitter.com\/garrytan?ref_src=twsrc%5Etfw\">@garrytan<\/a> talked about getting rid of P2 bugs after every few sprints.   Before you build more features.<\/p>\n<p>The thing is in vibe coding, you can do a sprint &#8230; in 17 minutes.  <\/p>\n<p>And it&#39;s so, so tempting to build new features.<\/p>\n<p>So it&#39;s so easy to skip over the P2 bugs, or\u2026<\/p>\n<p>&mdash; Jason \u2728\ud83d\udc7eSaaStr.Ai\u2728 Lemkin (@jasonlk) <a href=\"https:\/\/twitter.com\/jasonlk\/status\/1948799602263818307?ref_src=twsrc%5Etfw\">July 25, 2025<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/div>\n<h2>7. Just Roll Back. Don&#8217;t Try to Fix Everything.<\/h2>\n<p>When you introduce a bug, resist the urge to debug in place. Instead ask youself: &#8220;Should I just roll back?&#8221;<\/p>\n<p>Vibe coding platforms are really, really good at rolling back. \u00a0And they automatically make save points, just like video games. \u00a0So before you debug something that isn\u2019t working, ask yourself if instead you should just \u2026 roll back.\u00a0 Get used to rolling back multiple times a session.\u00a0 It works elegantly, so take advantage.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Strategy<\/span>:<\/strong>\u00a0 When your gut tells you something isn&#8217;t going to get fixed, just roll back.\u00a0 RIght then and there.\u00a0 When something breaks, you always have a recent checkpoint.<\/p>\n<p><img data-recalc-dims=\"1\" decoding=\"async\" class=\"aligncenter size-full wp-image-316473 lazyload\" data-src=\"https:\/\/i0.wp.com\/www.saastr.com\/wp-content\/uploads\/2025\/07\/Screen-Shot-2025-07-23-at-4.35.30-PM.png?resize=624%2C258&#038;quality=70&#038;ssl=1\" alt=\"\" width=\"624\" height=\"258\" data-srcset=\"https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/Screen-Shot-2025-07-23-at-4.35.30-PM.png 624w, https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/Screen-Shot-2025-07-23-at-4.35.30-PM-480x198.png 480w\" data-sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 624px, 100vw\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 624px; --smush-placeholder-aspect-ratio: 624\/258;\" \/><noscript><img data-recalc-dims=\"1\" decoding=\"async\" class=\"aligncenter size-full wp-image-316473\" src=\"https:\/\/i0.wp.com\/www.saastr.com\/wp-content\/uploads\/2025\/07\/Screen-Shot-2025-07-23-at-4.35.30-PM.png?resize=624%2C258&#038;quality=70&#038;ssl=1\" alt=\"\" width=\"624\" height=\"258\" srcset=\"https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/Screen-Shot-2025-07-23-at-4.35.30-PM.png 624w, https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/Screen-Shot-2025-07-23-at-4.35.30-PM-480x198.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 624px, 100vw\" \/><\/noscript><\/p>\n<h2>8. Accept Your App Will Never Be 100% Stable Until Production.\u00a0 And Probably Not After That If You Keep Vibe Coding It.<\/h2>\n<p>This a tough one and one I didn&#8217;t fully get at first.\u00a0 AI will keep suggesting &#8220;improvements&#8221; that introduce bugs. Features that worked yesterday break today.\u00a0 The further you go down a path with any complex app, the more this compounds. \u00a0If your app is too complex, honestly, it will never be stable.\u00a0 If it changes 1-2 things per session, you can work around that.\u00a0 20?\u00a0 It&#8217;s hopeless.<\/p>\n<div class=\"embed-twitter\">\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Typical morning with the AI agent<\/p>\n<p>&quot;Did you REALLY fix it?&quot; <a href=\"https:\/\/t.co\/PsOBL5b11j\">pic.twitter.com\/PsOBL5b11j<\/a><\/p>\n<p>&mdash; Jason \u2728\ud83d\udc7eSaaStr.Ai\u2728 Lemkin (@jasonlk) <a href=\"https:\/\/twitter.com\/jasonlk\/status\/1962142612426473854?ref_src=twsrc%5Etfw\">August 31, 2025<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/div>\n<p>I used to try for 100% stability. \u00a0These platforms are evolving and we may get there. \u00a0But it\u2019s not practical, let alone possible, today. \u00a0Your AI Agent will just keep changing things.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Reality<\/span>:<\/strong> Launch at 80% stability when the core user journey works. Real user feedback beats perfect code.\u00a0 <span style=\"text-decoration: underline;\">And make the app as simple as possible<\/span>.\u00a0 Complex apps are not ready for prosumer vibe coding yet.\u00a0 Not really.<\/p>\n<h2>9. You May Want to Just Plan to Rebuild Entire Pages of Your App.\u00a0 Probably All of Then.<\/h2>\n<p>Sometimes it&#8217;s faster to rebuild from scratch than debug existing code.\u00a0 Because AI agents generate code quickly, rebuilding often takes less time than debugging complex issues.\u00a0 Don&#8217;t fear rewriting every single page of your app.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">When to rebuild<\/span>:<\/strong> If you&#8217;ve been debugging the same component for over an hour, start fresh. Ask the AI to build a &#8220;v2&#8221; of your page and see where it takes you.\u00a0 Preserve the v1 in case it doesn&#8217;t go where you want.<\/p>\n<h2>10. A Lot of Stuff That Looks Like It Works at First Glance &#8230; Won&#8217;t<\/h2>\n<p>Code that looks perfect has subtle issues that only surface under specific conditions.\u00a0 Lots of functions and buttons and workflows that look like they work &#8230; won&#8217;t. \u00a0Your app will load with demo data in dashboards and algorithms that are \u201csimulated\u201d. \u00a0To make them <em>look<\/em> like they work.<\/p>\n<p>You&#8217;ll become frighteningly good at breaking your own app. You\u2019ll need to be.\u00a0 It will be job #1. \u00a0And you\u2019ll need to get great at seeing anything that looks wrong. \u00a0It was probably made up.<\/p>\n<div class=\"embed-twitter\">\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Vibe Coding Day 12,<\/p>\n<p>Maybe the final thread here.  I spent 100 hours building a commercial-grade app with vibe coding. <\/p>\n<p>Some observations from the experience.  My top 13 learnings to help you &#8212; vibe code your own one.  <\/p>\n<p>A thread\ud83e\uddf5<\/p>\n<p>&mdash; Jason \u2728\ud83d\udc7eSaaStr.Ai\u2728 Lemkin (@jasonlk) <a href=\"https:\/\/twitter.com\/jasonlk\/status\/1947336187527471321?ref_src=twsrc%5Etfw\">July 21, 2025<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/div>\n<hr \/>\n<h2>Summary<\/h2>\n<p>Vibe coding is magical but it isn&#8217;t magic. It&#8217;s a <span style=\"text-decoration: underline;\"><em>tool<\/em><\/span> that changes how you build products \u2014 more iterative, faster feedback loops, different skill requirements.\u00a0 But it&#8217;s early.<\/p>\n<p>Finally, a big topic I\u2019ll do a deep dive on later sn security. \u00a0The more your app stores any sort of customer information, practically speaking, the more important this is. \u00a0And the more risky using a vibe coding tool on its own is. \u00a0This will get its own stand-alone post soon. \u00a0For now, be cautious if your app stories any confidential or customer information and is public facing.<\/p>\n<p>And another great summary here from Sr Director of AI products at Pendo:<\/p>\n<p><iframe title=\"Embedded post\" data-src=\"https:\/\/www.linkedin.com\/embed\/feed\/update\/urn:li:share:7354163677526212608\" width=\"504\" height=\"1356\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oh give me the confidence of Replit when it claims it\u2019s 100% fixed all the bugs &mdash; Jason \u2728\ud83d\udc7eSaaStr.Ai\u2728 Lemkin (@jasonlk) August 14, 2025 If you follow us on X or LinkedIn, you may have seen we&#8217;re deep into vibe coding.\u00a0 Specifically, trying to build basic B2B apps &#8212; for real &#8212; using the leading&#8230; <br \/><a class=\"more-link fade\" href=\"https:\/\/www.saastr.com\/10-things-i-wish-i-knew-before-vibe-coding-the-real-talk\/\">Continue Reading<\/a><\/p>\n","protected":false},"author":19,"featured_media":316474,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","om_disable_all_campaigns":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpscp_schedule_draft_date":"","_wpscp_schedule_republish_date":"","_wpscppro_advance_schedule":false,"_wpscppro_advance_schedule_date":"","_wpscppro_custom_social_share_image":0,"_facebook_share_type":"default","_twitter_share_type":"default","_linkedin_share_type":"default","_pinterest_share_type":"default","_linkedin_share_type_page":"","_instagram_share_type":"default","_medium_share_type":"default","_threads_share_type":"","_selected_social_profile":[]},"categories":[24898,31,24987],"tags":[],"class_list":["post-316472","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-blog-posts","category-saastr-ai"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.saastr.com\/wp-content\/uploads\/2025\/07\/1bdd6711-6328-4632-a497-0e49cb366798-scaled.jpg?fit=1000%2C667&quality=70&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p5oib2-1kko","jetpack_sharing_enabled":true,"fifu_image_url":"https:\/\/www.saastr.com\/wp-content\/uploads\/2025\/07\/true-scaled.jpg","_links":{"self":[{"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/posts\/316472","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/comments?post=316472"}],"version-history":[{"count":15,"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/posts\/316472\/revisions"}],"predecessor-version":[{"id":317882,"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/posts\/316472\/revisions\/317882"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/media\/316474"}],"wp:attachment":[{"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/media?parent=316472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/categories?post=316472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.saastr.com\/wp-json\/wp\/v2\/tags?post=316472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}