Categories
Documentation QR Codes In Action Uncategorized

INTRODUCTION

What is QR Snap? Simply put QR Snap is a suite of tools that enable businesses primarily dealerships to create and utilize QR codes for a multitude of purposes. which include some of the following. There are more features but overall these will be the highest value to most businesses.

  • Visual tags that customers and staff can interact with.
  • Tools to create QR Code batches with logo on standard 8.5×11 or 18×12 media.
  • Geotracking of inventory.
  • Direct access to product administration tools for authorized staff.
  • QR Code scan to Facebook poster with with GPT powered posts.
  • Customer redirect with loading screen to VDP or the desired page.
  • Notifications to staff members of a customer scan.

Now that you were just exposed to a barrage of technical jargon that only the IT guy would understand. Lets take a step back and go over why QR Codes are the best tool for product management, interaction, and engagement.

In 2020 following the ‘pandemic ‘ all major phone manufactures E.g. Apple, Samsung, Google enabled QR code scanning access in their default camera application. For most people these were used as tools to access menus at restaurants or even pay for the food itself but beyond that QR codes went overall remarkably unnoticed for being such an incredibly powerful technology. QR Snaps mission is to not only empower the business with QR codes and optimize inventory and management of various amounts of inventory, but also to enhance the customer experience though access to information and the ability to get assistance from staff quickly.

Note: QR Snap was developed with a focus powersports dealerships but that does not mean that QR Snap would not be an excellent fit for various other industries as well. One of the key issues QR Snap was built to solve is where a business has a variety of ‘loose’ inventory that gets put out on display for customers to interact with. Examples of this would be a car or rv dealership.

The building block of using QR Snap in a showroom is to create tags. There are various ways to do this but the simplest is to use an existing thermal label printer and just print QR Snap QR codes onto them. Just like a package you can stick this label to your inventory and then instantly your staff and customer experiences are both improved.

A large stack of qr codes that will be attached to various vehicles
A stack of QR Codes attached to a stack of versatags

The above are the highest quality QR Snap tags that can be attached to various inventory. Note the following characteristics

  • Large QR Code
  • Logo in the center (Now Color)
  • Stock number and other valuable information


Let’s take a closer look at each of these points, starting with the ‘Large QR Code’. There are two primary reasons for using a large QR Code. First, it encourages interaction with the code, making it a clear invitation for people to ‘scan me for the price’. Second, a larger code significantly improves compatibility across various devices.

NOTE 1 : When creating your own QR Codes from a link on the internet, you might end up with densely-packed black and white squares that resemble the static on an old TV screen. This not only limits the number of devices capable of scanning your QR Codes, but also complicates the interaction between the customer and the code. They may have to hold the code in an awkward position or twist to an odd angle in order to achieve a successful scan.


NOTE 2: QR Snap generated QR Codes utilize advanced URL redirection techniques to enabled the most compatible, aesthetically pleasing, and interactive experience for your customers and staff. The reason QR Snap has the ‘.io‘ domain is because it is only 9 character and as such generates a very low density QR Code.

Moving on to the second point, these QR Codes feature a logo in the center. You may have seen this design approach quite often, but it remains important as it serves as an additional visual cue, encouraging people to scan the code. Moreover, in many instances, it might be the only way to incorporate your company’s branding into a product. For example, if you attach a QR Snap tag to a Honda dirt bike, that tag becomes the sole representation of your business on the entire product.

Lastly, let’s discuss the third point: including stock numbers and other valuable information. Within any business, there’s a diverse range of technical skills among staff members, often correlated with age. Taking this into account, even employees and customers who don’t scan or adapt to the QR code can still access crucial information about the product they’re engaging with. For vehicles, this typically includes the year, make, model, VIN, and stock number.

For example, if you need to retrieve a key for a street bike locked behind a manager’s desk, it’s much easier to read the stock number from the tag or snap a photo of it. The alternative involves pulling back brake cables, turning on your phone’s flashlight, and bending over to read the VIN number from the steering stem. Ultimately, QR Code tags offer a much faster and more efficient solution.

Categories
Uncategorized

Renderd – OSM – 80,000% Speedup

Well this post should be quite simple to write. Lets start with the problem. Does your open street map server suffer from extremely slow tile rendering? The solution is quite simple and best of all it’s FREE!

Okay enough with the sales pitch. If your open street maps tile server has slow tile serving ever with good hardware specs. Lots of MT, SSD, and RAM. Make sure that if you are using the Open Street Maps carto rendering package to run scripts/indexes.py this file will create an copyable list of PostgreSQL statement to generate indices necessary to speed up the process of rendering tiles.

