{"componentChunkName":"component---narative-gatsby-theme-novela-src-templates-article-template-tsx","path":"/OpenBnB","result":{"data":{"allSite":{"edges":[{"node":{"siteMetadata":{"name":"Aniket Handa"}}}]}},"pageContext":{"article":{"id":"66249295-e38b-5536-af60-8fb971d4b219","slug":"/OpenBnB","secret":false,"title":"OpenBnB","author":"Aniket Handa","date":"2024","dateForSEO":"2024-09-01T00:00:00.000Z","timeToRead":1,"excerpt":"Building tools to reduce friction in short-term rental discovery and direct booking.","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"OpenBnB\",\n  \"author\": \"Aniket Handa\",\n  \"date\": \"2024-09-01T00:00:00.000Z\",\n  \"present\": true,\n  \"category\": \"Entrepreneurship\",\n  \"tags\": [\"Chrome Extension\", \"MCP\", \"AI\"],\n  \"hero\": \"./openbnb.png\",\n  \"links\": [{\n    \"label\": \"Website\",\n    \"link\": \"https://www.openbnb.org\"\n  }],\n  \"excerpt\": \"Building tools to reduce friction in short-term rental discovery and direct booking.\"\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"Short-term rental platforms have consolidated discovery but fragmented trust. Guests pay 15\\u201320% in service fees. Hosts lose margin and own no relationship with their guests. The problem isn\\u2019t supply \\u2014 it\\u2019s the layer between.\"), mdx(\"p\", null, \"OpenBnB started as a question: what\\u2019s the minimum viable surface to reconnect hosts and guests?\"), mdx(\"h2\", {\n    \"id\": \"chrome-extension\"\n  }, \"Chrome Extension\"), mdx(\"p\", null, \"The first answer was a browser extension. Rather than building a competing marketplace, the extension layers onto existing Airbnb browsing \\u2014 detecting listings where hosts have a direct booking website and surfacing that link inline.\"), mdx(\"p\", null, \"The interaction model was intentionally low-friction: no account, no redirect, no onboarding. Highlight, click, go. The extension auto-checks listings in the background and visually marks which ones have a direct option available.\"), mdx(\"p\", null, \"Rated \\u2605\\u2605\\u2605\\u2605\\u2605 on the Chrome Web Store.\"), mdx(\"h2\", {\n    \"id\": \"mcp-server\"\n  }, \"MCP Server\"), mdx(\"p\", null, \"The second surface came from a different angle. As AI assistants became practical travel planning tools, the question shifted: how do you bring rental search into that context?\"), mdx(\"p\", null, \"The \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://github.com/openbnb-org/mcp-server-airbnb\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"mcp-server-airbnb\"), \" is an open-source Model Context Protocol server that lets AI agents query Airbnb listings directly \\u2014 searching by location, dates, guest count, price range, and more, then retrieving full property details including amenities, house rules, and booking links.\"), mdx(\"p\", null, \"It picked up ~400 stars and ~100 forks organically, signaling real demand for rental data in agentic contexts.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Tools exposed:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"airbnb_search\"), \" \\u2014 location, dates, guests, price filters, pagination\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"airbnb_listing_details\"), \" \\u2014 amenities, coordinates, house rules, direct booking link\")), mdx(\"p\", null, \"Works with Claude Desktop, Cursor, and any MCP-compatible client via stdio.\"), mdx(\"h2\", {\n    \"id\": \"mcp-app-upcoming\"\n  }, \"MCP App (upcoming)\"), mdx(\"p\", null, \"The next layer is a native MCP app for ChatGPT and Claude \\u2014 a guest-facing interface for finding rentals directly within AI conversations, without leaving the chat context. Rather than linking out to a search page, the app surfaces listings, filters, and direct booking options as a first-class part of the conversation.\"), mdx(\"p\", null, \"The through-line across all three surfaces: meet the user where they already are.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tags":["Chrome Extension","MCP","AI"],"links":[{"label":"Website","link":"https://www.openbnb.org"}],"category":"Entrepreneurship","present":true,"noImage":false,"hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAyUlEQVQoz2MwnPD/HzHYCIoNkWhsmAGboPFETIwsh24BQQM1e/7/0+gG0kCs3gXEQNqg//8/fSBWA/KNgIbq9kH4RoQMBCko3PT/X8f+///qd0Hotn3//005+v/fnJP//zUAxRac/v+vEyhuPhlikREuAw2A2HTS/39Jq/7/W3T2/7+uAxCNFdv+/6va/v/fhMMQduNuCLacgulKBnTXgWiQd0FsnV6Il7V6IBgUFKBggPENiPEyesCD2EZQDIsgGJ/oWMYXi4QwANlGwHQVpYO6AAAAAElFTkSuQmCC","aspectRatio":2.5272727272727273,"src":"/static/db39cf7666a453e2e9c951b28bd8558f/f4f8c/openbnb.png","srcSet":"/static/db39cf7666a453e2e9c951b28bd8558f/206f6/openbnb.png 236w,\n/static/db39cf7666a453e2e9c951b28bd8558f/84032/openbnb.png 472w,\n/static/db39cf7666a453e2e9c951b28bd8558f/f4f8c/openbnb.png 944w,\n/static/db39cf7666a453e2e9c951b28bd8558f/513fc/openbnb.png 1416w,\n/static/db39cf7666a453e2e9c951b28bd8558f/6eada/openbnb.png 1888w,\n/static/db39cf7666a453e2e9c951b28bd8558f/05d42/openbnb.png 4448w","srcWebp":"/static/db39cf7666a453e2e9c951b28bd8558f/99fbb/openbnb.webp","srcSetWebp":"/static/db39cf7666a453e2e9c951b28bd8558f/77392/openbnb.webp 236w,\n/static/db39cf7666a453e2e9c951b28bd8558f/1f177/openbnb.webp 472w,\n/static/db39cf7666a453e2e9c951b28bd8558f/99fbb/openbnb.webp 944w,\n/static/db39cf7666a453e2e9c951b28bd8558f/4a492/openbnb.webp 1416w,\n/static/db39cf7666a453e2e9c951b28bd8558f/b0b8f/openbnb.webp 1888w,\n/static/db39cf7666a453e2e9c951b28bd8558f/7dc72/openbnb.webp 4448w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAyUlEQVQoz2MwnPD/HzHYCIoNkWhsmAGboPFETIwsh24BQQM1e/7/0+gG0kCs3gXEQNqg//8/fSBWA/KNgIbq9kH4RoQMBCko3PT/X8f+///qd0Hotn3//005+v/fnJP//zUAxRac/v+vEyhuPhlikREuAw2A2HTS/39Jq/7/W3T2/7+uAxCNFdv+/6va/v/fhMMQduNuCLacgulKBnTXgWiQd0FsnV6Il7V6IBgUFKBggPENiPEyesCD2EZQDIsgGJ/oWMYXi4QwANlGwHQVpYO6AAAAAElFTkSuQmCC","aspectRatio":2.5272727272727273,"src":"/static/db39cf7666a453e2e9c951b28bd8558f/6f725/openbnb.png","srcSet":"/static/db39cf7666a453e2e9c951b28bd8558f/fa430/openbnb.png 350w,\n/static/db39cf7666a453e2e9c951b28bd8558f/694d8/openbnb.png 700w,\n/static/db39cf7666a453e2e9c951b28bd8558f/6f725/openbnb.png 1400w,\n/static/db39cf7666a453e2e9c951b28bd8558f/ea429/openbnb.png 2100w,\n/static/db39cf7666a453e2e9c951b28bd8558f/76a4c/openbnb.png 2800w,\n/static/db39cf7666a453e2e9c951b28bd8558f/05d42/openbnb.png 4448w","srcWebp":"/static/db39cf7666a453e2e9c951b28bd8558f/0326e/openbnb.webp","srcSetWebp":"/static/db39cf7666a453e2e9c951b28bd8558f/d0d48/openbnb.webp 350w,\n/static/db39cf7666a453e2e9c951b28bd8558f/64998/openbnb.webp 700w,\n/static/db39cf7666a453e2e9c951b28bd8558f/0326e/openbnb.webp 1400w,\n/static/db39cf7666a453e2e9c951b28bd8558f/167eb/openbnb.webp 2100w,\n/static/db39cf7666a453e2e9c951b28bd8558f/ded14/openbnb.webp 2800w,\n/static/db39cf7666a453e2e9c951b28bd8558f/7dc72/openbnb.webp 4448w","sizes":"(max-width: 1400px) 100vw, 1400px"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAyUlEQVQoz2MwnPD/HzHYCIoNkWhsmAGboPFETIwsh24BQQM1e/7/0+gG0kCs3gXEQNqg//8/fSBWA/KNgIbq9kH4RoQMBCko3PT/X8f+///qd0Hotn3//005+v/fnJP//zUAxRac/v+vEyhuPhlikREuAw2A2HTS/39Jq/7/W3T2/7+uAxCNFdv+/6va/v/fhMMQduNuCLacgulKBnTXgWiQd0FsnV6Il7V6IBgUFKBggPENiPEyesCD2EZQDIsgGJ/oWMYXi4QwANlGwHQVpYO6AAAAAElFTkSuQmCC","aspectRatio":2.5272727272727273,"src":"/static/db39cf7666a453e2e9c951b28bd8558f/cb61f/openbnb.png","srcSet":"/static/db39cf7666a453e2e9c951b28bd8558f/336c1/openbnb.png 240w,\n/static/db39cf7666a453e2e9c951b28bd8558f/51d41/openbnb.png 480w,\n/static/db39cf7666a453e2e9c951b28bd8558f/cb61f/openbnb.png 960w,\n/static/db39cf7666a453e2e9c951b28bd8558f/350e1/openbnb.png 1440w,\n/static/db39cf7666a453e2e9c951b28bd8558f/ba228/openbnb.png 1920w,\n/static/db39cf7666a453e2e9c951b28bd8558f/05d42/openbnb.png 4448w","srcWebp":"/static/db39cf7666a453e2e9c951b28bd8558f/fcc10/openbnb.webp","srcSetWebp":"/static/db39cf7666a453e2e9c951b28bd8558f/2b5a3/openbnb.webp 240w,\n/static/db39cf7666a453e2e9c951b28bd8558f/35871/openbnb.webp 480w,\n/static/db39cf7666a453e2e9c951b28bd8558f/fcc10/openbnb.webp 960w,\n/static/db39cf7666a453e2e9c951b28bd8558f/4693b/openbnb.webp 1440w,\n/static/db39cf7666a453e2e9c951b28bd8558f/30cf3/openbnb.webp 1920w,\n/static/db39cf7666a453e2e9c951b28bd8558f/7dc72/openbnb.webp 4448w","sizes":"(max-width: 960px) 100vw, 960px"},"seo":{"src":"/static/db39cf7666a453e2e9c951b28bd8558f/7ef28/openbnb.png"}}},"authors":[{"authorsPage":true,"bio":"I'm Aniket Handa. I craft user experiences that blur the gap between humans and technology.\n","id":"cebebc26-b80b-5c45-b29b-fb56bd6b7b61","name":"Aniket Handa","featured":true,"social":[{"url":"https://github.com/atneik"},{"url":"https://twitter.com/anikethanda"},{"url":"https://instagram.com/_aniket"},{"url":"https://www.linkedin.com/in/anikethanda/"}],"slug":"/authors/Aniket-Handa","avatar":{"small":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAUEAgP/xAAXAQEAAwAAAAAAAAAAAAAAAAACAAED/9oADAMBAAIQAxAAAAHdPoTQ6LhK8MQdNwR//8QAHRAAAgIBBQAAAAAAAAAAAAAAAgMAASIEERMhMf/aAAgBAQABBQJhWIC1tMheDtyx1ZaisVdr/8QAGBEAAgMAAAAAAAAAAAAAAAAAARARITL/2gAIAQMBAT8BikMr/8QAFhEBAQEAAAAAAAAAAAAAAAAAEBFB/9oACAECAQE/Aaaf/8QAHBABAAICAwEAAAAAAAAAAAAAAQACEFERISIx/9oACAEBAAY/AvP2BdLDrOsFeeliwWf/xAAcEAEAAwACAwAAAAAAAAAAAAABABExEEEhYaH/2gAIAQEAAT8hcoOpcZZNekuUVjGslM642Txk+wt1xbRSf//aAAwDAQACAAMAAAAQVP8Avv/EABgRAAMBAQAAAAAAAAAAAAAAAAABERAx/9oACAEDAQE/EEjrOhD/xAAXEQADAQAAAAAAAAAAAAAAAAABEBEx/9oACAECAQE/EKsRyv/EABwQAQADAAIDAAAAAAAAAAAAAAEAESExQVFxkf/aAAgBAQABPxBIVJfwVq2bRIBSnh9ZL+YR1DmmVRtenTAl3L6qAVaBj7BBRcee7j5tlZ//2Q==","aspectRatio":1,"src":"/static/5147a03650c976f3ffbe33cf767ee366/20b9f/aniket.jpg","srcSet":"/static/5147a03650c976f3ffbe33cf767ee366/8de35/aniket.jpg 13w,\n/static/5147a03650c976f3ffbe33cf767ee366/efbf2/aniket.jpg 25w,\n/static/5147a03650c976f3ffbe33cf767ee366/20b9f/aniket.jpg 50w,\n/static/5147a03650c976f3ffbe33cf767ee366/900f1/aniket.jpg 75w,\n/static/5147a03650c976f3ffbe33cf767ee366/b08b0/aniket.jpg 100w,\n/static/5147a03650c976f3ffbe33cf767ee366/c26dd/aniket.jpg 800w","srcWebp":"/static/5147a03650c976f3ffbe33cf767ee366/e7b2c/aniket.webp","srcSetWebp":"/static/5147a03650c976f3ffbe33cf767ee366/58718/aniket.webp 13w,\n/static/5147a03650c976f3ffbe33cf767ee366/74aad/aniket.webp 25w,\n/static/5147a03650c976f3ffbe33cf767ee366/e7b2c/aniket.webp 50w,\n/static/5147a03650c976f3ffbe33cf767ee366/ed320/aniket.webp 75w,\n/static/5147a03650c976f3ffbe33cf767ee366/66016/aniket.webp 100w,\n/static/5147a03650c976f3ffbe33cf767ee366/ccdb5/aniket.webp 800w","sizes":"(max-width: 50px) 100vw, 50px"},"medium":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAUEAgP/xAAXAQEAAwAAAAAAAAAAAAAAAAACAAED/9oADAMBAAIQAxAAAAHdPoTQ6LhK8MQdNwR//8QAHRAAAgIBBQAAAAAAAAAAAAAAAgMAASIEERMhMf/aAAgBAQABBQJhWIC1tMheDtyx1ZaisVdr/8QAGBEAAgMAAAAAAAAAAAAAAAAAARARITL/2gAIAQMBAT8BikMr/8QAFhEBAQEAAAAAAAAAAAAAAAAAEBFB/9oACAECAQE/Aaaf/8QAHBABAAICAwEAAAAAAAAAAAAAAQACEFERISIx/9oACAEBAAY/AvP2BdLDrOsFeeliwWf/xAAcEAEAAwACAwAAAAAAAAAAAAABABExEEEhYaH/2gAIAQEAAT8hcoOpcZZNekuUVjGslM642Txk+wt1xbRSf//aAAwDAQACAAMAAAAQVP8Avv/EABgRAAMBAQAAAAAAAAAAAAAAAAABERAx/9oACAEDAQE/EEjrOhD/xAAXEQADAQAAAAAAAAAAAAAAAAABEBEx/9oACAECAQE/EKsRyv/EABwQAQADAAIDAAAAAAAAAAAAAAEAESExQVFxkf/aAAgBAQABPxBIVJfwVq2bRIBSnh9ZL+YR1DmmVRtenTAl3L6qAVaBj7BBRcee7j5tlZ//2Q==","aspectRatio":1,"src":"/static/5147a03650c976f3ffbe33cf767ee366/b08b0/aniket.jpg","srcSet":"/static/5147a03650c976f3ffbe33cf767ee366/efbf2/aniket.jpg 25w,\n/static/5147a03650c976f3ffbe33cf767ee366/20b9f/aniket.jpg 50w,\n/static/5147a03650c976f3ffbe33cf767ee366/b08b0/aniket.jpg 100w,\n/static/5147a03650c976f3ffbe33cf767ee366/50e4e/aniket.jpg 150w,\n/static/5147a03650c976f3ffbe33cf767ee366/471e9/aniket.jpg 200w,\n/static/5147a03650c976f3ffbe33cf767ee366/c26dd/aniket.jpg 800w","srcWebp":"/static/5147a03650c976f3ffbe33cf767ee366/66016/aniket.webp","srcSetWebp":"/static/5147a03650c976f3ffbe33cf767ee366/74aad/aniket.webp 25w,\n/static/5147a03650c976f3ffbe33cf767ee366/e7b2c/aniket.webp 50w,\n/static/5147a03650c976f3ffbe33cf767ee366/66016/aniket.webp 100w,\n/static/5147a03650c976f3ffbe33cf767ee366/d9b14/aniket.webp 150w,\n/static/5147a03650c976f3ffbe33cf767ee366/6b183/aniket.webp 200w,\n/static/5147a03650c976f3ffbe33cf767ee366/ccdb5/aniket.webp 800w","sizes":"(max-width: 100px) 100vw, 100px"},"large":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAUEAgP/xAAXAQEAAwAAAAAAAAAAAAAAAAACAAED/9oADAMBAAIQAxAAAAHdPoTQ6LhK8MQdNwR//8QAHRAAAgIBBQAAAAAAAAAAAAAAAgMAASIEERMhMf/aAAgBAQABBQJhWIC1tMheDtyx1ZaisVdr/8QAGBEAAgMAAAAAAAAAAAAAAAAAARARITL/2gAIAQMBAT8BikMr/8QAFhEBAQEAAAAAAAAAAAAAAAAAEBFB/9oACAECAQE/Aaaf/8QAHBABAAICAwEAAAAAAAAAAAAAAQACEFERISIx/9oACAEBAAY/AvP2BdLDrOsFeeliwWf/xAAcEAEAAwACAwAAAAAAAAAAAAABABExEEEhYaH/2gAIAQEAAT8hcoOpcZZNekuUVjGslM642Txk+wt1xbRSf//aAAwDAQACAAMAAAAQVP8Avv/EABgRAAMBAQAAAAAAAAAAAAAAAAABERAx/9oACAEDAQE/EEjrOhD/xAAXEQADAQAAAAAAAAAAAAAAAAABEBEx/9oACAECAQE/EKsRyv/EABwQAQADAAIDAAAAAAAAAAAAAAEAESExQVFxkf/aAAgBAQABPxBIVJfwVq2bRIBSnh9ZL+YR1DmmVRtenTAl3L6qAVaBj7BBRcee7j5tlZ//2Q==","aspectRatio":1,"src":"/static/5147a03650c976f3ffbe33cf767ee366/4b6ce/aniket.jpg","srcSet":"/static/5147a03650c976f3ffbe33cf767ee366/db25d/aniket.jpg 82w,\n/static/5147a03650c976f3ffbe33cf767ee366/ffb8a/aniket.jpg 164w,\n/static/5147a03650c976f3ffbe33cf767ee366/4b6ce/aniket.jpg 328w,\n/static/5147a03650c976f3ffbe33cf767ee366/2a47f/aniket.jpg 492w,\n/static/5147a03650c976f3ffbe33cf767ee366/9a0c0/aniket.jpg 656w,\n/static/5147a03650c976f3ffbe33cf767ee366/c26dd/aniket.jpg 800w","srcWebp":"/static/5147a03650c976f3ffbe33cf767ee366/5a48e/aniket.webp","srcSetWebp":"/static/5147a03650c976f3ffbe33cf767ee366/2d087/aniket.webp 82w,\n/static/5147a03650c976f3ffbe33cf767ee366/29d87/aniket.webp 164w,\n/static/5147a03650c976f3ffbe33cf767ee366/5a48e/aniket.webp 328w,\n/static/5147a03650c976f3ffbe33cf767ee366/42f2e/aniket.webp 492w,\n/static/5147a03650c976f3ffbe33cf767ee366/dec03/aniket.webp 656w,\n/static/5147a03650c976f3ffbe33cf767ee366/ccdb5/aniket.webp 800w","sizes":"(max-width: 328px) 100vw, 328px"}}}],"basePath":"/","permalink":"https://anikethanda.com//OpenBnB/","slug":"/OpenBnB","id":"66249295-e38b-5536-af60-8fb971d4b219","title":"OpenBnB","canonicalUrl":null,"mailchimp":"","next":[{"id":"3b4a2664-8134-536a-b423-081b3549cfe7","slug":"/Flexible-housing-platform","secret":false,"title":"Flexible housing platform","author":"Aniket Handa","date":"2022","dateForSEO":"2022-08-01T00:00:00.000Z","timeToRead":2,"excerpt":"Helping remote workers live anywhere in the world","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Flexible housing platform\",\n  \"author\": \"Aniket Handa\",\n  \"date\": \"2022-08-01T00:00:00.000Z\",\n  \"category\": \"Entrepreneurship\",\n  \"tags\": [\"React\", \"TypeScript\", \"Product Design & Strategy\"],\n  \"hero\": \"./orca.png\",\n  \"excerpt\": \"Helping remote workers live anywhere in the world\",\n  \"links\": [{\n    \"label\": \"Website\",\n    \"link\": \"https://www.orcapass.com\"\n  }]\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"orca\"\n  }, \"Orca\"), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"A membership platform for remote workers to live anywhere in the world\")), mdx(\"h2\", {\n    \"id\": \"overview\"\n  }, \"Overview\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  })), mdx(\"th\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  })))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Role\")), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), \"Design, Engineering & Product\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Co-founder\")), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), \"Devan Sood (Product, Marketing, Sales, Operations)\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Scale\")), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), \"35+ destinations, $100k+ MRR\")))), mdx(\"p\", null, \"I co-founded Orca and owned all product, design, and engineering. Devan ran marketing, sales, and operations. We both shaped product strategy together.\"), mdx(\"h2\", {\n    \"id\": \"the-problem\"\n  }, \"The Problem\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"How do you make it effortless for a remote worker to land in a new city \\u2014 fully set up \\u2014 in under 3 days?\")), mdx(\"p\", null, \"Mid-term housing (1\\u20136 months) sits in an awkward gap. Too long for Airbnb pricing, too short for traditional leases. Remote workers were stitching together solutions manually across a dozen platforms with no consistency, no local support, and no trusted curation.\"), mdx(\"h2\", {\n    \"id\": \"what-we-built\"\n  }, \"What We Built\"), mdx(\"p\", null, \"Orca was a membership platform bundling:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Furnished mid-term rentals at discounted rates\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Travel insurance\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"City guides\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"On-the-ground local experts per destination\")), mdx(\"p\", null, \"The single KPI we optimized for: \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"member up and running in a new city within 3 days.\")), mdx(\"h2\", {\n    \"id\": \"stack\"\n  }, \"Stack\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Gatsby\"), \" \\u2014 static site generation for fast, SEO-friendly pages\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Contentful\"), \" \\u2014 CMS for managing destination and listing content without deploys\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"React + TypeScript\"), \" \\u2014 frontend\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Microsoft Clarity\"), \" \\u2014 session recording and telemetry\")), mdx(\"h2\", {\n    \"id\": \"how-we-sourced-supply\"\n  }, \"How We Sourced Supply\"), mdx(\"p\", null, \"Most platforms list everything. We did the opposite.\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Scraped Airbnb and other platforms to map supply in each city \\u2014 pricing, occupancy, operator patterns\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Filtered down to the top 10% worth approaching\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Manually qualified and onboarded the top 1% \\u2014 reliable operators with units remote workers actually wanted for a month-plus stay\")), mdx(\"p\", null, \"For many of those conversations, we showed up in person. Walking properties and sitting face-to-face with managers changed the dynamic entirely compared to cold outreach.\"), mdx(\"h2\", {\n    \"id\": \"rapid-iteration\"\n  }, \"Rapid Iteration\"), mdx(\"p\", null, \"The biggest iterations weren\\u2019t features \\u2014 they were the business model itself.\"), mdx(\"p\", null, \"We cycled through multiple versions of what Orca was:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Pure subscription\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Flat membership\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Different bundle configurations\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Different ways of packaging discounts and services\")), mdx(\"p\", null, \"Each version was a hypothesis. We\\u2019d ship, watch behavior in Clarity, talk to members, and revise.\"), mdx(\"h2\", {\n    \"id\": \"pivots-that-mattered\"\n  }, \"Pivots That Mattered\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Membership-optional\")), mdx(\"p\", null, \"Early on, Orca was membership-only. Users who found value in individual bookings but didn\\u2019t want a recurring commitment churned or didn\\u2019t convert. We moved to membership-optional \\u2014 keeping the bundle for users who wanted it, removing the barrier for everyone else. It widened the top of funnel meaningfully.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Bundle evolution\")), mdx(\"p\", null, \"We started with housing. We learned users needed more: insurance, local guidance, someone to call when the WiFi was down. The bundle grew from what users told us was blocking them from actually booking a new destination.\"), mdx(\"h2\", {\n    \"id\": \"growth\"\n  }, \"Growth\"), mdx(\"p\", null, \"After experimenting with many channels \\u2014 online communities, content, paid \\u2014 what consistently worked was:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Word of mouth\"), \" from members who had a great experience\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"In-person outreach\"), \" to both property managers and remote work communities\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Referrals\"), \" from happy members who recommended Orca to colleagues planning their next destination\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Orca Score\"), \" was our most creative growth hack: a Chrome extension that overlaid a personalized compatibility score on any Airbnb listing as you browsed. It analyzed the listing against your preferences \\u2014 location, amenities, price \\u2014 and gave you a score in real time. No signup required to install it. It put Orca in front of anyone actively searching for a place, exactly at the moment they needed it most.\"), mdx(\"p\", null, \"The insight behind Orca Score \\u2014 that people were already searching Airbnb for mid-term stays but getting a poor experience \\u2014 planted the seed for what came next.\"), mdx(\"h2\", {\n    \"id\": \"what-came-next\"\n  }, \"What Came Next\"), mdx(\"p\", null, \"Orca Score surfaced a bigger opportunity: Airbnb had trained millions of travelers to search for stays, but the best hosts were paying 15\\u201320% commission on every booking. We started exploring whether those hosts could own their guest relationships directly.\"), mdx(\"p\", null, \"That question became \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"/2024-09-01-openbnb\"\n  }), \"OpenBnB\"), \" \\u2014 a platform for direct bookings between guests and top-rated hosts, cutting out the middleman entirely.\"), mdx(\"h2\", {\n    \"id\": \"impact\"\n  }, \"Impact\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Scaled to 35+ destinations globally\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"$100k+ MRR\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Hundreds of members across 35+ destinations\")), mdx(\"h2\", {\n    \"id\": \"takeaways\"\n  }, \"Takeaways\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Owning design and engineering end-to-end compresses iteration cycles significantly\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The most important pivots were business model, not product features\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Showing up in person \\u2014 to users and suppliers \\u2014 surfaced things no dashboard could\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Curation beats volume: fewer, better listings built more trust than a long tail of mediocre ones\")));\n}\n;\nMDXContent.isMDXComponent = true;","tags":["React","TypeScript","Product Design & Strategy"],"links":[{"label":"Website","link":"https://www.orcapass.com"}],"category":"Entrepreneurship","present":false,"noImage":false,"hero":{"full":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAACxLAAAsSwGlPZapAAAAy0lEQVQoz41SOwqFMBD0ah7C3MDCxkpbISewsBGP5BUsgyJI/GvpPHZhQeT5Xoph85md3czGW5YFgnmeGff1G4Rzzyd4T0GJ67pi33feb9vG8TzPr9xXQSGQwDiOMMZgmiYMw8BnTdNwIYJzh9JdlmWIoghhGCIIAsRxjDzPURQFtNa4rouL/uxQLolYVRUnKqXg+z7SNEVd1yjLEkmScOdU2OnJ4l/btrDWou97Puu6DsdxMI8E/3r4nDD5RkIyFIp3AWcPXb7N25Q/NgZMOsGfQiEAAAAASUVORK5CYII=","aspectRatio":2.5272727272727273,"src":"/static/ad17c0b05f5cef26d9df232a71dd8fef/f4f8c/orca.png","srcSet":"/static/ad17c0b05f5cef26d9df232a71dd8fef/206f6/orca.png 236w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/84032/orca.png 472w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/f4f8c/orca.png 944w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/513fc/orca.png 1416w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/6eada/orca.png 1888w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/cfe7a/orca.png 2224w","srcWebp":"/static/ad17c0b05f5cef26d9df232a71dd8fef/99fbb/orca.webp","srcSetWebp":"/static/ad17c0b05f5cef26d9df232a71dd8fef/77392/orca.webp 236w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/1f177/orca.webp 472w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/99fbb/orca.webp 944w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/4a492/orca.webp 1416w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/b0b8f/orca.webp 1888w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/602ed/orca.webp 2224w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAACxLAAAsSwGlPZapAAAAy0lEQVQoz41SOwqFMBD0ah7C3MDCxkpbISewsBGP5BUsgyJI/GvpPHZhQeT5Xoph85md3czGW5YFgnmeGff1G4Rzzyd4T0GJ67pi33feb9vG8TzPr9xXQSGQwDiOMMZgmiYMw8BnTdNwIYJzh9JdlmWIoghhGCIIAsRxjDzPURQFtNa4rouL/uxQLolYVRUnKqXg+z7SNEVd1yjLEkmScOdU2OnJ4l/btrDWou97Puu6DsdxMI8E/3r4nDD5RkIyFIp3AWcPXb7N25Q/NgZMOsGfQiEAAAAASUVORK5CYII=","aspectRatio":2.5272727272727273,"src":"/static/ad17c0b05f5cef26d9df232a71dd8fef/6f725/orca.png","srcSet":"/static/ad17c0b05f5cef26d9df232a71dd8fef/fa430/orca.png 350w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/694d8/orca.png 700w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/6f725/orca.png 1400w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/ea429/orca.png 2100w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/cfe7a/orca.png 2224w","srcWebp":"/static/ad17c0b05f5cef26d9df232a71dd8fef/0326e/orca.webp","srcSetWebp":"/static/ad17c0b05f5cef26d9df232a71dd8fef/d0d48/orca.webp 350w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/64998/orca.webp 700w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/0326e/orca.webp 1400w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/167eb/orca.webp 2100w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/602ed/orca.webp 2224w","sizes":"(max-width: 1400px) 100vw, 1400px"},"narrow":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAACxLAAAsSwGlPZapAAAAy0lEQVQoz41SOwqFMBD0ah7C3MDCxkpbISewsBGP5BUsgyJI/GvpPHZhQeT5Xoph85md3czGW5YFgnmeGff1G4Rzzyd4T0GJ67pi33feb9vG8TzPr9xXQSGQwDiOMMZgmiYMw8BnTdNwIYJzh9JdlmWIoghhGCIIAsRxjDzPURQFtNa4rouL/uxQLolYVRUnKqXg+z7SNEVd1yjLEkmScOdU2OnJ4l/btrDWou97Puu6DsdxMI8E/3r4nDD5RkIyFIp3AWcPXb7N25Q/NgZMOsGfQiEAAAAASUVORK5CYII=","aspectRatio":2.5272727272727273,"src":"/static/ad17c0b05f5cef26d9df232a71dd8fef/cb61f/orca.png","srcSet":"/static/ad17c0b05f5cef26d9df232a71dd8fef/336c1/orca.png 240w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/51d41/orca.png 480w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/cb61f/orca.png 960w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/350e1/orca.png 1440w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/ba228/orca.png 1920w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/cfe7a/orca.png 2224w","srcWebp":"/static/ad17c0b05f5cef26d9df232a71dd8fef/fcc10/orca.webp","srcSetWebp":"/static/ad17c0b05f5cef26d9df232a71dd8fef/2b5a3/orca.webp 240w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/35871/orca.webp 480w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/fcc10/orca.webp 960w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/4693b/orca.webp 1440w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/30cf3/orca.webp 1920w,\n/static/ad17c0b05f5cef26d9df232a71dd8fef/602ed/orca.webp 2224w","sizes":"(max-width: 960px) 100vw, 960px"},"seo":{"src":"/static/ad17c0b05f5cef26d9df232a71dd8fef/7ef28/orca.png"}}},{"id":"95085bd0-3109-5978-98ec-e5559cf48be5","slug":"/AR-Contact-Lenses","secret":false,"title":"AR Contact Lenses","author":"Aniket Handa","date":"2021","dateForSEO":"2021-01-01T00:00:00.000Z","timeToRead":3,"excerpt":"Defining interactions for an entirely new paradigm.","canonical_url":null,"subscription":true,"body":"function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"AR Contact Lenses\",\n  \"author\": \"Aniket Handa\",\n  \"date\": \"2021-01-01T00:00:00.000Z\",\n  \"category\": \"AR / VR\",\n  \"tags\": [\"Unity3D\", \"Flutter\", \"Others\"],\n  \"hero\": \"./md_lg.jpeg\",\n  \"excerpt\": \"Defining interactions for an entirely new paradigm.\",\n  \"links\": [{\n    \"label\": \"Website\",\n    \"link\": \"https://www.mojo.vision\"\n  }]\n};\n\nvar makeShortcode = function makeShortcode(name) {\n  return function MDXDefaultShortcode(props) {\n    console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n    return mdx(\"div\", props);\n  };\n};\n\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, mdx(\"em\", {\n    parentName: \"strong\"\n  }, \"This is one of several projects I worked on at Mojo Vision. It focuses on the low vision use case \\u2014 the first and most critical application for the Mojo Lens platform.\"))), mdx(\"h1\", {\n    \"id\": \"mojo-lens-for-low-vision\"\n  }, \"Mojo Lens for Low Vision\"), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Creating the world\\u2019s first eye\\u2011based interface for a medical AR contact lens\")), mdx(\"h2\", {\n    \"id\": \"overview\"\n  }, \"Overview\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  })), mdx(\"th\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  })))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Project\")), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), \"Mojo Lens for Low Vision\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Role\")), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), \"Design & Engineering Lead\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Reporting to\")), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), \"VP of Design, VP of Product\")), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), mdx(\"strong\", {\n    parentName: \"td\"\n  }, \"Collaboration\")), mdx(\"td\", _extends({\n    parentName: \"tr\"\n  }, {\n    \"align\": null\n  }), \"Hardware, Clinical Science\")))), mdx(\"p\", null, \"I led the Mojo Lens for Low Vision project at Mojo Vision, working at the intersection of UX, engineering, clinical research, and hardware to define and validate the first eye\\u2011gesture\\u2013based user interface for an augmented reality contact lens.\"), mdx(\"p\", null, \"The initial and critical target audience for Mojo Lens was low vision users, a group essential to establishing clinical efficacy and de\\u2011risking the path to FDA approval.\"), mdx(\"h2\", {\n    \"id\": \"context-mojo-lens\"\n  }, \"Context: Mojo Lens\"), mdx(\"div\", {\n    \"className\": \"Image__Small\"\n  }, \"\\n  \", mdx(\"span\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1024px\"\n    }\n  }), \"\\n      \", mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"66.40625%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQX/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAB4tUipgov/8QAGRABAAMBAQAAAAAAAAAAAAAAAQACEQMT/9oACAEBAAEFAjnseNfJzS+DZSf/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAaEAEAAgMBAAAAAAAAAAAAAAABESEAEDEC/9oACAEBAAY/AgOt4eyexeVqFY1//8QAHBABAAICAwEAAAAAAAAAAAAAAQARMVEQIYFh/9oACAEBAAE/IUaOjxE7GYewiiuPRR8dQK0MC44//9oADAMBAAIAAwAAABCvz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EACEQAQABAwIHAAAAAAAAAAAAAAERACExcdEQQVFhgbHw/9oACAEBAAE/ECuLYNgQudCksODCXZ96q2j6+dooPMQTmbqy6FRNBw//2Q==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/650732bc4e60586760d160ffbde02202/53334/md_see.webp 1024w\"],\n    \"sizes\": \"(max-width: 1024px) 100vw, 1024px\",\n    \"type\": \"image/webp\"\n  })), \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/650732bc4e60586760d160ffbde02202/72b09/md_see.jpg 1024w\"],\n    \"sizes\": \"(max-width: 1024px) 100vw, 1024px\",\n    \"type\": \"image/jpeg\"\n  })), \"\\n        \", mdx(\"img\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/650732bc4e60586760d160ffbde02202/72b09/md_see.jpg\",\n    \"alt\": \"md see\",\n    \"title\": \"md see\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  })), \"\\n      \"), \"\\n    \")), mdx(\"p\", null, \"Mojo Lens was the world\\u2019s first augmented reality contact lens, integrating a micro\\u2011LED display, imager, motion sensors, batteries, and wireless communication into a scleral lens form factor.\"), mdx(\"p\", null, \"Despite the ambition of the hardware, the product was real and functional \\u2014 this was not a concept prototype.\"), mdx(\"p\", null, \"With a three\\u2011person UX team, we were responsible for defining how humans would interact with computing directly through the eye.\"), mdx(\"h2\", {\n    \"id\": \"the-problem\"\n  }, \"The Problem\"), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"How can we improve the quality of life of low\\u2011vision users using the Mojo Vision system?\")), mdx(\"p\", null, \"This challenge came with significant constraints:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"No FDA\\u2011approved studies\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"No production hardware capable of running UI\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"No defined setup or interaction paradigm\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"No clear understanding of which low\\u2011vision users would benefit most\")), mdx(\"p\", null, \"At the same time, the work needed to directly support:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Clinical efficacy validation\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Usability evaluation\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Hardware and software requirements definition\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A credible roadmap toward FDA approval\")), mdx(\"h2\", {\n    \"id\": \"understanding-low-vision\"\n  }, \"Understanding Low Vision\"), mdx(\"div\", {\n    \"className\": \"Image__Small\"\n  }, \"\\n  \", mdx(\"span\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1155px\"\n    }\n  }), \"\\n      \", mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"87.27272727272728%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAADLAAAAywAEoZFrbAAAEuElEQVQ4y32UC0zTVxSH//8WRHTLdIjyUHkp6MBCaaWlhbaWVhAp1CIVGAilhY5VKQ0qFUepIs6oc1TxNecTNBHRZYpuOKcoUxC2KILxkWmiiZPqNO4Zse39jda4bDHxJic5N/fLd8+9uedS1FvGpCQhlcaOZbhzhTCxIiOe1Z8vES7XFaj5wRTl+19WLp7zKtHtekiV7f6F+dHeIWb5Pjuj6vBj2nrsCV3ZbKdNu+5SCl6CR1iZLu9Qz46FJDkRSkU6dCrlvU0N6w7kSGW6DHlqgJtRyubSbyuQKl9i8sg44tSAUploqMGgR25OzrCMHYdSdQ522JqwdcNG5C/MU7k5bYGGSWma7vuOVLlM/+WjYv2eoTkrDtunNxx/7J9Ud//fI/FEbOk6swk3B284+68Oko6jbeTAzp1Obc5CsrTM8FQgVga6ucJMPU0Z9j+JqDj0O0ytf2PpoWcwHrLDcsz+q6XNPvjxvofn1U1De7e0dFy62nMOP10bcHV192Hg9s+4PnDdsUgiQhqP983rjUUlMpqqaR0SrWx77DJ/9dxZd/Ivl/XkMOpPO9F4Hp7Y3Al8ffEazpw+7uru7cO5C13kxs17ZLD/qmODNh/KBLY1yjJvJr9IEO6xmvd259U396CupcsZXV9LkjfaiGz7btf8XW1Ow+EeZ8vl/pffnf3W+WNvD3qv9JKz5y+QMz90Elvz5yhamUvkVRkP5zXkIdWiXu0RWrcfrWo5dwt7Tl12KNZbiLi+EvG1WnxQU0pia0rBWsAnO5oayf5jB2H+rJool6vBXhwHjj6ecAx8krpGjZRaJYQmWadHuMxaazv4/RV0PXC87LznxJk7w+i4/QKtfXZsam3HUp0GvFQeJs+dCmGJAIvNheDO4xFpdgpZYFRBXCFzCowpkNZkPZeZM4MplTqzrUhbANuORuelwVvkxMU+srO1DdV1K5CdnYDCRVwo8oSIyIyGtFSCBeosBE8KQlBAAMIjwgkvm0OSK5KdqdYsZKxdlE2dbj9y99SJI9iw3upcu+YTqNULocjNB1cuR1xSIqaHBSI4bBxicmaAK40hoVNDSfCUYAQFBZKw8FAiKeS5JJVJL+aaRMioFh+gnj190LytafNtimKAGj2ejJmdSQSVW1BmO47iuq0QpijI6LHvkei0ECgKZGRa6HTXiNQRHjrNETkjkkiK+UguY2G+MWEk+E8890jTNJ/h7QN/tgBSk4XUNdpQu60RtZvXIk+XS/wn+SGMGwS5lk9ihJHQV5bjw/ICcBWxEBXH3UnScg6qVsmLsoz8yNdvMtTX19vBFQZBX8Uh1no5Gj5NR6NNjVV1aWDNCiR+Ie8SlmoK2NlhT+eUzG4X62KrhXouN9MsGPNGz3oxvd4f5cN4Hp8YAIOZ51rRICZVq5OI0ZLoKixnOSOixg37vOONwGi/bYYvZr4hSCxmMxXLREyFkf/6c6DHMBjU3YkBY5GSHoESAxtlJi40S+IhkodgvN9ojEDusLnpkMiIUSklCV78gniGtIxDizSzXrWeJuaVznuUl/tX6WYyafj5+/4ZFT3hDxZn4m9RMRMejcwHmF702ZH1dppBa9y8z1gPT7FUYRRPNfl/1f4D9WMv2GAIK1wAAAAASUVORK5CYII=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/336fa4019a1d376b6328fa427f6d886f/b8873/lv.webp 1155w\"],\n    \"sizes\": \"(max-width: 1155px) 100vw, 1155px\",\n    \"type\": \"image/webp\"\n  })), \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/336fa4019a1d376b6328fa427f6d886f/52a0e/lv.png 1155w\"],\n    \"sizes\": \"(max-width: 1155px) 100vw, 1155px\",\n    \"type\": \"image/png\"\n  })), \"\\n        \", mdx(\"img\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/336fa4019a1d376b6328fa427f6d886f/52a0e/lv.png\",\n    \"alt\": \"lv\",\n    \"title\": \"lv\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  })), \"\\n      \"), \"\\n    \")), mdx(\"p\", null, \"Low vision is not a single condition. Early work focused on understanding and simulating:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Myopia (nearsightedness)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Macular degeneration\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Glaucoma\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Low contrast sensitivity\")), mdx(\"p\", null, \"Low\\u2011vision users were the first and most critical users for the product, both ethically and strategically.\"), mdx(\"h2\", {\n    \"id\": \"strategy\"\n  }, \"Strategy\"), mdx(\"p\", null, \"The work focused on three parallel goals:\"), mdx(\"h3\", {\n    \"id\": \"clinical-efficacy\"\n  }, \"Clinical Efficacy\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Determine who the system benefits\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Define FDA\\u2011valid clinical tests (acuity, contrast, speed)\")), mdx(\"h3\", {\n    \"id\": \"usability--ux\"\n  }, \"Usability & UX\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Can low\\u2011vision users complete basic tasks?\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"How long does it take?\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"What interaction models are viable without a screen?\")), mdx(\"h3\", {\n    \"id\": \"requirements-definition\"\n  }, \"Requirements Definition\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Translate hardware constraints into software simulations\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Validate minimum FPS, resolution, artifacts, and latency\")), mdx(\"h2\", {\n    \"id\": \"building-the-simulation-stack\"\n  }, \"Building the Simulation Stack\"), mdx(\"div\", {\n    \"className\": \"Image__Small\"\n  }, \"\\n  \", mdx(\"span\", _extends({\n    parentName: \"div\"\n  }, {\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"574px\"\n    }\n  }), \"\\n      \", mdx(\"span\", _extends({\n    parentName: \"span\"\n  }, {\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"68.98954703832753%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQDBQb/xAAWAQEBAQAAAAAAAAAAAAAAAAABAgP/2gAMAwEAAhADEAAAAZFVlU1JUmd//8QAGhAAAgMBAQAAAAAAAAAAAAAAAQMAAhEiMf/aAAgBAQABBQJ7+VOuDGebKswf/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGxAAAQQDAAAAAAAAAAAAAAAAAQACEVEgISL/2gAIAQEABj8CgaNroyKwgOK//8QAGhABAQEAAwEAAAAAAAAAAAAAAREAIUFxkf/aAAgBAQABPyGgrCx1vgOG4QYaQRX3EOU4Pm//2gAMAwEAAgADAAAAELQv/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQARIf/aAAgBAwEBPxB0bt//xAAVEQEBAAAAAAAAAAAAAAAAAAABAP/aAAgBAgEBPxABJC//xAAbEAEBAQACAwAAAAAAAAAAAAABEQAhoTFBYf/aAAgBAQABPxAQSAJNeyOUDzZEL9cJghBnDkmUcERO88C84QEHhDO9/9k=')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  })), \"\\n  \", mdx(\"picture\", {\n    parentName: \"span\"\n  }, \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/3afb0f985704399196719024a71d5df6/723c8/stack.webp 574w\"],\n    \"sizes\": \"(max-width: 574px) 100vw, 574px\",\n    \"type\": \"image/webp\"\n  })), \"\\n        \", mdx(\"source\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"srcSet\": [\"/static/3afb0f985704399196719024a71d5df6/b4bf7/stack.jpg 574w\"],\n    \"sizes\": \"(max-width: 574px) 100vw, 574px\",\n    \"type\": \"image/jpeg\"\n  })), \"\\n        \", mdx(\"img\", _extends({\n    parentName: \"picture\"\n  }, {\n    \"className\": \"gatsby-resp-image-image\",\n    \"src\": \"/static/3afb0f985704399196719024a71d5df6/b4bf7/stack.jpg\",\n    \"alt\": \"stack\",\n    \"title\": \"stack\",\n    \"loading\": \"lazy\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    }\n  })), \"\\n      \"), \"\\n    \")), mdx(\"p\", null, \"Because no hardware existed to run a UI, I built the best possible simulation of the Mojo Lens experience.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Setup included:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"VIVE Pro Eye (eye tracking)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"ZED stereo camera\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"External webcam\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Unity 3D\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Custom shaders and filters\")), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"This required:\")), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Learning Unity from scratch\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Refreshing 3D vector math\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Simulating lens artifacts such as noise, resolution limits, and pass\\u2011through filtering\")), mdx(\"h2\", {\n    \"id\": \"defining-clinical-tests\"\n  }, \"Defining Clinical Tests\"), mdx(\"p\", null, \"Working closely with the clinical team, we defined FDA\\u2011relevant tests measuring:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Acuity\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Contrast\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Speed\")), mdx(\"p\", null, \"These tests were designed to be:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Repeatable\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Valid for regulatory submission\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Representative of real\\u2011world use\")), mdx(\"h2\", {\n    \"id\": \"snap--scan-core-use-case\"\n  }, \"Snap & Scan: Core Use Case\"), mdx(\"p\", null, \"One of the most impactful experiences explored was \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Snap & Scan\"), \":\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Users capture their environment through the simulated lens\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The system enhances, crops, zooms, and inverts imagery automatically\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Text recognition enables reading signs, labels, and documents\")), mdx(\"p\", null, \"This experience tied together:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Eye\\u2011based interaction\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Image processing\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Clinical measurement\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Real\\u2011world utility\")), mdx(\"h2\", {\n    \"id\": \"introducing-the-phone-as-a-controller\"\n  }, \"Introducing the Phone as a Controller\"), mdx(\"p\", null, \"An important shift came with introducing the phone as:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A camera\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A controller\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"A processing companion\")), mdx(\"p\", null, \"Although initially counter\\u2011intuitive and met with resistance, this approach proved critical. I:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Designed the interface for non\\u2011visual use (muscle memory\\u2013driven)\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Built the app in Flutter\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Used WebSockets to sync images and events over a local network\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Maintained consistent state across devices\")), mdx(\"h2\", {\n    \"id\": \"clinical-study--results\"\n  }, \"Clinical Study & Results\"), mdx(\"p\", null, \"Initial studies (~10 low\\u2011vision users) showed improvement primarily for users with 20/125+ acuity, but results were mixed.\"), mdx(\"p\", null, \"With the new phone\\u2011based setup, results improved significantly:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Users achieved effective acuity up to \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"20/32\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Faster task completion than phone\\u2011only solutions\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Strong qualitative feedback:\")), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u201CFaster than using my phone\\u201D\")), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u201CI like that I won\\u2019t be staring into my phone\\u201D\")), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"\\u201CThis is so much better than last time I was here\\u201D\")), mdx(\"h2\", {\n    \"id\": \"impact\"\n  }, \"Impact\"), mdx(\"p\", null, \"By the end of the project, we had:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Built the best simulation of the Mojo Lens\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Validated usability with low\\u2011vision users\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Defined which users benefit most\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Established a clear roadmap toward FDA approval\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Delivered a critical milestone for Series B funding\")), mdx(\"h2\", {\n    \"id\": \"takeaways\"\n  }, \"Takeaways\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"This is what early-stage, no-playbook product work looks like \\u2014 building the tools to test the thing before the thing exists.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Design and clinical research can be the same work \\u2014 not parallel tracks, but one process informing the other.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"The right simulation unlocks everything \\u2014 hardware constraints don\\u2019t have to block UX progress.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Low vision design is a masterclass in simplicity \\u2014 if it works for this population, it works for everyone.\")), mdx(\"h2\", {\n    \"id\": \"now\"\n  }, \"Now\"), mdx(\"p\", null, \"Since 2023, Mojo Vision has pivoted to focus on Micro-LED displays. \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"https://www.mojo.vision/news/a-new-direction\",\n    \"target\": \"_blank\",\n    \"rel\": \"noreferrer\"\n  }), \"Read more\")));\n}\n;\nMDXContent.isMDXComponent = true;","tags":["Unity3D","Flutter","Others"],"links":[{"label":"Website","link":"https://www.mojo.vision"}],"category":"AR / VR","present":false,"noImage":false,"hero":{"full":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAZABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAABBf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAHiNNgqDLqhODWUf//EAB8QAAIBAgcAAAAAAAAAAAAAAAACAQMSEBETISMyM//aAAgBAQABBQJVubSRDhKXZpkzEaUad1twpeJ//8QAFxEAAwEAAAAAAAAAAAAAAAAAAAEQEf/aAAgBAwEBPwFGin//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAhEAABAwEJAAAAAAAAAAAAAAABABARAhIhIjEyQWFxof/aAAgBAQAGPwIUjdYzK0+rmLnkK0Mnq7b/xAAeEAABBAMAAwAAAAAAAAAAAAABABEhMRBRYUHw8f/aAAgBAQABPyE1wJpXnJ6EJtiMJfQohLgp20EXBCxavnFKiMetzH//2gAMAwEAAgADAAAAEAgMA//EABkRAAMAAwAAAAAAAAAAAAAAAAABESFBUf/aAAgBAwEBPxBltEcGzCI//8QAFhEBAQEAAAAAAAAAAAAAAAAAAAER/9oACAECAQE/EKyq1//EACIQAQACAQMDBQAAAAAAAAAAAAEAEUEhMVGBkaGxweHw8f/aAAgBAQABPxCrnSLUT0qce8/dQ8FSauz8XEAELb96wE0feISbFOyO4wSa30cswlKY4cQnhozP/9k=","aspectRatio":0.8107680126682502,"src":"/static/9669666269e68d912dfc76e9c4a21ef8/6ce4c/md_lg.jpg","srcSet":"/static/9669666269e68d912dfc76e9c4a21ef8/81a66/md_lg.jpg 236w,\n/static/9669666269e68d912dfc76e9c4a21ef8/60b3d/md_lg.jpg 472w,\n/static/9669666269e68d912dfc76e9c4a21ef8/6ce4c/md_lg.jpg 944w,\n/static/9669666269e68d912dfc76e9c4a21ef8/39658/md_lg.jpg 1024w","srcWebp":"/static/9669666269e68d912dfc76e9c4a21ef8/99fbb/md_lg.webp","srcSetWebp":"/static/9669666269e68d912dfc76e9c4a21ef8/77392/md_lg.webp 236w,\n/static/9669666269e68d912dfc76e9c4a21ef8/1f177/md_lg.webp 472w,\n/static/9669666269e68d912dfc76e9c4a21ef8/99fbb/md_lg.webp 944w,\n/static/9669666269e68d912dfc76e9c4a21ef8/e0f73/md_lg.webp 1024w","sizes":"(max-width: 944px) 100vw, 944px"},"regular":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAZABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAABBf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAHiNNgqDLqhODWUf//EAB8QAAIBAgcAAAAAAAAAAAAAAAACAQMSEBETISMyM//aAAgBAQABBQJVubSRDhKXZpkzEaUad1twpeJ//8QAFxEAAwEAAAAAAAAAAAAAAAAAAAEQEf/aAAgBAwEBPwFGin//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAhEAABAwEJAAAAAAAAAAAAAAABABARAhIhIjEyQWFxof/aAAgBAQAGPwIUjdYzK0+rmLnkK0Mnq7b/xAAeEAABBAMAAwAAAAAAAAAAAAABABEhMRBRYUHw8f/aAAgBAQABPyE1wJpXnJ6EJtiMJfQohLgp20EXBCxavnFKiMetzH//2gAMAwEAAgADAAAAEAgMA//EABkRAAMAAwAAAAAAAAAAAAAAAAABESFBUf/aAAgBAwEBPxBltEcGzCI//8QAFhEBAQEAAAAAAAAAAAAAAAAAAAER/9oACAECAQE/EKyq1//EACIQAQACAQMDBQAAAAAAAAAAAAEAEUEhMVGBkaGxweHw8f/aAAgBAQABPxCrnSLUT0qce8/dQ8FSauz8XEAELb96wE0feISbFOyO4wSa30cswlKY4cQnhozP/9k=","aspectRatio":0.8107680126682502,"src":"/static/9669666269e68d912dfc76e9c4a21ef8/39658/md_lg.jpg","srcSet":"/static/9669666269e68d912dfc76e9c4a21ef8/8cb53/md_lg.jpg 350w,\n/static/9669666269e68d912dfc76e9c4a21ef8/867d5/md_lg.jpg 700w,\n/static/9669666269e68d912dfc76e9c4a21ef8/39658/md_lg.jpg 1024w","srcWebp":"/static/9669666269e68d912dfc76e9c4a21ef8/e0f73/md_lg.webp","srcSetWebp":"/static/9669666269e68d912dfc76e9c4a21ef8/d0d48/md_lg.webp 350w,\n/static/9669666269e68d912dfc76e9c4a21ef8/64998/md_lg.webp 700w,\n/static/9669666269e68d912dfc76e9c4a21ef8/e0f73/md_lg.webp 1024w","sizes":"(max-width: 1024px) 100vw, 1024px"},"narrow":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAZABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAABBf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAHiNNgqDLqhODWUf//EAB8QAAIBAgcAAAAAAAAAAAAAAAACAQMSEBETISMyM//aAAgBAQABBQJVubSRDhKXZpkzEaUad1twpeJ//8QAFxEAAwEAAAAAAAAAAAAAAAAAAAEQEf/aAAgBAwEBPwFGin//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAhEAABAwEJAAAAAAAAAAAAAAABABARAhIhIjEyQWFxof/aAAgBAQAGPwIUjdYzK0+rmLnkK0Mnq7b/xAAeEAABBAMAAwAAAAAAAAAAAAABABEhMRBRYUHw8f/aAAgBAQABPyE1wJpXnJ6EJtiMJfQohLgp20EXBCxavnFKiMetzH//2gAMAwEAAgADAAAAEAgMA//EABkRAAMAAwAAAAAAAAAAAAAAAAABESFBUf/aAAgBAwEBPxBltEcGzCI//8QAFhEBAQEAAAAAAAAAAAAAAAAAAAER/9oACAECAQE/EKyq1//EACIQAQACAQMDBQAAAAAAAAAAAAEAEUEhMVGBkaGxweHw8f/aAAgBAQABPxCrnSLUT0qce8/dQ8FSauz8XEAELb96wE0feISbFOyO4wSa30cswlKY4cQnhozP/9k=","aspectRatio":0.8107680126682502,"src":"/static/9669666269e68d912dfc76e9c4a21ef8/1293c/md_lg.jpg","srcSet":"/static/9669666269e68d912dfc76e9c4a21ef8/81141/md_lg.jpg 240w,\n/static/9669666269e68d912dfc76e9c4a21ef8/11d7f/md_lg.jpg 480w,\n/static/9669666269e68d912dfc76e9c4a21ef8/1293c/md_lg.jpg 960w,\n/static/9669666269e68d912dfc76e9c4a21ef8/39658/md_lg.jpg 1024w","srcWebp":"/static/9669666269e68d912dfc76e9c4a21ef8/fcc10/md_lg.webp","srcSetWebp":"/static/9669666269e68d912dfc76e9c4a21ef8/2b5a3/md_lg.webp 240w,\n/static/9669666269e68d912dfc76e9c4a21ef8/35871/md_lg.webp 480w,\n/static/9669666269e68d912dfc76e9c4a21ef8/fcc10/md_lg.webp 960w,\n/static/9669666269e68d912dfc76e9c4a21ef8/e0f73/md_lg.webp 1024w","sizes":"(max-width: 960px) 100vw, 960px"},"seo":{"src":"/static/9669666269e68d912dfc76e9c4a21ef8/39658/md_lg.jpg"}}}],"category":"Entrepreneurship"}}}