{"id":11802,"date":"2021-08-27T00:00:02","date_gmt":"2021-08-27T07:00:02","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=11802"},"modified":"2025-06-13T21:40:18","modified_gmt":"2025-06-14T04:40:18","slug":"better-development-experience-ottoman-js-video","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/","title":{"rendered":"A Better Development Experience with Ottoman JS [Video]"},"content":{"rendered":"<p><strong>If you\u2019re a JavaScript developer,<\/strong> I hope you know about the JavaScript &amp; Friends conference.<\/p>\n<p>The <a href=\"https:\/\/www.javascriptandfriends.com\/?ref=hello-from-couchbase\" target=\"_blank\" rel=\"noopener\">JS &amp; Friends conference<\/a> is a diverse group of around 200 JavaScript developers and friends who get together to learn new skills and concepts and to network and develop new relationships. JS &amp; Friends was virtual this year and last year (\u201920 and \u201921) because of the COVID-19 pandemic, of course.<\/p>\n<p>At this year&#8217;s conference, I presented on &#8220;A Better Development Experience with Ottoman JS&#8221; (<a href=\"#dx-ottoman-js\">skip directly there if you want<\/a>). Here&#8217;s what else made it a great experience for JavaScript developers of every skill level.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/08\/ottoman-js-odm-couchbase.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium_large wp-image-11806\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/08\/ottoman-js-odm-couchbase-768x272.png\" alt=\"Ottoman JS, an ODM built for Couchbase and Node.js\" width=\"768\" height=\"272\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-768x272.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-300x106.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-20x7.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase.png 869w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/a><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h2>Keynote Recap: Blitz JS and More<\/h2>\n<p>I think it was apt that this year&#8217;s keynote at JS &amp; Friends was about the changes we are seeing in the fullstack JavaScript with React space.<\/p>\n<p><a href=\"https:\/\/twitter.com\/flybayer\" target=\"_blank\" rel=\"noopener\">Brandon Bayer<\/a> \u2013 whom I had the opportunity to host <a href=\"https:\/\/www.youtube.com\/watch?v=H93WAFrlCkQ\" target=\"_blank\" rel=\"noopener\">his debut of Blitz JS at ReactEurope 2020<\/a> \u2013 delivered this year&#8217;s keynote address: <a href=\"https:\/\/youtu.be\/hHzr2UxLn8o?t=220\" target=\"_blank\" rel=\"noopener\">The Dawning of a New Age for Fullstack React<\/a>.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<div id=\"attachment_11804\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/youtu.be\/hHzr2UxLn8o?t=220\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11804\" class=\"size-large wp-image-11804\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/08\/Blitz-js-keynote-brandon-bayer-1024x637.png\" alt=\"Keynote by Brandon Bayer of Blitz JS\" width=\"900\" height=\"560\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/Blitz-js-keynote-brandon-bayer-1024x637.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/Blitz-js-keynote-brandon-bayer-300x187.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/Blitz-js-keynote-brandon-bayer-768x478.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/Blitz-js-keynote-brandon-bayer-1536x955.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/Blitz-js-keynote-brandon-bayer-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/Blitz-js-keynote-brandon-bayer-1320x821.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/Blitz-js-keynote-brandon-bayer.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-11804\" class=\"wp-caption-text\">JS &amp; Friends Keynote by Brandon Bayer of Blitz JS<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>Brandon has gone from obscure React library developer to a thought leader in the fullstack React community. <a href=\"https:\/\/blitzjs.com\/?ref=hello-from-couchbase\" target=\"_blank\" rel=\"noopener\">Blitz JS<\/a> combines the server and client into one application and harkens back to the days of Ruby on Rails, but this framework is all about the JavaScript from the client to server.<\/p>\n<p>In his keynote, Brandon covered the timeline of fullstack React over time showing that between 2013 to 2020 the ability to get a project set up \u2013 with a database, API and client \u2013 required a lot of configuration and tough decisions.<\/p>\n<p>In 2020 when both Blitz JS and Redwood JS came on the scene \u2013 in the timeframe of about a month \u2013 they changed the landscape. These frameworks come complete with a CLI that gets you up and running with a full stack JavaScript application running your database of choice and an API with endpoints.<\/p>\n<h2 id=\"dx-ottoman-js\">My Talk: A Better Development Experience with Ottoman JS<\/h2>\n<p>At this year&#8217;s conference, I presented on: &#8220;<a href=\"https:\/\/www.youtube.com\/watch?v=hHzr2UxLn8o&amp;t=15633s\" target=\"_blank\" rel=\"noopener\">A Better Development Experience with Ottoman JS<\/a>.\u201d (Click to watch the full video.)<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=hHzr2UxLn8o&amp;t=15633s\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-11805\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/08\/eric-bishard-ottoman-js-javascript-friends-conference-1024x576.png\" alt=\"Eric Bishard's talk on Ottoman JS at the JavaScript and Friends conference\" width=\"900\" height=\"506\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/eric-bishard-ottoman-js-javascript-friends-conference-1024x576.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/eric-bishard-ottoman-js-javascript-friends-conference-300x169.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/eric-bishard-ottoman-js-javascript-friends-conference-768x432.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/eric-bishard-ottoman-js-javascript-friends-conference-1536x864.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/eric-bishard-ottoman-js-javascript-friends-conference-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/eric-bishard-ottoman-js-javascript-friends-conference-1320x742.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/eric-bishard-ottoman-js-javascript-friends-conference.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 30px\" aria-hidden=\"true\"><\/div>\n<p>In my talk, I covered:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>Why Couchbase?<\/li>\n<li>JSON data modeling for a document data store<\/li>\n<li>An introduction to Ottoman JS \u2013 an ODM built for Couchbase and Node.js<\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=hHzr2UxLn8o&amp;t=17819s\" target=\"_blank\" rel=\"noopener\">A complete code demo<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h2>Other Great Talks at JS &amp; Friends<\/h2>\n<p>There were a lot of other amazing talks at this year&#8217;s JS &amp; Friends \u2013 plenty of others that are all available on the <a href=\"https:\/\/www.youtube.com\/channel\/UCz4LNOw6U7ncyOSx73u_YMQ\" target=\"_blank\" rel=\"noopener\">JavaScript &amp; Friends YouTube channel<\/a>. Listed below are some of the talks I found most interesting:<\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li>Guy Rose: <a href=\"https:\/\/www.youtube.com\/watch?v=hHzr2UxLn8o&amp;t=3450s\" target=\"_blank\" rel=\"noopener\">Finding Bigfoot with Redis + RedisSearch<\/a><\/li>\n<li>William Shepherd: <a href=\"https:\/\/www.youtube.com\/watch?v=hHzr2UxLn8o&amp;t=23213s\" target=\"_blank\" rel=\"noopener\">Increase User Engagement in React<\/a><\/li>\n<li>Eric Potter: <a href=\"https:\/\/www.youtube.com\/watch?v=oXVpXWjSZ3A&amp;t=13530s\" target=\"_blank\" rel=\"noopener\">TypeScript Beyond the Basics<\/a><\/li>\n<li>Janhavi Dahihande: <a href=\"https:\/\/youtu.be\/oXVpXWjSZ3A?t=26164\" target=\"_blank\" rel=\"noopener\">Testing Your React Native App: The Cypress Way<\/a><\/li>\n<li>Tyler Clark: <a href=\"https:\/\/youtu.be\/Im9WpqzWyG0?t=17970\" target=\"_blank\" rel=\"noopener\">Identity 101: JS Guide to App Security<\/a><\/li>\n<li>Adrienne Tacke: <a href=\"https:\/\/youtu.be\/S-fuR81BOOc?t=24197\" target=\"_blank\" rel=\"noopener\">Documentation: The Missing Pieces<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<h2>Conclusion<\/h2>\n<p>If you&#8217;re a JavaScript developer looking to learn more about Couchbase, you can find additional resources at <a href=\"https:\/\/www.couchbase.com\/developers\/?ref=blog\" target=\"_blank\" rel=\"noopener\">www.couchbase.com\/developers\/<\/a>. (<a href=\"https:\/\/developer.couchbase.com\/nodejs\/\" target=\"_blank\" rel=\"noopener\">Node.js devs start here<\/a>.)<\/p>\n<p>If you have any questions about getting started with Ottoman JS or any of the tech here at Couchbase, feel free to <a href=\"https:\/\/twitter.com\/httpJunkie\" target=\"_blank\" rel=\"noopener\">DM me on Twitter<\/a>.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"><\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you\u2019re a JavaScript developer, I hope you know about the JavaScript &amp; Friends conference. The JS &amp; Friends conference is a diverse group of around 200 JavaScript developers and friends who get together to learn new skills and concepts [&hellip;]<\/p>\n","protected":false},"author":53002,"featured_media":11808,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,2381,1819,9327,1822,10128,2201],"tags":[1447,1543,1261,2454],"ppma_author":[8922],"class_list":["post-11802","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-community","category-data-modeling","category-javascript","category-node-js","category-ottoman","category-tools-sdks","tag-data-modeling","tag-javascript","tag-json","tag-react"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A Better Development Experience with Ottoman JS [Video]<\/title>\n<meta name=\"description\" content=\"Catch up with Eric Bishard&#039;s presentation at JavaScript &amp; Friends conference and learn more about using Ottoman JS \u2013 an ODM build for Couchbase and Node.js.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A Better Development Experience with Ottoman JS [Video]\" \/>\n<meta property=\"og:description\" content=\"Catch up with Eric Bishard&#039;s presentation at JavaScript &amp; Friends conference and learn more about using Ottoman JS \u2013 an ODM build for Couchbase and Node.js.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-27T07:00:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:40:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference-social.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"418\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Eric Bishard\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference-social.png\" \/>\n<meta name=\"twitter:creator\" content=\"@httpJunkie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Eric Bishard\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"TechArticle\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/\"},\"author\":{\"name\":\"Eric Bishard\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/67d3a4b597e42370ccd34b715a6b1f4c\"},\"headline\":\"A Better Development Experience with Ottoman JS [Video]\",\"datePublished\":\"2021-08-27T07:00:02+00:00\",\"dateModified\":\"2025-06-14T04:40:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/\"},\"wordCount\":540,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference.png\",\"keywords\":[\"Data Modeling\",\"javascript\",\"JSON\",\"React\"],\"articleSection\":[\"Best Practices and Tutorials\",\"Community\",\"Data Modeling\",\"JavaScript\",\"Node.js\",\"Ottoman.js ODM\",\"Tools &amp; SDKs\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/\",\"name\":\"A Better Development Experience with Ottoman JS [Video]\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference.png\",\"datePublished\":\"2021-08-27T07:00:02+00:00\",\"dateModified\":\"2025-06-14T04:40:18+00:00\",\"description\":\"Catch up with Eric Bishard's presentation at JavaScript & Friends conference and learn more about using Ottoman JS \u2013 an ODM build for Couchbase and Node.js.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference.png\",\"width\":1200,\"height\":628,\"caption\":\"Learn more about Ottoman JS \u2013 an ODM built for Couchbase and Node.js \u2013 in this conference recap\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A Better Development Experience with Ottoman JS [Video]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/67d3a4b597e42370ccd34b715a6b1f4c\",\"name\":\"Eric Bishard\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/b7d1d2580c41d35a21654fb1abe65d23\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g\",\"caption\":\"Eric Bishard\"},\"description\":\"International speaker, blogging and advocating for the JavaScript, React, GraphQL and NoSQL community working as a Senior Developer Advocate for Couchbase.\",\"sameAs\":[\"https:\/\/www.reactstateofmind.com\",\"https:\/\/www.linkedin.com\/in\/eric-b\/\",\"https:\/\/x.com\/httpJunkie\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/eric-bishard\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A Better Development Experience with Ottoman JS [Video]","description":"Catch up with Eric Bishard's presentation at JavaScript & Friends conference and learn more about using Ottoman JS \u2013 an ODM build for Couchbase and Node.js.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/","og_locale":"en_US","og_type":"article","og_title":"A Better Development Experience with Ottoman JS [Video]","og_description":"Catch up with Eric Bishard's presentation at JavaScript & Friends conference and learn more about using Ottoman JS \u2013 an ODM build for Couchbase and Node.js.","og_url":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-08-27T07:00:02+00:00","article_modified_time":"2025-06-14T04:40:18+00:00","og_image":[{"width":800,"height":418,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference-social.png","type":"image\/png"}],"author":"Eric Bishard","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference-social.png","twitter_creator":"@httpJunkie","twitter_misc":{"Written by":"Eric Bishard","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/"},"author":{"name":"Eric Bishard","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/67d3a4b597e42370ccd34b715a6b1f4c"},"headline":"A Better Development Experience with Ottoman JS [Video]","datePublished":"2021-08-27T07:00:02+00:00","dateModified":"2025-06-14T04:40:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/"},"wordCount":540,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference.png","keywords":["Data Modeling","javascript","JSON","React"],"articleSection":["Best Practices and Tutorials","Community","Data Modeling","JavaScript","Node.js","Ottoman.js ODM","Tools &amp; SDKs"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/","url":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/","name":"A Better Development Experience with Ottoman JS [Video]","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference.png","datePublished":"2021-08-27T07:00:02+00:00","dateModified":"2025-06-14T04:40:18+00:00","description":"Catch up with Eric Bishard's presentation at JavaScript & Friends conference and learn more about using Ottoman JS \u2013 an ODM build for Couchbase and Node.js.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/08\/ottoman-js-odm-couchbase-javascript-friends-conference.png","width":1200,"height":628,"caption":"Learn more about Ottoman JS \u2013 an ODM built for Couchbase and Node.js \u2013 in this conference recap"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/better-development-experience-ottoman-js-video\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"A Better Development Experience with Ottoman JS [Video]"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/67d3a4b597e42370ccd34b715a6b1f4c","name":"Eric Bishard","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/b7d1d2580c41d35a21654fb1abe65d23","url":"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g","caption":"Eric Bishard"},"description":"International speaker, blogging and advocating for the JavaScript, React, GraphQL and NoSQL community working as a Senior Developer Advocate for Couchbase.","sameAs":["https:\/\/www.reactstateofmind.com","https:\/\/www.linkedin.com\/in\/eric-b\/","https:\/\/x.com\/httpJunkie"],"url":"https:\/\/www.couchbase.com\/blog\/author\/eric-bishard\/"}]}},"authors":[{"term_id":8922,"user_id":53002,"is_guest":0,"slug":"eric-bishard","display_name":"Eric Bishard","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a316a2658772914defd259571b8cad18878eb23c9d0cc3a97dd803deca0c09ca?s=96&d=mm&r=g","author_category":"","last_name":"Bishard","first_name":"Eric","job_title":"","user_url":"https:\/\/www.reactstateofmind.com","description":"International speaker, blogging and advocating for the JavaScript, React, GraphQL and NoSQL community working as a Senior Developer Advocate for Couchbase."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/11802","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/53002"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=11802"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/11802\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/11808"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=11802"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=11802"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=11802"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=11802"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}