These indicies have increased my tile rendering speeds from 5 tiles/s to 1k tiles/s+

Categories
QR Codes In Action

QR Snap – In Action – Motorcycle Dealer QR Codes use case.

QR Code based inventory management with QR Snap has a massive positive impact on customer experience and optimizes the salesman’s time. There are many benefits that are discussed in this document so please read it start to finish.

QR Snap links your vehicles to the information you need, and fast.

Here is my experience implementing and utilizing QR codes at a dealership level. This is a high volume motorcycle dealer in the northwest. To remain anonymous ‘MotocycleSports NW’ will be the alias used. For anyone that is impatient I will just throw the summary out there right now. QR Codes by QR Snap are a resounding success and are utilized by multiple groups of employees within the shop. The self plug here is that as of the time of writing my services are far less expensive than anything around and there is not a single product that functions even similarly. Every day I pour my mind, body, and soul into this project to create the perfect solution leveraging a technology that installed in the default camera app on iPhone and Android phones we all carry each and every day.

How can a motorcycle dealership utilize QR Codes to improve inventory management and at the same time dramatically enhance the sales process? The answer to that is simple, the solution was not. The good news is QR Snap takes care of that and makes creating, implementing a QR code showroom easy and cost effecive. QR Codes will take physical vehicles and then link them to all the information needed to sell those vehicles. Through my case study at MotocycleSports NW the benefits are largely in the asymmetry of information presented to customers and staff. Customers scan codes to obtain information about a vehicle they are interested in. Employees also scan vehicles for information but the desired data differs between the two groups. QR Snap utilizes a proprietary secure method to separate employees from customers when scanning QR Codes and will direct each group to the information that they need and capture analytics data during the process.

For some context QR Snap has been implemented very successfully within a high volume motorcycle/powersports dealership with multiple physical locations. Right now this service has not been publicized due to the infancy of the software behind it but the fact is; even being in a state that is at the current time of writing imperfect or buggy. The QR codes continue to get scanned, information is being directed where it needs to be and staff are wasting far less time to determine what something is on the lot.

The proof is in the pudding. There was a moment at one point where QR Snap was discontinued for bureaucratic reasons at my beta testing locating. The end result was that the staff at the store actively made a push back to restore QR Snap services within a week. The results spoke for themselves across the board; this new method of tagging was enhancing the customer experience whilst at the same time empowering the staff to make more sales and reduce friction during the entire process.

One of the starting points for any dealership wanting to implement QR codes is the ability to quickly generate bulk quantities of durable hangtags or stickers. This process must be simple enough low cost employees can perform this task with minimal training and not be time intensive or prone to failure. QR Snap enables physical printing, cutting, application times down to about 15-25 seconds per tag made. The process has actually been described as ‘fun’ which was a big surprise to me.

QR Codes are generated on proprietary readily available materials. Printing can be archived on standard laser copiers found in typical medium businesses. Currently QR Snap supports Konica Minolta Biz Hub series printers for high volume generation.

60 DynaQR Codes – The codes enable retargeting and remarketing

Tags made with supported QR Snap materials are designed to take a beating, whether it’s out in the sun or rain. Our combination of materials is designed to last. For dealerships dealing with mostly indoor tags it is possible to use thermal printers to generate and apply tags to vehicles quickly and easily. Within the inventory dashboard it’s possible to print to thermal label printers by downloading ready made QR Codes and then printing them in Windows or Mac OS

A thermal printer optimized QR Snap tag.

Notice that this tag has a lot of information that is valuable to the customer and staff in plain readable test. For example the Year, Make, Mode, and VIN number are all included and can be used to identify a vehicle very quickly. The stock number is also included in a very large font to enable a customer or staff member to read it from quite a far distance. The real magic is the incentive structure of the QR Code. The customer must scan the code to get information that is highly desirable. Most of the time that is the price, but can be other things such as financing info, or vehicle specifications. All of which can be found on the VDP(Vehicle display page). As the customer scans the tag a bunch of stuff happens at once behind the scene. First the tag determines if the scan was from a customer or a staff member and directs them accordingly. Next the tag records the time and device info for analysis later. Then the tag emits a ping to all sales staff letting them know that a customer has scanned a vehicle. Each device is given a unique identifier as to let staff know when a user is scanning multiple vehicles. After that a very brief animated loading screen is presented to the customer then lands them at their final destination of the dealers VDP. Note that because of the digital bridge a QR Code provides the price is always taken from your website which can be updated far easier than recreating paper tags. This means all pricing, disclaimers, etc.. are all handled by your website and not a part of the tag.

