{"id":135,"date":"2019-01-14T07:56:22","date_gmt":"2019-01-14T07:56:22","guid":{"rendered":"https:\/\/keith.resar.org\/blog\/?p=135"},"modified":"2019-01-13T21:57:16","modified_gmt":"2019-01-13T21:57:16","slug":"building-and-bootstrapping-a-used-toy-marketplace","status":"publish","type":"post","link":"https:\/\/keith.resar.org\/blog\/building-and-bootstrapping-a-used-toy-marketplace\/","title":{"rendered":"Building and Bootstrapping a Used Toy Marketplace"},"content":{"rendered":"<p>Creating the Craigslist for kids toys, in Minneapolis and beyond.<\/p>\n<p><!--more--><\/p>\n<p><span style=\"color: #999999;\"><em>I&#8217;m sharing my startup stories while building out my latest project &#8211; <a style=\"color: #999999;\" href=\"https:\/\/www.calenzen.com\/?utm_source=keith.resar.org_blog&amp;utm_medium=inline\">Calenzen<\/a> &#8211; which seamlessly reformats meetings in your calendar so you can always instantly click to dial. No special apps, calendar programs, or software is ever needed.\u00a0 <a style=\"color: #999999;\" href=\"https:\/\/www.calenzen.com\/?utm_source=keith.resar.org_blog&amp;utm_medium=inline\">Learn more about Calenzen<\/a>.<\/em><\/span><\/p>\n<p><b>This Solution Needs a Problem<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Soon after having kids, I quickly realized that they change a lot. \u00a0This isn\u2019t earth-shattering news at all, but I didn\u2019t expect their interests to flip so frequently. \u00a0As this played out the kids would fixate on new toys, leaving the old ones to gather dust in the basement. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I grew tired of stepping on the cast-offs that weren\u2019t used anymore. \u00a0When the kids would get something new it was always such a gamble. I worried whether the toy would break right away, or if it would be used for more than a few minutes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That\u2019s where the idea for Flip-a-toy came from. \u00a0Buying all those toys new would be ridiculous and finding them used was as much of a pain as getting rid of your old ones. \u00a0My idea was to create a localized marketplace for used children&#8217;s toys &#8211; think Craigslist for Toys.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Buyers on the site could discover toys based on age, gender, and most importantly location proximity. \u00a0They were encouraged to register their kids\u2019 gender and age to get alerts when new items were listed nearby.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I wanted close to zero friction for sellers, on the assumption that it would encourage a large inventory. \u00a0This started with giving the sellers easy ways to list their offerings, one of them even including submitting tagged photos that could easily contain a dozen items or more. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Data describing items was another source of friction &#8211; categorizing, tagging, finding stock photos, and adding stock descriptions of items was a pain and would prevent many low-value items from ever landing on the site. \u00a0I combatted this by ingeniously tying the listing process in with data sourced from Amazon. As soon as a listing was linked to a specific Amazon item, the site instantly gained access to a wealth of this metadata.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Revenue wouldn\u2019t come from either the buy-side or the sell-side. \u00a0Rather, the path forward was through commission from future Amazon purchases. \u00a0As customers integrated with the Flip-a-toy web site, my algorithms built a customer profile that I used to customize a recommended product page. \u00a0Any purchases of these recommended items via Amazon resulted in a commission.<\/span><\/p>\n<p><b>Building the Web Interface<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I wanted the entire experience to appeal to my target visitor persona. \u00a0These were parents, often professionals, with young children. I expected that they wanted something that balanced a playful look but that also built trust and credibility by mirroring their own professionalism.<\/span><\/p>\n<div class=\"callout\" style=\"clear: both;\">\n<p><img loading=\"lazy\" width=\"200\" height=\"200\" class=\"alignleft wp-image-214 size-full\" style=\"height: 100px; margin-top: 1.5em;\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/01\/transparent-icon-200x200.png\" alt=\"\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/01\/transparent-icon-200x200.png 200w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/01\/transparent-icon-200x200-150x150.png 150w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/01\/transparent-icon-200x200-100x100.png 100w\" sizes=\"(max-width: 200px) 100vw, 200px\" \/><\/p>\n<p>Learn more about how I developed this persona and the overall positioning for the brand from my piece \u201c<a href=\"https:\/\/www.calenzen.com\/blog\/logo-design-for-impact\/\">Logo Design for Impact<\/a>\u201d that builds on my experience designing the logo for Flip-a-toy when designing the <a href=\"https:\/\/calenzen.com\">Calenzen<\/a> offering.<\/p>\n<\/div>\n<p><!--end callout--><\/p>\n<p><span style=\"font-weight: 400;\">This project had a healthy time budget (no hard go-live dates, though sooner is always preferred) and funding to support bringing additional help on board. \u00a0While I\u2019ve used templates and the outstanding Bootstrap framework for more recent projects, those weren\u2019t yet available at the time I was pulling this interface together. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I wasn\u2019t going to start from scratch either, so I worked with a freelance agency that could collaborate to bring my rough wireframes into a finely tuned web site that expertly matched the brand image already coming together.<\/span><\/p>\n<figure id=\"attachment_141\" aria-describedby=\"caption-attachment-141\" style=\"width: 2500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy-3-screenshots.png\"><img loading=\"lazy\" class=\"wp-image-141 size-full\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy-3-screenshots.png\" alt=\"\" width=\"2500\" height=\"712\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy-3-screenshots.png 2500w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy-3-screenshots-300x85.png 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy-3-screenshots-768x219.png 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy-3-screenshots-1024x292.png 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><figcaption id=\"caption-attachment-141\" class=\"wp-caption-text\">Three customer-facing screens from the Flip-a-toy web site: The home page with a rotating list of geo-tagged tiles, a product page, and the search\/browse interface.<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">While the final product looked pixel perfect and included the exact color scheme and overall feel that I\u2019d run by the target group, I\u2019d soon discover it wasn\u2019t without flaws. \u00a0The site itself was rigidly defined, making further extensions very challenging. Modifying part of a layout or even changing the color of a link, required modifying stylesheets in dozens of locations. \u00a0As I continued working with the site, I ultimately ended up with a second series of higher priority stylesheets to unify the look and make the site both easy to build and consistent to navigate.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A big part of the challenge soon came from implementing new patterns that, at the time, were far from common. \u00a0One very noticeable example was the picture management tooling. I wanted customers to be able to easily upload images, crop them, and also tag specific areas. \u00a0The idea was to use a single quick photo that included a number of different products that could be extracted out using the tagging interface.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">While this has been common for a number of years now after Facebook made it popular, that wasn\u2019t always the case. \u00a0No pre-built JavaScript frameworks existed. After many hours of coding, testing, and finding snippets of code with partial functionality, I\u2019d finally built the right interface.<\/span><\/p>\n<figure id=\"attachment_186\" aria-describedby=\"caption-attachment-186\" style=\"width: 2326px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"wp-image-186 size-full\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/01\/Screen-Shot-2019-01-04-at-11.50.29-AM.png\" alt=\"\" width=\"2326\" height=\"1478\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/01\/Screen-Shot-2019-01-04-at-11.50.29-AM.png 2326w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/01\/Screen-Shot-2019-01-04-at-11.50.29-AM-300x191.png 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/01\/Screen-Shot-2019-01-04-at-11.50.29-AM-768x488.png 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2019\/01\/Screen-Shot-2019-01-04-at-11.50.29-AM-1024x651.png 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption id=\"caption-attachment-186\" class=\"wp-caption-text\">Screenshot showing custom tagging. Start with a single photo that contains multiple items, then drag rectangles around each item type to create custom listings.<\/figcaption><\/figure>\n<p><b>The Hidden Parts in the Back End<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Most of the heavy lifting in the Flip-a-toy solution fell to the unseen backend. \u00a0I made heavy use of Python in front of a MySQL database to drive both local maintenance activities and to obtain and enhance data from partners.<\/span><\/p>\n<p><b>The Yin and Yang of Dependencies<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The most important data came from Amazon APIs which supported both synchronous and asynchronous use cases. \u00a0The most critical one was to drive data appending requirements. When customers listed or interacted with any listings, I made use of Amazon\u2019s rich data &#8211; like product name, description, stock photos, appropriate ages, and similar products.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">While this data held immense value, synchronous access added a third party dependency on the Flip-a-toy service. \u00a0Nearly all API requests returned quickly, that wasn\u2019t always the case. 2% of all calls exceeded 1.5 seconds to return. \u00a0Given that my product pages could easily reference more than a dozen different products (including all the recommendations) this meant that once every few page loads I\u2019d expect a slowdown.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Slowdowns have a much larger reverberating effect than many people initially realize. \u00a0The most apparent impact is a poor user experience because the page returns too slowly, doesn\u2019t render correctly, or needs to be reloaded. \u00a0But that\u2019s only temporal. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">When pages take longer to deliver due to these downstream dependencies, the web server itself cannot process as many concurrent visitors. \u00a0Remedying this by purchasing additional hosting capacity increases costs and complexity (e.g. two servers are harder to keep running, correctly, than just one).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The final impact of slow page load times, and the most challenging to mitigate, is the affect on Google (or other) search engine listings. \u00a0Google ranks search results using a complex formula, but one component is page load time. An inconsistently delivered web site will reduce search engine visibility and therefore organic traffic.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Thankfully, all this risk could be easily mitigated by caching and prefetching this data asynchronously. \u00a0It removes the third party dependency and reduces the time-cost of data to near zero. While the technical solution was easy to implement, keeping within data management policy took more finesse. \u00a0That\u2019s because Amazon gives access to this data for immediate use, not for permanent storage (keep in mind &#8211; Amazon provides this data as a way to increase sales). <\/span><\/p>\n<p><span style=\"font-weight: 400;\">After analyzing the policy, I determined data could be cached for up to 24 hours. \u00a0This meant the first data access would be synchronous, all subsequent page views within a 24 hour period would be cached, and I could asynchronously pre-fetch the data at the end of 24 hours to maintain deterministic performance.<\/span><\/p>\n<p><b>Harnessing the Power of my Database<\/b><\/p>\n<p><span style=\"font-weight: 400;\">As already mentioned, I wanted Flip-a-toy to be hyper-localized. \u00a0Visitors wouldn\u2019t be faced with an ad-hoc list of items like you would expect to see on Craigslist. \u00a0By taking into account exactly where sellers and potential buyers lived, I could sort and filter listings very accurately.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I accomplished this by requesting that registered users provide at least their zip code. \u00a0Potential buyers could also supply a location or, if one was not provided, could automatically narrow their location to a specific city by their computer address. \u00a0Zip codes can be directly translated into longitude and latitude coordinates. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Given these coordinates I made sure all searches run through the database executed an efficient formula that calculated the distance between any two points on demand.<\/span><\/p>\n<p>https:\/\/gist.github.com\/keithresar\/79e30bf4dd6c0efca137d3f882326d78<\/p>\n<p><b>Keeping Visitors Connected with Fip-a-toy<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The last piece of functionality in my initial version was a way to pull existing customers back to the site. \u00a0Remember, my sole revenue stream came from commissions based on off-site sales at Amazon!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I created a batch job that searched for matches between item inventory and potential buyers. \u00a0When there was a match between them, such as a new listing or a buyer\u2019s child aged into a new category, the system crafted an outbound email. \u00a0The email contained details on the match, but also included the same suite of recommendations that drove the live web site.<\/span><\/p>\n<p><b>Launching to My First Customers<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Launching was a local effort. \u00a0Since Flip-a-toy required a marketplace, I needed to bootstrap both buyers and sellers on the system. \u00a0This was best accomplished by focussing on a small area within one city before scaling any further.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I began by seeding the marketplace with listings. \u00a0After an expensive trip to the used toy store, we had a few dozen listings active on the site. \u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The next step was getting the word out. \u00a0My first thought was that parents spend time near other parents. \u00a0To make the connection, I printed out a number of bumper stickers and a few parents proudly showed them off.<\/span><\/p>\n<figure id=\"attachment_139\" aria-describedby=\"caption-attachment-139\" style=\"width: 1600px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" class=\"wp-image-139 size-full\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/bumper_stickers.png\" alt=\"\" width=\"1600\" height=\"554\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/bumper_stickers.png 1600w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/bumper_stickers-300x104.png 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/bumper_stickers-768x266.png 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/bumper_stickers-1024x355.png 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><figcaption id=\"caption-attachment-139\" class=\"wp-caption-text\">Four different versions of the Flip-a-toy bumper stickers that were proudly displayed throughout Minneapolis<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">The second outreach step was to look for locally oriented websites, newsletters, and parent communities. \u00a0Where I found these, I reached out.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Unfortunately, neither of these efforts ultimately resulted in a sustainable marketplace populated with new sellers or enough buyers to successfully make the sales and matches needed for success. \u00a0After a trial run, I shuttered the failed effort.<\/span><\/p>\n<p><b>Everything\u2019s Different the Second Time Around<\/b><\/p>\n<p><span style=\"font-weight: 400;\">More than a year passed between closing down Flip-a-toy and me discovering the missing piece that caused failure. \u00a0After some due diligence, I began spinning the web service back up again.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The original domain flip-a-toy.com had expired and I no longer owned it, but a quick rename to play-swap.com was enough to get back online using tweaked branding. \u00a0I added some new features and re-skinned the entire front-end.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I felt the original effort failed due to customer outreach and not a failure with product\/market fit. \u00a0Therefore, my time needed to be focussed on customer acquisition rather than any other tasks.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We all know the rules of thumb about display advertising, that it\u2019s only the first step in a very leaky funnel and that multiple impressions are key to pulling in new customers. \u00a0The first effort didn\u2019t have enough presence or context to make this connection.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For my second attempt, I wanted increased visibility and something more actionable where parents visit. \u00a0I printed out a beautiful glossy flier and attached custom printed post-it notepads to each. The idea was that the eye-catching design would draw in enough second glances to read the market pitch and a percentage of them would grab a sticky-note for future reference.<\/span><\/p>\n<figure id=\"attachment_152\" aria-describedby=\"caption-attachment-152\" style=\"width: 2094px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy_flier_postit.png\"><img loading=\"lazy\" class=\"wp-image-152 size-full\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy_flier_postit.png\" alt=\"\" width=\"2094\" height=\"1326\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy_flier_postit.png 2094w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy_flier_postit-300x190.png 300w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy_flier_postit-768x486.png 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/flipatoy_flier_postit-1024x648.png 1024w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><figcaption id=\"caption-attachment-152\" class=\"wp-caption-text\">Eye-catching fliers were distributed throughout the metro. Most uniquely, each flier contained a custom-printed pad of yellow post-it notes attached so potential customers could quick take a copy of the message with them.<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">These were printed and distributed across preschools and daycares to get the most visibility from my target persona. \u00a0Unfortunately, after a few months with no traction, I declared this effort a failure as well. <\/span><\/p>\n<p><b>Lessons Learned<\/b><\/p>\n<p><span style=\"font-weight: 400;\">This was a tough project to fail on, especially after taking another run at it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">From a technical perspective, my takeaways were around the idea of increasing efficiency. \u00a0By minimizing the effort required to prove the idea\u2019s feasibility, I\u2019m able to iterate more quickly. \u00a0Investing in a custom designed web front-end wasn\u2019t a great use of time and in retrospect would not have dramatically changed customer behavior at the top of the funnel where early proof metrics are so critical. \u00a0Should the site have taken off, I would not have been locked into a corner and changes to improve conversion and performance could have been implemented on an ongoing basis.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">I talked with parents in my target persona throughout the development process. \u00a0Contrasting the reaction I\u2019ve gotten from other projects (\u201cI don\u2019t get it,\u201d or \u201cwhy wouldn\u2019t you do x instead\u201d), feedback was overwhelmingly positive. \u00a0Parents said the entire toy lifecycle was a pain point &#8211; new ones were too expensive, they weren\u2019t used long enough, and variety was hard to maintain. This reaction played perfectly with the value prop I offered.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">But how much can you trust feedback, whether from surveys or anecdotal conversations? \u00a0When there\u2019s a price attached to their feedback to use as a commitment device, such as requesting prepayment for the product that\u2019s still in development, then you know it\u2019s more than mere words. \u00a0Given my Amazon commission based revenue stream this wasn\u2019t an option.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">About the time I shuttered my second effort, that potential revenue source was suddenly blocked as well. \u00a0Amazon was de-risking their potential sales-tax liability in states where they didn\u2019t collect it by disabling all referral programs paying to addresses in the \u201cred\u201d no-go states. \u00a0Minnesota was one of these as of 2013 (although this has long since changed).<\/span><\/p>\n<figure id=\"attachment_144\" aria-describedby=\"caption-attachment-144\" style=\"width: 605px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/2012-05-02_amazon-web.jpg\"><img loading=\"lazy\" class=\"wp-image-144 size-full\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/2012-05-02_amazon-web.jpg\" alt=\"\" width=\"605\" height=\"328\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/2012-05-02_amazon-web.jpg 605w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/2012-05-02_amazon-web-300x163.jpg 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption id=\"caption-attachment-144\" class=\"wp-caption-text\">States where Amazon had a presence and therefore collected sales tax in mid-2012. Not long after this, Amazon cut ties with all affiliates in the gray states to minimize the risk of being accused of having a presence which would require collecting (back) sales taxes.<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">My final thought on this project is still a tinge of regret. \u00a0Not long after Play-swap was shut down, a very similar project started up just down the street. \u00a0They delivered the on the same promise &#8211; a frictionless marketplace for used kids toys and clothing. \u00a0Their initial solution was app-based and pretty rough, but now many years later they have an awesome offering.<\/span><\/p>\n<figure id=\"attachment_145\" aria-describedby=\"caption-attachment-145\" style=\"width: 1000px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/kidizen_app.png\"><img loading=\"lazy\" class=\"wp-image-145 size-full\" src=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/kidizen_app.png\" alt=\"\" width=\"1000\" height=\"1066\" srcset=\"https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/kidizen_app.png 1000w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/kidizen_app-281x300.png 281w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/kidizen_app-768x819.png 768w, https:\/\/keith.resar.org\/blog\/wp-content\/uploads\/2018\/11\/kidizen_app-961x1024.png 961w\" sizes=\"(max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><figcaption id=\"caption-attachment-145\" class=\"wp-caption-text\">Screenshot of the Kidizen app &#8211; same idea but more successful execution.<\/figcaption><\/figure>\n<p>Want more?\u00a0 See a narrated walk-though of the ~2013 Play-swap web site below.\u00a0 I felt as though the site looked fantastic at the time, but with the help of hindsight this is incredibly dated.<\/p>\n<p><iframe loading=\"lazy\" width=\"525\" height=\"394\" src=\"https:\/\/www.youtube.com\/embed\/zKX2j0yXg5Y?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Creating the Craigslist for kids toys, in Minneapolis and beyond.<\/p>\n","protected":false},"author":1,"featured_media":184,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/posts\/135"}],"collection":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/comments?post=135"}],"version-history":[{"count":25,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/posts\/135\/revisions"}],"predecessor-version":[{"id":222,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/posts\/135\/revisions\/222"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/media\/184"}],"wp:attachment":[{"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/media?parent=135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/categories?post=135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/keith.resar.org\/blog\/wp-json\/wp\/v2\/tags?post=135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}