{"id":202,"date":"2018-01-12T08:04:04","date_gmt":"2018-01-12T08:04:04","guid":{"rendered":"https:\/\/portfolio.cherylplatz.com\/?p=202"},"modified":"2023-07-25T06:00:15","modified_gmt":"2023-07-25T06:00:15","slug":"alexa-skill-my-countdown","status":"publish","type":"post","link":"https:\/\/portfolio.cherylplatz.com\/?p=202","title":{"rendered":"Alexa Skill: My Countdown"},"content":{"rendered":"<p>My second published Alexa skill was born from a request from a dear friend. We were planning a joint family trip to Disney World, and my goddaughter wanted to know how long until the big day. Wouldn&#8217;t it be nice to have a skill to make it easier for her mom to answer that question?<\/p>\n<p>The design process for this skill was somewhat unique. I initially designed the skill as the core example around which I built the sample deliverables for my now world-renowned voice design workshop, <a href=\"https:\/\/ideaplatz.com\/workshops\/giving-voice-to-your-voice-designs\/\">Giving Voice to Your Voice Designs<\/a>. However, at the time I created these designs, I had to concentrate on developing the workshop, and could not spare the time to code the skill itself.<\/p>\n<h3>Design brief<\/h3>\n<figure id=\"attachment_204\" aria-describedby=\"caption-attachment-204\" style=\"width: 225px\" class=\"wp-caption alignright\"><a href=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7454-e1516004814620.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"204\" data-permalink=\"https:\/\/portfolio.cherylplatz.com\/?attachment_id=204\" data-orig-file=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7454-e1516004814620.jpg?fit=2448%2C3264&amp;ssl=1\" data-orig-size=\"2448,3264\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 6&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1486310766&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.15&quot;,&quot;iso&quot;:&quot;40&quot;,&quot;shutter_speed&quot;:&quot;0.016666666666667&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;6&quot;}\" data-image-title=\"IMG_7454\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;The sample dialogs and prompts I developed during my initial design pass on Countdown. &lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7454-e1516004814620.jpg?fit=225%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7454-e1516004814620.jpg?fit=768%2C1024&amp;ssl=1\" class=\"wp-image-204 size-medium\" src=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7454-e1516004814620-225x300.jpg?resize=225%2C300&#038;ssl=1\" alt=\"\" width=\"225\" height=\"300\" srcset=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7454-e1516004814620.jpg?resize=225%2C300&amp;ssl=1 225w, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7454-e1516004814620.jpg?resize=768%2C1024&amp;ssl=1 768w, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7454-e1516004814620.jpg?w=1680&amp;ssl=1 1680w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/a><figcaption id=\"caption-attachment-204\" class=\"wp-caption-text\">The sample dialogs and prompts I developed during my initial design pass on Countdown.<\/figcaption><\/figure>\n<p>At its core, My Countdown is simple: it allows customers to save a date for several key life events (DateSetIntent). Once each date is saved, the customer can query the number of remaining days at any time (DateGetIntent). They can use a separate intent to delete any date that is no longer valid (DateClearIntent).<\/p>\n<p>One of the most important design decisions here was to limit the custom slot type &#8211; DATETYPE &#8211; to a short list of specific event names. While a common request is support for arbitrary names like &#8220;Mom&#8217;s birthday&#8221;, I have learned from my experience on VUI elsewhere that arbitrary input would be problematic in two key ways:<\/p>\n<ol>\n<li>The larger the set of potential names, the worse performance will be. The performance issue becomes magnified if the potential entries are not acoustically unique.<\/li>\n<li>We cannot control the spelling of arbitrary input. If we plan on supporting display cards at any point, arbitrary voice input may lead to confusion or even distress (like a mispelled name of a loved one).<\/li>\n<li>Since our database system is string-based, arbitrary input might lead to orphaned entries based on variability (for example, one day recognizing &#8220;Cheryl&#8217;s birthday&#8221; and another day recognizing &#8220;Sheryl&#8217;s birthday&#8221; and finding no matches.<\/li>\n<\/ol>\n<p>Rather than set customers up for failure by allowing these arbitrary inputs, I made the very intentional choice to scope input to a small, fixed list of event dates whose names have been scrubbed to ensure acoustic uniqueness. These event types are unlikely to cause false positives.<\/p>\n<p>Though this, like Trainer Tips, was a solo development effort, I did create a full set of design deliverables as part of the design process. I share these deliverables with students in my &#8220;<a href=\"https:\/\/ideaplatz.com\/workshops\/giving-voice-to-your-voice-designs\/\">Giving Voice to Your Voice Designs<\/a>&#8221; workshop.<\/p>\n<h3>Implementation<\/h3>\n<p>A year later, I finally had the opportunity to build out the skill. It required support for a persistent cloud database, for which I learned how to integrate DynamoDB with the Lambda code (in Node.js) I was developing. Interestingly, the platform has changed in some significant ways since my first experience developing a skill (Trainer Tips), which required some adaptation.<\/p>\n<p>During development, I decided to expand the scope of my skill beyond what we cover in my class. I focused on one-shot intents in class, but I&#8217;ve received suggestions for several additional event types, which made batch intents more useful. If you have 6 events saved, it&#8217;s much more likely a customer might want to listen to the full set. Thus I added &#8220;Get all dates&#8221; and &#8220;Clear all dates&#8221; intents to the original 3 one-shot intents.<\/p>\n<p>Due to time constraints as a solo developer, I also needed to make some compromises. My original designs included a fairly forgiving slot-filling model for incomplete utterances. However, the newly introduced dialog model isn&#8217;t yet represented in Alexa sample code. I postponed implementation of the model (which would have required an entire state management system) in hopes I can use the new beta Skill Builder to implement my slot-filling more efficiently in the near future.<\/p>\n<h3>Next Steps<\/h3>\n<p>The My Countdown skill went live on January 11, 2018. I am currently in contact with Amazon about an invocation phrase issue &#8211; in some cases, the words &#8220;count down&#8221; are recognized as a single word &#8220;countdown&#8221;, which causes one-shot invocation of a critical intent to fail. I am actively troubleshooting this problem and may change the invocation phrase to fix the problem.<\/p>\n<p>If initial response warrants further development, I will begin exploring a v2 with a more forgiving slot-filling dialog system, and may also explore multimodal display cards for the Echo Show and Echo Spot.<\/p>\n<figure id=\"attachment_203\" aria-describedby=\"caption-attachment-203\" style=\"width: 640px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"203\" data-permalink=\"https:\/\/portfolio.cherylplatz.com\/?attachment_id=203\" data-orig-file=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?fit=3264%2C2448&amp;ssl=1\" data-orig-size=\"3264,2448\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 6&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1486312595&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.15&quot;,&quot;iso&quot;:&quot;50&quot;,&quot;shutter_speed&quot;:&quot;0.0083333333333333&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"IMG_7455\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;Walking my workshop participants at Interaction 17 through the original Countdown VUI flow.&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?fit=300%2C225&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?fit=840%2C630&amp;ssl=1\" class=\"size-large wp-image-203\" src=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?resize=640%2C480&#038;ssl=1\" alt=\"\" width=\"640\" height=\"480\" srcset=\"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?resize=768%2C576&amp;ssl=1 768w, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?w=1680&amp;ssl=1 1680w, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/IMG_7455.jpg?w=2520&amp;ssl=1 2520w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><figcaption id=\"caption-attachment-203\" class=\"wp-caption-text\">Walking my workshop participants at Interaction 17 through the original Countdown VUI flow.<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>My second published Alexa skill was born from a request from a dear friend. We were planning a joint family trip to Disney World, and my goddaughter wanted to know how long until the big day. Wouldn&#8217;t it be nice to have a skill to make it easier for her mom to answer that question? [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":206,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[83,15,85,24,13],"tags":[35,34,48],"class_list":["post-202","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-services","category-consumer-products","category-prototyping-development","category-product-design","category-voice-interfaces","tag-alexa","tag-amazon","tag-voice-design"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/01\/MyCountdown-Skill-e1516005311841.png?fit=369%2C438&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p92M1g-3g","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":200,"url":"https:\/\/portfolio.cherylplatz.com\/?p=200","url_meta":{"origin":202,"position":0},"title":"Alexa Skill: Trainer Tips","author":"cplatz","date":"February 15, 2016","format":false,"excerpt":"When I joined the Alexa team, the Skills store was still in its infancy. One of my first responsibilities on the team was to perform skill submission reviews, which gave me a unique perspective on the strengths and weaknesses of the early Skills platform. Still, I wanted to learn more\u2026","rel":"","context":"In &quot;Cloud Services&quot;","block_context":{"text":"Cloud Services","link":"https:\/\/portfolio.cherylplatz.com\/?cat=83"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2016\/02\/TrainerTips-Skill-e1516005279745.png?fit=366%2C448&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":243,"url":"https:\/\/portfolio.cherylplatz.com\/?p=243","url_meta":{"origin":202,"position":1},"title":"Conversational UI: Design Education","author":"cplatz","date":"August 26, 2018","format":false,"excerpt":"Since beginning my journey in voice user interfaces, I've been deeply passionate about the space. One of my motivations for leaving Amazon was to gain the freedom to engage with the broader community about conversational UI theory, since I was largely prevented from that kind of outreach when working on\u2026","rel":"","context":"In &quot;Chatbots&quot;","block_context":{"text":"Chatbots","link":"https:\/\/portfolio.cherylplatz.com\/?cat=80"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/08\/uxllx3-e1538015988366.jpg?fit=1200%2C625&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/08\/uxllx3-e1538015988366.jpg?fit=1200%2C625&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/08\/uxllx3-e1538015988366.jpg?fit=1200%2C625&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/08\/uxllx3-e1538015988366.jpg?fit=1200%2C625&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2018\/08\/uxllx3-e1538015988366.jpg?fit=1200%2C625&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":77,"url":"https:\/\/portfolio.cherylplatz.com\/?p=77","url_meta":{"origin":202,"position":2},"title":"Echo Look (Product and VUI Design)","author":"cplatz","date":"June 4, 2018","format":false,"excerpt":"I was hired to help a fledgling product team transform their initial concept lab pitch into a production-worthy multimodal design for an entirely new hardware product category at Amazon. Problem statement How might we create a completely new experience that helps customers manage their wardrobes, combining natural user interfaces with\u2026","rel":"","context":"In &quot;Consumer Products&quot;","block_context":{"text":"Consumer Products","link":"https:\/\/portfolio.cherylplatz.com\/?cat=15"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/echo-look-2.jpg?fit=800%2C449&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/echo-look-2.jpg?fit=800%2C449&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/echo-look-2.jpg?fit=800%2C449&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/echo-look-2.jpg?fit=800%2C449&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":144,"url":"https:\/\/portfolio.cherylplatz.com\/?p=144","url_meta":{"origin":202,"position":3},"title":"Alexa Notifications and Interruption Model","author":"cplatz","date":"June 1, 2017","format":false,"excerpt":"Upon joining the central Alexa Voice Design team in late 2015, my first order of business was to tackle a complicated systems design problem: how could we adapt a primarily single-threaded, voice-forward, reactive experience to allow proactive notifications? There was a great deal of caution surrounding the effort, as our\u2026","rel":"","context":"In &quot;Chatbots&quot;","block_context":{"text":"Chatbots","link":"https:\/\/portfolio.cherylplatz.com\/?cat=80"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/AlexaVideoScreen-1.png?fit=1200%2C656&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/AlexaVideoScreen-1.png?fit=1200%2C656&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/AlexaVideoScreen-1.png?fit=1200%2C656&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/AlexaVideoScreen-1.png?fit=1200%2C656&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/AlexaVideoScreen-1.png?fit=1200%2C656&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":152,"url":"https:\/\/portfolio.cherylplatz.com\/?p=152","url_meta":{"origin":202,"position":4},"title":"Alexa: Do Not Disturb","author":"cplatz","date":"March 31, 2016","format":false,"excerpt":"In parallel with our efforts on Alexa Notifications, I was asked to drive the completion of the Do Not Disturb feature. DND applied not just to Notifications but to Communications (calls\/messaging), which meant a separate team of stakeholders and faster deadlines than the longer-term Notifications project. As with Alexa Notifications,\u2026","rel":"","context":"In &quot;Cloud Services&quot;","block_context":{"text":"Cloud Services","link":"https:\/\/portfolio.cherylplatz.com\/?cat=83"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/DND-Sample.png?fit=1200%2C916&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/DND-Sample.png?fit=1200%2C916&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/DND-Sample.png?fit=1200%2C916&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/DND-Sample.png?fit=1200%2C916&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/DND-Sample.png?fit=1200%2C916&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":36,"url":"https:\/\/portfolio.cherylplatz.com\/?p=36","url_meta":{"origin":202,"position":5},"title":"Windows Automotive Notifications","author":"cplatz","date":"June 1, 2014","format":false,"excerpt":"Many of our in-vehicle apps needed to provide information to the driver, and expected the same interruption models they enjoy on mobile phones. However, in an automotive environment, interruptions threaten the driver\u2019s safety. Our solutions had to work in a multimodal environment, with potential touch, voice or hardware input. We\u2026","rel":"","context":"In &quot;Consumer Products&quot;","block_context":{"text":"Consumer Products","link":"https:\/\/portfolio.cherylplatz.com\/?cat=15"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/Notifications_S25_v3__Actionable_Text.png?fit=800%2C481&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/Notifications_S25_v3__Actionable_Text.png?fit=800%2C481&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/Notifications_S25_v3__Actionable_Text.png?fit=800%2C481&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/portfolio.cherylplatz.com\/wp-content\/uploads\/2017\/08\/Notifications_S25_v3__Actionable_Text.png?fit=800%2C481&ssl=1&resize=700%2C400 2x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=\/wp\/v2\/posts\/202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=202"}],"version-history":[{"count":2,"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=\/wp\/v2\/posts\/202\/revisions"}],"predecessor-version":[{"id":755,"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=\/wp\/v2\/posts\/202\/revisions\/755"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=\/wp\/v2\/media\/206"}],"wp:attachment":[{"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portfolio.cherylplatz.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}