QR Snap supports 2 types of QR Codes. These will be labeled Basic and Dyna. Lets start with basic QR Codes. These are ‘boring’ yet useable QR codes that are ready to be generated in batches and are plentiful in all QR Snap package levels. A basic QR Code is an uncompressed scannable QR Code that links directly to the desired URL. This is fine for applications such as linking to VDPs or a product page. These codes have 3 major drawbacks though. First no ECC (Error Correction Code), basic codes are not tolerant of any faults such as scratches, rips, runny toner, etc. If a code becomes damaged it will become unusable. Dyna QR Codes have EEC built in that can support a maximum of 33% destruction. That means 1/3 of the total QR Tag can be destroyed and it will still function on any phone. The ability to destroy areas of a scannable tag lets the store put there logo anywhere on the QR tag. This adds to a end users feeling of authenticity and genuineness and builds trust between the dealer and the customer.

Categories
Uncategorized

Dev QR Snap – S0, Complete

Update 6/13/23:

QR Snap has made some substantial hardware upgrades to ensure the reliability and redundancy of it’s data whilst improving performance. Firstly a second Dell R730 was added to host this blog and provide a PostgreSQL replication and backup server.

New QRSnapS1 Server Specs

  • Dell R730 Chassis
  • 2x Intel Xeon 2620v3 x2 (weak but it’s all I need)
  • 288GB DDR 4 2133 Memory
  • Proxmox VE
  • Intel X520 10Gbit fiber link
  • 2x 870 EVO SSDs RAID 0 (working on getting raid 10)

Upgraded QRSnapS0 Server Specs (Primary QR Snap Server)

  • Dell R730 Chasis
  • 2x Intel Xeon 2699v4 (22 core)
  • 1.5TB DDR4 2400 Memory
  • Centos 9 Stream OS
  • 3x 3.2TB Seagate NYTRO SAS SSD Enterprise grade. (RAID 0)
  • 3x 18TB WD HC550 SAS HDDs (RAID 5)
  • 2x 2TB Samsung 870 EVO (LVM2 cache for the raid 5)

QR Snaps network infrastructure has also been upgraded as well, all servers are now linked with OM3 at 10Gbit full duplex. With a Ziply fiber 500/500 WAN on a static IP Address.

The software stack has also been upgraded to account for higher levels or linear scaling by using HAProxy, Nginx, PostgreSQL as the database and load balancers for QR Snaps traffic. The software stack keeps evolving to further take advantage of the multithreaded nature of the server hardware I have. Some examples of this are using Python instead of NodeJS to generate QR Codes. This is because Python handles threading via the use of queue objects much better than NodeJS which is by nature a single threaded executable.

ORGINAL POST

Finally after two months the QR Snap S0 Server is complete. In the infancy of QR Snap our service was hosted from a desktop computer running Node and PostgreSQL over WiFi. Overall this setup worked incredibly well in hindsight given how many points of failure existed. So what has changed since then? The answer is a lot. From software to hardware nearly everything has been revamped.

The biggest change would be the hardware used to host QR Snap. The original QR Snap host PC had the following specs.

  • AMD Ryzen 1700
  • 32GB DDR4 2866
  • 256GB Samsung 970 Evo NVME Drive
  • 12TB Western Digital Gold
  • Nvidia GeForce 970
  • TP Link T9UH
  • Windows 10 Pro

This setup was the humble beginnings of QR Snap and it worked quite well from a functional standpoint. Thought my humble hosts limitations were quickly realized. Firstly this PC was my workstation and as such was very venerable to getting updated, reset, crashing, and power outages. From the perspective of uptime I am amazed it did so well. The number of major service disruptions could be counted on one hand. The biggest issues were related to Windows updates and reconnecting to the WiFi after a reboot. Anther issue that was resolved in a nicer manner was power outages and recovery from those event’s.

Dell R730, the next generation of QR Snap hosting.

After some discussions about the shortcomings of the current setup for QR Snap services with a friend. A gracious offer to sell me some actual server grade hardware was made. I had no idea what these servers were but at 2.9mBTC each. The reliability provided by server grade hardware combined with the offloading the webserver to dedicated hardware would be extremely beneficial when implemented. The key word as always is ‘implementation’ this step would prove to be one of the most tedious processes I have ever experienced in my life. At the same time though one of the best learning experiences awaited and the payoff was massive.

As soon as I got these shiny new chassis home the lids were off. checking for parts and configuration options as well as overall condition. These were dell R730 servers so it seemed more modern than I anticipated and they each had 9 memory modules installed for a total of 144GB per machine. Each one had 2x spinning hard drives installed, a Intel E5 2620v3 CPU, and in Intel x520 networking card with 2x 10gbe SFP+ ports. The next step was to open each cassis and merge them into a single unit with a dual CPU configuration with 288GB DDR4 memory. 4x Samsung 870 Evo dives were added in raid 0 for database storage and Open Street Map tile rendering. CPUs were upgraded to Dual Xeon E5 2699 V4s. A 256GB SSD was added as a swap drive. Three 18GB WD HC550s were added for the caching of open street map tiles at lower zoom levels and redundancy. Overall this server was build to parallelism and work.

