{"id":7473,"date":"2025-10-19T23:38:40","date_gmt":"2025-10-19T23:38:40","guid":{"rendered":"https:\/\/robertjwallace.com\/?p=7473"},"modified":"2025-10-20T21:24:05","modified_gmt":"2025-10-20T21:24:05","slug":"stack-reveal-helper-a-web-based-card-magic-companion","status":"publish","type":"post","link":"https:\/\/robertjwallace.com\/es\/stack-reveal-helper-a-web-based-card-magic-companion\/","title":{"rendered":"Stack Reveal Helper: A Web-Based Card Magic Companion"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"\">I&#8217;ve used AI to create a tool for card magicians who work with deck stacks. This web application was inspired by Lloyd Barnes&#8217;s MAXIM app, which unfortunately kept crashing on my device. Rather than wait for fixes, I decided to create my own web-based alternative that captures the core functionality while adding some unique features.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"\"><strong>Available at: <\/strong><a href=\"http:\/\/robertjwallace.com\/stackreveal\"><strong>http:\/\/robertjwallace.com\/stackreveal<\/strong><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What It Does<\/h2>\n\n\n\n<p class=\"\">The Stack Reveal Helper is a covert application that can be disguised as whatever you want it to be. Here&#8217;s the basic workflow:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"\">You perform with any stack (the app supports 12 popular stacks including Aronson, Mnemonica\/Tamariz, Si Stebbins, Eight Kings, and others)<\/li>\n\n\n\n<li class=\"\">After the spectator cuts the deck and names any card, you discreetly input the key card and their selection<\/li>\n\n\n\n<li class=\"\">The app instantly calculates the card&#8217;s position and presents multiple reveal methods<\/li>\n\n\n\n<li class=\"\">You choose the most appropriate reveal for your performance context<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">The Covert Display<\/h2>\n\n\n\n<p class=\"\">The app comes with a default messaging notification screen, but the real power is in customization. I take a screenshot of my phone&#8217;s home screen and crop it to remove the header and footer bars. When uploaded to the app, my phone appears to simply be sitting on the home screen\u2014completely natural and unsuspicious.<\/p>\n\n\n\n<p class=\"\">You could use:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Your phone&#8217;s home screen<\/li>\n\n\n\n<li class=\"\">Your lock screen<\/li>\n\n\n\n<li class=\"\">A messaging app<\/li>\n\n\n\n<li class=\"\">A calculator<\/li>\n\n\n\n<li class=\"\">Any image that makes sense for your phone to display<\/li>\n<\/ul>\n\n\n\n<p class=\"\">The image you upload is saved and persists across sessions, so you only need to set it up once.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Reveals<\/h2>\n\n\n\n<p class=\"\">The tool calculates where a card is located and suggests multiple ways to reveal it. The app checks for matches against:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>Card spelling variations<\/strong>: The full card name, just the value, just the suit (both singular and plural)<\/li>\n\n\n\n<li class=\"\"><strong>Magic phrases<\/strong>: Expressions like &#8220;this looks like magic,&#8221; &#8220;your card is here,&#8221; or &#8220;abracadabra&#8221;<\/li>\n\n\n\n<li class=\"\"><strong>Date-based reveals<\/strong>: Today&#8217;s date, the current month (number or spelled out), or the year<\/li>\n\n\n\n<li class=\"\"><strong>Personalized phrases<\/strong>: The app dynamically creates &#8220;[card name] is here&#8221; for each selection<\/li>\n\n\n\n<li class=\"\"><strong>Classic methods<\/strong>: Count-and-turn presentations for positions near the top<\/li>\n<\/ul>\n\n\n\n<p class=\"\">The app presents all matching methods, allowing you to choose the most natural reveal in the moment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Use It<\/h2>\n\n\n\n<p class=\"\"><strong>Initial Setup:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"\">Visit http:\/\/robertjwallace.com\/stackreveal on your phone<\/li>\n\n\n\n<li class=\"\">Tap the screen to enter setup mode<\/li>\n\n\n\n<li class=\"\">Select your stack from the dropdown<\/li>\n\n\n\n<li class=\"\">Choose whether your key card will be on top or bottom after the cut<\/li>\n\n\n\n<li class=\"\">Select your key card (the card you&#8217;ll glimpse after the spectator cuts)<\/li>\n\n\n\n<li class=\"\">(Optional) Upload a custom screenshot to disguise the app<\/li>\n\n\n\n<li class=\"\">Tap &#8220;Perform&#8221; to return to the cover screen<\/li>\n<\/ol>\n\n\n\n<p class=\"\"><strong>During Performance:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"\">Have the spectator cut the deck<\/li>\n\n\n\n<li class=\"\">Glimpse your key card (top or bottom, depending on your setup)<\/li>\n\n\n\n<li class=\"\">Have the spectator name any card<\/li>\n\n\n\n<li class=\"\">Casually pick up your phone and tap the screen<\/li>\n\n\n\n<li class=\"\">Quickly enter the spectator&#8217;s card by tapping the value and suit<\/li>\n\n\n\n<li class=\"\">Tap &#8220;Perform&#8221; to return to the cover screen<\/li>\n\n\n\n<li class=\"\">Tap the screen again to see all possible reveal methods<\/li>\n\n\n\n<li class=\"\">Choose your preferred method and perform the reveal<\/li>\n\n\n\n<li class=\"\">Tap anywhere on the reveal screen to return to the cover screen<\/li>\n\n\n\n<li class=\"\">Tap &#8220;Reset&#8221; when ready for the next performance (this clears only the spectator&#8217;s card, keeping your stack and key card saved)<\/li>\n<\/ol>\n\n\n\n<p class=\"\"><strong>Tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\">Your stack selection and key card are saved automatically, so you only need to configure them once<\/li>\n\n\n\n<li class=\"\">The app works offline once loaded, so you don&#8217;t need an internet connection during performance<\/li>\n\n\n\n<li class=\"\">Practice the flow of tapping and entering cards until it feels natural<\/li>\n\n\n\n<li class=\"\">The entire input process takes just 2-3 seconds with practice<\/li>\n<\/ul>\n\n\n\n<p class=\"\">[Screenshots will be inserted here showing: 1) The cover screen with custom image, 2) The setup screen with stack selection and card inputs, 3) The reveal screen showing multiple methods]<\/p>\n\n\n\n<figure class=\"is-style-default border wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"945\" height=\"2048\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161315_Firefox-scaled.jpg\" alt=\"\" class=\"wp-image-7477 lazyload\" style=\"--smush-placeholder-width: 945px; --smush-placeholder-aspect-ratio: 945\/2048;width:311px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161315_Firefox-945x2048.jpg 945w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161315_Firefox-138x300.jpg 138w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161315_Firefox-473x1024.jpg 473w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161315_Firefox-768x1664.jpg 768w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161315_Firefox-709x1536.jpg 709w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161315_Firefox-6x12.jpg 6w\" data-sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><figcaption class=\"wp-element-caption\"><strong>Default screen<\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"is-style-default border wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"1038\" height=\"2048\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/1000040841-scaled.jpg\" alt=\"\" class=\"wp-image-7478 lazyload\" style=\"--smush-placeholder-width: 1038px; --smush-placeholder-aspect-ratio: 1038\/2048;width:311px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/1000040841-1038x2048.jpg 1038w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/1000040841-152x300.jpg 152w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/1000040841-519x1024.jpg 519w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/1000040841-768x1515.jpg 768w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/1000040841-779x1536.jpg 779w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/1000040841-6x12.jpg 6w\" data-sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><figcaption class=\"wp-element-caption\">Custom screen<\/figcaption><\/figure>\n\n\n\n<figure class=\"is-style-default border wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"945\" height=\"2048\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161323_Firefox-scaled.jpg\" alt=\"\" class=\"wp-image-7476 lazyload\" style=\"--smush-placeholder-width: 945px; --smush-placeholder-aspect-ratio: 945\/2048;width:311px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161323_Firefox-945x2048.jpg 945w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161323_Firefox-138x300.jpg 138w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161323_Firefox-473x1024.jpg 473w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161323_Firefox-768x1664.jpg 768w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161323_Firefox-709x1536.jpg 709w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161323_Firefox-6x12.jpg 6w\" data-sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><figcaption class=\"wp-element-caption\">Stack Selection<\/figcaption><\/figure>\n\n\n\n<figure class=\"is-style-default border wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"945\" height=\"2048\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161336_Firefox-scaled.jpg\" alt=\"\" class=\"wp-image-7475 lazyload\" style=\"--smush-placeholder-width: 945px; --smush-placeholder-aspect-ratio: 945\/2048;width:311px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161336_Firefox-945x2048.jpg 945w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161336_Firefox-138x300.jpg 138w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161336_Firefox-473x1024.jpg 473w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161336_Firefox-768x1664.jpg 768w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161336_Firefox-709x1536.jpg 709w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161336_Firefox-6x12.jpg 6w\" data-sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><figcaption class=\"wp-element-caption\">User Interface<\/figcaption><\/figure>\n\n\n\n<figure class=\"is-style-default border wp-block-image size-large is-resized\"><img decoding=\"async\" width=\"945\" height=\"2048\" data-src=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161442_Firefox-scaled.jpg\" alt=\"\" class=\"wp-image-7474 lazyload\" style=\"--smush-placeholder-width: 945px; --smush-placeholder-aspect-ratio: 945\/2048;width:311px;height:auto\" data-srcset=\"https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161442_Firefox-945x2048.jpg 945w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161442_Firefox-138x300.jpg 138w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161442_Firefox-473x1024.jpg 473w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161442_Firefox-768x1664.jpg 768w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161442_Firefox-709x1536.jpg 709w, https:\/\/robertjwallace-images.s3.us-east-2.amazonaws.com\/wp-content\/uploads\/2025\/10\/Screenshot_20251019_161442_Firefox-6x12.jpg 6w\" data-sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\"><figcaption class=\"wp-element-caption\">Example reveal screen<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Design Philosophy<\/h2>\n\n\n\n<p class=\"\">Unlike MAXIM, which offers extensive customization and spectator profiles, I&#8217;ve kept this tool deliberately simple. Here&#8217;s why:<\/p>\n\n\n\n<p class=\"\">If you know a spectator&#8217;s name has 12 letters and the card is at position 12, you don&#8217;t need an app to tell you to spell their name\u2014you can figure that out yourself. The app handles the core calculation (where is the card?) and suggests common reveal patterns. The creativity and personalization remain in your hands.<\/p>\n\n\n\n<p class=\"\">Maxim also allows for custom stacks and also supports swiping.  Some of Maxim features are available because it is a true app as opposed to a web page.<\/p>\n\n\n\n<p class=\"\">I wanted an approach that keeps the interface clean and the learning curve minimal.  Also web pages are easier to update than an app.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Technical Features<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"\"><strong>Persistent settings<\/strong>: Your stack selection, key card, and custom image automatically save, although the image saving may not work on call browsers but it will persist while the app is in use.<\/li>\n\n\n\n<li class=\"\"><strong>Mobile-optimized<\/strong>: Designed to work on phones with portrait orientation lock and prevents zooming<\/li>\n\n\n\n<li class=\"\"><strong>Fully customizable cover<\/strong>: Upload any image to disguise the app<\/li>\n\n\n\n<li class=\"\"><strong>No installation required<\/strong>: Works in any browser<\/li>\n\n\n\n<li class=\"\"><strong>Offline capable<\/strong>: Once loaded, it works without an internet connection<\/li>\n\n\n\n<li class=\"\"><strong>Add to home screen<\/strong>: Save it to your phone&#8217;s home screen for instant access<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Credit Where Credit is Due<\/h2>\n\n\n\n<p class=\"\">This project wouldn&#8217;t exist without Lloyd Barnes&#8217;s MAXIM app, which pioneered the concept of a covert digital assistant for stack work. Barnes deserves full credit for the original idea of using a phone-based tool to calculate and suggest meaningful reveals for stacked deck routines. My app is simply an alternative implementation born out of necessity when his app wouldn&#8217;t run on my device.<\/p>\n\n\n\n<p class=\"\">The tool is available at <strong>http:\/\/robertjwallace.com\/stackreveal<\/strong>. If you&#8217;re looking for the original with more advanced features, check out Lloyd Barnes&#8217;s MAXIM.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">For Magicians Only<\/h2>\n\n\n\n<p class=\"\">This tool is designed for working magicians familiar with stack concepts. If you&#8217;re new to stack work, I recommend learning one of the classic stacks first (Aronson and Tamariz are good starting points) before incorporating digital tools into your routine.<\/p>\n\n\n\n<p class=\"\">The real magic isn&#8217;t in the app\u2014it&#8217;s in your presentation, timing, and ability to make a mathematical principle feel like genuine mind reading. This tool just makes that job a little easier.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<style> .border img {\n    border: 2px solid #000000;   \/* Border color and thickness *\/\n    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.4); \/* horizontal, vertical, blur, opacity *\/\n    border-radius: 8px;          \/* optional: smooth rounded corners *\/\n    padding: 10px;               \/* optional: spacing inside the box *\/\n    background-color: white;     \/* optional: helps shadow stand out *\/\n}\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\">Afterthoughts<\/h2>\n\n\n\n<p class=\"\">i will be adding features and functionality over time, so if you have a suggest, send it to me.  I have been playing around with running it native on my Android by running a web server on my phone.  I am using the Simple HTTP Server which you can download off of the play store.  You could then view the source of the web page and copy it to the server folder along with an image: messages.jpg, which is the name of the default background image.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve used AI to create a tool for card magicians who work with deck stacks. This web application was inspired by Lloyd Barnes&#8217;s MAXIM app, which unfortunately kept crashing on my device. Rather than wait for fixes, I decided to create my own web-based alternative that captures the core functionality while adding some unique features.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_eb_attr":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-7473","post","type-post","status-publish","format-standard","hentry","category-magic"],"featured_image_src":null,"featured_image_src_square":null,"author_info":{"display_name":"Bob","author_link":"https:\/\/robertjwallace.com\/es\/author\/admin\/"},"_links":{"self":[{"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/posts\/7473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/comments?post=7473"}],"version-history":[{"count":5,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/posts\/7473\/revisions"}],"predecessor-version":[{"id":7485,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/posts\/7473\/revisions\/7485"}],"wp:attachment":[{"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/media?parent=7473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/categories?post=7473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robertjwallace.com\/es\/wp-json\/wp\/v2\/tags?post=7473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}