8TB Samsung 870 Evo Drives

After harvesting a whole chassis and building up the R730 a choice of which OS was to be used needed to be made. The first choice was Ubuntu do to the ease of access, user friendliness, plethora of tutorials, and massive community support. After installing Ubuntu and having this overarching feeling of being a ‘noob’ flow over me. The decision was made to utilize a RHEL based OS for ‘Enterprise’ grade reliability. Doing away with the plebian Ubuntu for the more robust Centos the pain began immediately. Upon booting from USB the centos installer had issues where upon clicking the field to setup update repos would create a condition where a reboot was necessary to get out. Second mistake to a degree was choosing the ‘Stream’ version of centos. Looking back using Centos Stream 9 only created pain in the short term. Long term rolling updates are what I want and need. After install once, Centos was reinstalled due to how the installer split the users home directory onto it’s own partition. Though useful for some cases for QR Snap a homogenous partition would let me get up and running faster and reduce the risk of running out of space. With a flew clicks and reboots QR Snap was now running with Red Hat Enterprise at it’s core.

The moment of truth, the trials of my manhood would now be upon me. The monitor was unplugged, server moved to the closet, and ethernet cable firmly attached. Moving back to my windows host a terminal was fired up and an SSH connection was made. Voila; QR Snap now has a giant loud fast Raspberry Pi to run on.

Note this is my first real foray into using Linux and there is no better way to learn than to be thrown right in to the fire. Centos uses the yum(dnf) package manager and Steam 9’s repositories are sparse to say the least. When compared to Ubuntu’s apt it feels like a ghost town, and later I would find out Centos Stream 9 repository depth is extremely small compared to the non stream versions of Centos. Many server utilities were missing without a repository to fall back on.

Categories
Uncategorized

Bitcoin on our Balance Sheet

QR Snap strives to be on the bleeding edge of technology. Bitcoin is and
will be a large part of that mission. QR Snaps commitment is that 100% of all
post tax fiat profits will immediately be converted into bitcoin and deposited
into a multi-sig address.

Why? Bitcoin has played an important role in many areas of my personal life
and at its core was the foundation of QR Snaps use case for QR codes. Adding
bitcoin to the corporate balance sheet is a strategic move to preserve capital,
provide sovereignty, and increase agility. Being a technology focused company
early adoption and integration of bitcoin and related services will provide
vertical integration of our finances and decrease dependence on legacy banking.
Integrating bitcoin now also provides a layer of futureproofing for QR Snap and
a massive technological edge.

Firstly, bypassing the banks is one step QR Snap deliberately implements at a
corporate level. Banks represent a tax on transactions and counterparty risk. First and foremost QR Snap doesn’t have any outstanding financial liabilities. Because QR Snap doesn’t utilize debt, banks could only be used to store fiat currency if we had any. Our company doesn’t accept physical cash, coins, or checks so there is no need for a bank physically store money. The most a traditional bank could do is store and present the digital representation of our companies worth in fiat terms and charge fees to do so. This is where bitcoin becomes the FOSS (Free Open Source Software) alternative to legacy banking. The representation of transactable value owned by QR Snap as viewed on the bitcoin network would be equivalent and over a long period of time more accurate than a privately owned institutions representation. All while being free to use and implement. Being on the bitcoin network provides the added benefits of not having counter party risk induced by legacy banks that can close accounts, withhold funds, and cancel transactions.

Secondly, bitcoin over longer time horizons preserves purchasing power With bitcoin on our balance sheet currency changes and fluctuations on a longer timescale become irrelevant. At the time of this writing, inflation is the largest currency risk faced in the United States of America. YoY inflation was measured by the federal reserve at 7.5%. If QR Snap chose to hold USD long term on our balance sheet; it would be detrimental to the medium and long term purchasing power of the reserves in the corporate treasury. Bitcoin will allow us to side step currency devaluation by holding an asset with a fixed supply and converting it into a currency with a variable supply as needed.

Lastly, adding bitcoin to the balance sheet increases mobility. With bitcoin reserves corporate mobility becomes extremely high due to the fact that bitcoin is accepted world wide so in the event QR Snap needs to operate in another jurisdiction, our company could sell bitcoin holdings into the local currency and begin/continue operations.

Best,
Reese R