<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[The Omnia Tech Blog]]></title><description><![CDATA[A deeper look into Engineering, Data Science and Design at Omnia.]]></description><link>https://tech.omniafishing.com/</link><image><url>https://tech.omniafishing.com/favicon.png</url><title>The Omnia Tech Blog</title><link>https://tech.omniafishing.com/</link></image><generator>Ghost 4.39</generator><lastBuildDate>Wed, 18 Mar 2026 17:16:26 GMT</lastBuildDate><atom:link href="https://tech.omniafishing.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Shoppable Video: How We Built It At Omnia]]></title><description><![CDATA[<p>As we prepare for the launch of our native mobile iOS and Android app to coincide with the <a href="https://www.bassmaster.com/news/watch-and-shop-at-the-same-time-with-omnia-fishing-and-bassmaster-live/">Lake Fork stop on the Bassmaster Elites Tour</a>, I wanted to take you through one of our most exciting new features, Shoppable Video. &#xA0;We&apos;ve had shoppable video as a</p>]]></description><link>https://tech.omniafishing.com/inside-shoppable-video/</link><guid isPermaLink="false">62717ea4d5b9540664279e0a</guid><dc:creator><![CDATA[Dan Wick]]></dc:creator><pubDate>Tue, 03 May 2022 19:51:24 GMT</pubDate><media:content url="https://tech.omniafishing.com/content/images/2022/05/Shoppable-Video.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://tech.omniafishing.com/content/images/2022/05/Shoppable-Video.jpg" alt="Shoppable Video: How We Built It At Omnia"><p>As we prepare for the launch of our native mobile iOS and Android app to coincide with the <a href="https://www.bassmaster.com/news/watch-and-shop-at-the-same-time-with-omnia-fishing-and-bassmaster-live/">Lake Fork stop on the Bassmaster Elites Tour</a>, I wanted to take you through one of our most exciting new features, Shoppable Video. &#xA0;We&apos;ve had shoppable video as a part of our site for over a year now, but we are taking it further by doing our first live version. &#xA0;We are <a href="https://www.bassmaster.com/news/watch-and-shop-at-the-same-time-with-omnia-fishing-and-bassmaster-live/">simulcasting the broadcast of the Lake Fork stop on May 19th and 20th from 7am to 2pm CDT each day</a>.</p><p>What&apos;s cool about doing this for live fishing events is that we will be able to add context as the angler is in their boat fishing. &#xA0;We will be breaking down the products they are using from rod, reel, line, and bait along with which techniques they are using at that time. &#xA0;Our team will be adding comments to each item that is mentioned to help viewers understand what&apos;s being used and why.</p><p><a href="https://www.omniafishing.com/omnia-videos/bassmaster-northern-swing">Here&apos;s an example of a non-live version of the shoppable video concept we did with Seth Feider last year before the final swing of the Bassmaster Elites tour</a>. &#xA0;Seth takes you through several different setups he had rigged and ready for the final derbies of last year.</p><figure class="kg-card kg-video-card"><div class="kg-video-container"><video src="https://tech.omniafishing.com/content/media/2022/05/Automatic-2.MP4" poster="https://img.spacergif.org/v1/720x1280/0a/spacer.png" width="720" height="1280" loop autoplay muted playsinline preload="metadata" style="background: transparent url(&apos;https://tech.omniafishing.com/content/images/2022/05/media-thumbnail-ember512.jpg&apos;) 50% 50% / cover no-repeat;"></video><div class="kg-video-overlay"><button class="kg-video-large-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button></div><div class="kg-video-player-container kg-video-hide"><div class="kg-video-player"><button class="kg-video-play-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M23.14 10.608 2.253.164A1.559 1.559 0 0 0 0 1.557v20.887a1.558 1.558 0 0 0 2.253 1.392L23.14 13.393a1.557 1.557 0 0 0 0-2.785Z"/></svg></button><button class="kg-video-pause-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><rect x="3" y="1" width="7" height="22" rx="1.5" ry="1.5"/><rect x="14" y="1" width="7" height="22" rx="1.5" ry="1.5"/></svg></button><span class="kg-video-current-time">0:00</span><div class="kg-video-time">/<span class="kg-video-duration"></span></div><input type="range" class="kg-video-seek-slider" max="100" value="0"><button class="kg-video-playback-rate">1&#xD7;</button><button class="kg-video-unmute-icon"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M15.189 2.021a9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h1.794a.249.249 0 0 1 .221.133 9.73 9.73 0 0 0 7.924 4.85h.06a1 1 0 0 0 1-1V3.02a1 1 0 0 0-1.06-.998Z"/></svg></button><button class="kg-video-mute-icon kg-video-hide"><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24"><path d="M16.177 4.3a.248.248 0 0 0 .073-.176v-1.1a1 1 0 0 0-1.061-1 9.728 9.728 0 0 0-7.924 4.85.249.249 0 0 1-.221.133H5.25a3 3 0 0 0-3 3v2a3 3 0 0 0 3 3h.114a.251.251 0 0 0 .177-.073ZM23.707 1.706A1 1 0 0 0 22.293.292l-22 22a1 1 0 0 0 0 1.414l.009.009a1 1 0 0 0 1.405-.009l6.63-6.631A.251.251 0 0 1 8.515 17a.245.245 0 0 1 .177.075 10.081 10.081 0 0 0 6.5 2.92 1 1 0 0 0 1.061-1V9.266a.247.247 0 0 1 .073-.176Z"/></svg></button><input type="range" class="kg-video-volume-slider" max="100" value="100"></div></div></div></figure><p>Now that I&apos;ve explained the concept and given a few examples, I wanted to take you through how we built this experience.</p><h2 id="ux-considerations">UX Considerations</h2><p>The overarching goal was to keep the user in the flow of watching the video while serving up annotated pieces of content (lake info, species details, technique info) in addition to the specific product variant being mentioned on camera. &#xA0;The user is able to scroll the page while the video minimizes in the corner and stays out of the way of the other content on the page. &#xA0;Likewise, a user can tap into a product to learn more about it and decide to add it to their cart while still staying in flow of watching the video. &#xA0;Additionally, if a user wants to jump ahead to see where a product is mentioned in a video, they can do that by tapping on the &quot;jump to&quot; link within each product listed.</p><h2 id="cms-video-administration">CMS &amp; Video Administration</h2><p>We built a proprietary CMS that allows us to compose standalone videos and articles as well as create embeddable components for things like products, lakes and fishing reports. &#xA0;Shoppable Video was a new first-order CMS object we created that incorporated a backend admin system that lets non-developers annotate the video with products at specific time stamps so that the product is highlighted as it is mentioned. &#xA0;In addition to products, elements such as lakes, species, techniques and brands can be annotated at any timestamp on the video.</p><h2 id="well-do-it-live">We&apos;ll Do It Live!</h2><figure class="kg-card kg-image-card"><img src="https://tech.omniafishing.com/content/images/2022/05/live-omnia.webp" class="kg-image" alt="Shoppable Video: How We Built It At Omnia" loading="lazy" width="960" height="640" srcset="https://tech.omniafishing.com/content/images/size/w600/2022/05/live-omnia.webp 600w, https://tech.omniafishing.com/content/images/2022/05/live-omnia.webp 960w" sizes="(min-width: 720px) 720px"></figure><p>Join us on May 19th and 20th as <a href="https://www.omniafishing.com/omnia-videos/bassmaster-live-lake-fork-may-2022">we&apos;ll be simulcasting the Lake Fork event</a>. &#xA0;This has been an exciting build-out and <a href="https://www.bassmaster.com/news/watch-and-shop-at-the-same-time-with-omnia-fishing-and-bassmaster-live/">Bassmaster has been a great partner</a> in helping us test the live functionality over the past few weeks.</p><h2 id="more-to-come">More To Come</h2><p>This entire thing is homegrown and I couldn&apos;t be prouder of our team who built this out. &#xA0;Nearly every member of our team from our buyers, merchandisers, CSRs to our marketing, product and engineering teams have been involved in iterating on this feature for over a year. &#xA0;We&apos;re excited to see where this goes. &#xA0;We have big plans for building out more capabilities around video and commerce. &#xA0;Stay tuned!</p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-emoji">&#x1F4A1;</div><div class="kg-callout-text"><strong>Want to help us build this out along with lots of other cool stuff on a small cross-functional team?</strong></div></div><p>Join us as a <a href="https://www.omniafishing.com/news/job-opening-react-native">React Native Engineer</a> or <a href="https://www.omniafishing.com/news/job-opening-lead-product-designer">Lead Product Designer</a>. &#xA0;Or if data science is more your thing, we&apos;re looking for an <a href="https://www.omniafishing.com/news/job-opening-machine-learning-engineer">ML Engineer</a>.</p><div class="kg-card kg-button-card kg-align-center"><a href="https://www.omniafishing.com/jobs" class="kg-btn kg-btn-accent">View All Our Job Openings</a></div>]]></content:encoded></item><item><title><![CDATA[Why we chose React Native to build the Omnia native mobile app]]></title><description><![CDATA[<p></p><h3 id="tldr">TL;DR</h3><ul><li>React Native leverages our existing React modeling</li><li>Extends the same APIs and services infrastructure</li><li>React Native developer ecosystem has matured and stabilized</li><li>Allows our team to stay small, full-stack, and function across clients</li></ul><p>We have been writing software for Omnia since August of 2018 with the strategy of</p>]]></description><link>https://tech.omniafishing.com/why-we-chose-react-native-to-build-the-omnia-mobile-app/</link><guid isPermaLink="false">62670d0c447a890646402671</guid><dc:creator><![CDATA[Dan Wick]]></dc:creator><pubDate>Mon, 25 Apr 2022 22:24:08 GMT</pubDate><media:content url="https://tech.omniafishing.com/content/images/2022/04/article-app.png" medium="image"/><content:encoded><![CDATA[<img src="https://tech.omniafishing.com/content/images/2022/04/article-app.png" alt="Why we chose React Native to build the Omnia native mobile app"><p></p><h3 id="tldr">TL;DR</h3><ul><li>React Native leverages our existing React modeling</li><li>Extends the same APIs and services infrastructure</li><li>React Native developer ecosystem has matured and stabilized</li><li>Allows our team to stay small, full-stack, and function across clients</li></ul><p>We have been writing software for Omnia since August of 2018 with the strategy of having Omnia&apos;s initial product being a web app. &#xA0;There are many reasons why <em>web-first</em> was a clear choice, but the simple summary is that we could <em>develop, iterate and deploy fastest and most frequently through a web app</em>. &#xA0;A native mobile app would have its place in our product portfolio, but not until we had honed in on product-market fit through the web. &#xA0;In addition to being able to develop faster for the web, the Omnia brand was completely new and the web and SEO provided many more avenues of getting the word out about Omnia.</p><p>Up until November 2021, our engineering team had been me and one very talented full-stack engineer who is also a frontend expert. &#xA0;We architected and built out the platform choosing React for the web app and Ruby on Rails for the API. &#xA0;There&apos;s more nuance to the stack, but at its core, Omnia&apos;s app is a React app that uses APIs.</p><p>In October of 2021, we were fortunate to add a very talented and unusually technical Head of Product in Mark Prondzinski. &#xA0;With Mark at the helm of product, we quickly green-lit the development and design of our native mobile app. &#xA0;While Mark got busy getting the app mapped out and designed from a UX perspective, I had to decide which approach we would take in building out the native app.</p><p><em>A native mobile app was always in the cards for Omnia</em>, the only question was timing. &#xA0;We had achieved enough product-market fit to have the confidence to expand into native mobile. &#xA0;But we still had miles to go on the web and needed to keep iterating on that product in parallel to the app. &#xA0;To do native mobile right we needed to be on iOS and Android which would mean two additional code bases and two very different engineering disciplines. &#xA0;<em>That would mean at least tripling our engineering headcount and forking into two new platforms of development that would largely be on their own islands</em>.</p><p>One of the biggest mistakes a startup can make is <strong>believing in silver bullets when it comes to anything related to technology</strong>. &#xA0;The belief that by merely selecting the right shiny object the rest of the business and product development will magically fall into place. &#xA0;Native app development has a history of failed frameworks that promise a 2-for-1, cross-platform development. &#xA0;Build once and compile an app binary magically out to iOS and Android. &#xA0;PhoneGap and Xamarin come to mind. &#xA0;No serious consumer-facing app can be developed using a cross-platform framework like that in the long run. &#xA0;But it&apos;s impossible in today&apos;s developer environment to not come across modern native app frameworks that offer some of the same promises that the 2-for-1, cross-platform frameworks used to promise. &#xA0;<a href="https://reactnative.dev/">React Native</a> and <a href="https://flutter.dev/">Flutter</a> are two of the most popular in 2022.</p><p>Another big mistake startups can make is <strong>trying to act bigger than they are</strong>. &#xA0;Following the lead of large engineering organizations is never a good idea for a small startup, especially a startup that doesn&apos;t aspire to ever have a huge engineering headcount. &#xA0;My vision for Omnia&apos;s engineering team has always been to stay lean and mean. &#xA0;We&apos;d be Navy Seals vs a million-man army. &#xA0;But when you&apos;re considering how to build native mobile apps in a modern way, you almost always come across very thorough and insightful articles from the big guys. &#xA0;In the case of React Native, you have two sides of the coin: Airbnb seeming to move away from React Native (&quot;<a href="https://medium.com/airbnb-engineering/sunsetting-react-native-1868ba28e30a">Sunsetting React Native</a>&quot;) and Shopify seemingly going all-in on React Native (&quot;<a href="https://shopify.engineering/react-native-future-mobile-shopify">React Native is the Future of Mobile at Shopify</a>&quot;).</p><p>So if I just said that two of the biggest mistakes a young company can make are 1) falling for a silver bullet and 2) choosing a solution because it worked for a much larger organization, then why the hell did Omnia decide to use React Native as the framework for building out their native mobile app to launch in May of 2022?</p><p>Let me explain our thinking, why React Native is right for us and why we believe we are set up for success.</p><h2 id="leverage-what-is-working">Leverage What Is Working</h2><p>We have three years of web development and deployment under our belts using the React framework. &#xA0;We&apos;ve absorbed a lot of bumps and learnings along the way. We have also found a lot of very successful strategies within the React framework. Extending React to React Native allows us to keep a single mental model when it comes to building out clients. &#xA0;There is no context switching with Javascript as a single language and there will continue to be opportunities to share code as it makes sense.</p><h2 id="apis-can-keep-doing-what-theyre-doing">APIs Can Keep Doing What They&apos;re Doing</h2><p>Because the API consumption patterns are the same on the web and native mobile app, the process of scaling and optimizing the APIs has already begun as we have grown our business and usage on the web app has skyrocketed. &#xA0;Adding on the native app traffic will allow us to continue using similar scaling patterns and strategies.</p><p>In addition, as we write more ML against our data set to further refine personalization, existing APIs can be enriched and new APIs can be stood up and made available to both the React Native app and the React web app. &#xA0;The shapes and methods of the APIs can remain consistent between the two.</p><h2 id="mature-stable-developer-ecosystem">Mature &amp; Stable Developer Ecosystem</h2><p>React Native in 2022 has a developer ecosystem that has matured enough to support and outline a clear path for building an app. &#xA0;Even Airbnb who in 2018 rattled everyone&apos;s cages by announcing they were reinvesting all of their efforts back into native, today maintains <a href="https://github.com/airbnb">several open-source contributions for React Native</a>.</p><p>In addition, commonly-used developer tools have broadened their support to include React Native. &#xA0;For instance, a build pipeline can easily be stood up using <a href="https://circleci.com/">CircleCI</a> &#x21D2; <a href="https://github.com/features/actions">GitHub Actions</a> &#x21D2; <a href="https://expo.dev/eas">Expo EAS</a>. &#xA0;Only a few years ago, setting up this type of workflow was extremely challenging. &#xA0;Now there is enough participation from developers building out React Native apps that there are multiple options for quickly standing up CI/CD pipelines to get up and running.</p><h2 id="team-member-agility">Team Member Agility</h2><p>Keeping Omnia&apos;s engineering organization small lets us quickly adjust our focus to concentrate on whatever needs to be done. &#xA0;<strong>Agility is an overused term</strong>, but it truly is one of the most important traits of my team members. &#xA0;We want to always stay fluid and cross-functional. &#xA0;Omnia engineers have the ability to legitimately contribute across the stack and platforms. &#xA0;<strong>Full-stack development is also an overused term</strong>, but we genuinely walk that walk here at Omnia. &#xA0;Our team members have the autonomy to work on the feature and problem that needs the most attention. &#xA0;React Native isn&apos;t a silver bullet that magically makes features cross-platform, but it does provide engineers at Omnia the ability to maximize their efficiency and have free reign across platforms.</p><h2 id="come-work-with-us"><br>Come Work With Us</h2><p>The launch of v1 of the app is just the start. &#xA0;We are hiring. &#xA0;We are looking to add a <a href="https://www.omniafishing.com/news/job-opening-react-native">React Native engineer</a> to our team. &#xA0;This is an opportunity to own mobile engineering and join a fast-moving and exciting team and company.</p><p>Is UX and design more your thing? &#xA0;We are also looking for a <a href="https://www.omniafishing.com/news/job-opening-lead-product-designer">Lead Product Designer</a>.</p>]]></content:encoded></item><item><title><![CDATA[Seeing Like An Algorithm At Omnia]]></title><description><![CDATA[<h3 id="an-inside-look-at-how-omnia-is-building-personalized-retail-for-the-outdoor-industry">An inside look at how Omnia is building personalized retail for the outdoor industry</h3><hr><p>When we started working on the Omnia platform four years ago, the core problem we were trying to solve for was how to create a hyper-personalized shopping experience for each angler to reduce the overwhelming number</p>]]></description><link>https://tech.omniafishing.com/fisheye-seeing-like-an-algorithm-at-omnia/</link><guid isPermaLink="false">623cda72e9b4b14e034384c8</guid><dc:creator><![CDATA[Dan Wick]]></dc:creator><pubDate>Tue, 05 Apr 2022 21:52:31 GMT</pubDate><media:content url="https://tech.omniafishing.com/content/images/2022/03/omnia-o-fisheye-hero.jpg" medium="image"/><content:encoded><![CDATA[<h3 id="an-inside-look-at-how-omnia-is-building-personalized-retail-for-the-outdoor-industry">An inside look at how Omnia is building personalized retail for the outdoor industry</h3><hr><img src="https://tech.omniafishing.com/content/images/2022/03/omnia-o-fisheye-hero.jpg" alt="Seeing Like An Algorithm At Omnia"><p>When we started working on the Omnia platform four years ago, the core problem we were trying to solve for was how to create a hyper-personalized shopping experience for each angler to reduce the overwhelming number of options in the fishing gear industry. &#xA0;Being overwhelmed drove nearly 90% of the $5 billion industry into brick and mortar stores to get help. &#xA0;The solution was a location-based platform that narrowed down the fishing-related product options a customer needs for a specific fishing scenario. We believed that scenario could be defined well enough to enable systematic recommendation, especially if a user could clearly articulate their fishing scenario. &#xA0;We believe that scenario can be structured at its core by knowing:</p><ol><li>Where you&apos;re fishing (Lake)</li><li>What you&apos;re fishing for (Species)</li><li>When (Season)</li><li>Which strategy matches 1-3 (Technique)</li></ol><p>My co-founder Matt always used the analogy of someone walking into a giant big-box retail store with a huge wall with thousands of SKUs on it. &#xA0;A customer has a general idea of what they need but not exactly and finding those products is inefficient and extremely time-consuming. &#xA0;It often takes a mix of several products to piece together what you need for a fishing trip. &#xA0;Matt always said Omnia is the tool that lights up the right products on that giant wall that match the specific conditions of the fishing outing you are planning.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://tech.omniafishing.com/content/images/2022/03/pegboard-highlights.gif" class="kg-image" alt="Seeing Like An Algorithm At Omnia" loading="lazy" width="1764" height="1764"><figcaption>A wall of products in a big box store where someone from the guns department trying to help you pick out tackle doesn&apos;t result in a high-quality experience.</figcaption></figure><p>Understanding how products are related is the start of being able to make recommendations. &#xA0;After combining the product data with the fishing scenario you still need the user feedback loop to verify and signal that the recommendation is of high quality.</p><p>How do we actually do all that?</p><h2 id="clarity-through-structure">Clarity through structure</h2><h3 id="everything-in-its-right-place">Everything in its right place</h3><p>From the beginning, every element of our architecture has been designed for consistency using a common taxonomy. &#xA0;A few of our core key elements are Products, Lakes and Fishing Reports.</p><p>Here are what the core elements look like and at what current scale.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://tech.omniafishing.com/content/images/2022/03/Product-1.jpg" class="kg-image" alt="Seeing Like An Algorithm At Omnia" loading="lazy" width="2000" height="1334" srcset="https://tech.omniafishing.com/content/images/size/w600/2022/03/Product-1.jpg 600w, https://tech.omniafishing.com/content/images/size/w1000/2022/03/Product-1.jpg 1000w, https://tech.omniafishing.com/content/images/size/w1600/2022/03/Product-1.jpg 1600w, https://tech.omniafishing.com/content/images/size/w2400/2022/03/Product-1.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>A proven taxonomy applied consistently across <strong>20,000+ SKUs</strong>.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://tech.omniafishing.com/content/images/2022/03/Lake-1.jpg" class="kg-image" alt="Seeing Like An Algorithm At Omnia" loading="lazy" width="2000" height="1334" srcset="https://tech.omniafishing.com/content/images/size/w600/2022/03/Lake-1.jpg 600w, https://tech.omniafishing.com/content/images/size/w1000/2022/03/Lake-1.jpg 1000w, https://tech.omniafishing.com/content/images/size/w1600/2022/03/Lake-1.jpg 1600w, https://tech.omniafishing.com/content/images/size/w2400/2022/03/Lake-1.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>In addition to geolocation and seasonality, our database of <strong>200,000 lakes</strong> contains metadata for each lake&apos;s species &amp; water clarity.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://tech.omniafishing.com/content/images/2022/03/Fishing-Report-2.jpg" class="kg-image" alt="Seeing Like An Algorithm At Omnia" loading="lazy" width="2000" height="1334" srcset="https://tech.omniafishing.com/content/images/size/w600/2022/03/Fishing-Report-2.jpg 600w, https://tech.omniafishing.com/content/images/size/w1000/2022/03/Fishing-Report-2.jpg 1000w, https://tech.omniafishing.com/content/images/size/w1600/2022/03/Fishing-Report-2.jpg 1600w, https://tech.omniafishing.com/content/images/size/w2400/2022/03/Fishing-Report-2.jpg 2400w" sizes="(min-width: 720px) 720px"><figcaption>Structured user feedback in the form of <strong>10,000+ fishing reports</strong> adds user input to the feedback loop.</figcaption></figure><blockquote class="kg-blockquote-alt">20,000+ SKUs</blockquote><blockquote class="kg-blockquote-alt">200,000 Lakes</blockquote><blockquote class="kg-blockquote-alt">10,000+ Fishing Reports</blockquote><h2 id="keep-things-connected-through-composability">Keep things connected through composability</h2><h3 id="small-pieces-loosely-joined">Small pieces loosely joined</h3><p>In addition to keeping things structured and normalized, the core elements need to be easily connected, related, and extended. &#xA0;We had clear initial ideas on how Products, Lakes &amp; Fishing Reports would be related. &#xA0;We then quickly realized Content was going to be an important part of the mix, often in the form of Video. &#xA0;It was clear to see how we would relate in Video to mix.</p><p>Our core key elements can be programmed to interact with each other. &#xA0;We view these elements as building blocks or Legos that fit together to lay the groundwork for ideas we have today and ideas we haven&apos;t thought of yet well into the future. &#xA0;This allows us to rapidly iterate on features and be able to measure their effectiveness quickly.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://tech.omniafishing.com/content/images/2022/03/Core-Entities-1.gif" class="kg-image" alt="Seeing Like An Algorithm At Omnia" loading="lazy" width="2739" height="1693"><figcaption>Composable key core elements leveraging structured data.</figcaption></figure><h2 id="show-the-right-things-at-the-right-time-to-the-right-person">Show the right things at the right time to the right person</h2><h3 id="lay-your-cards-out">Lay your cards out</h3><p>We have the data structured, an understanding of unique customer intent, and the system was composable and ready to build experiences on top of it all. &#xA0;That put a lot of pressure on our recommendation system to deliver value with limited inputs.</p><p>By understanding a user&apos;s species and lake preferences, just from those two points of data, we can provide a winning personalized experience the first time they used our system. &#xA0;More complexity could be added over time, but we would start there. &#xA0;It was also important to build a system that was ready to learn and take in feedback loops from users in the form of Orders and Fishing Reports.</p><p>In Part II, we will go into detail on how we use algorithm-friendly design to capture clean signals and create a potent flywheel of learning.</p><p>Here is a visualization of how our recommendation engine works.</p><figure class="kg-card kg-image-card kg-width-full kg-card-hascaption"><img src="https://tech.omniafishing.com/content/images/2022/03/Seeing-Like-An-Algorithm-full-med.gif" class="kg-image" alt="Seeing Like An Algorithm At Omnia" loading="lazy" width="3185" height="1584"><figcaption>The data-driven Omnia ecosystem.</figcaption></figure><h2 id="interest-graph-over-social-graph">Interest graph over social graph</h2><h3 id="no-new-friends">No new friends</h3><p>One of the strongest opinions that I held from the beginning is that Omnia would build a system that provided personalization through a deep understanding of the user without requiring them to add friends or follow other peers. &#xA0;Social graphs of course have value and add network effects that can be powerful signals for a system like Omnia.</p><p>The goal of Omnia is to understand and learn a user&apos;s preferences in order to play that back to them in the form of personalized experiences that let them be more efficient and effective within the context of fishing and their other outdoor pursuits. &#xA0;We call that the Omnia Interest Graph.</p><p>We think of it as single-player mode vs multiplayer mode in a video game. &#xA0;Multiplayer mode is possible, but single-player mode is what Omnia is optimized for and it&apos;s what we want to help our users perfect. &#xA0;Get better and better over time and help them grow.</p><p>Stay tuned for Part II where we go into detail on the UX side of things and explain what algorithm-friendly design means at Omnia.</p><hr><p><strong>This post was heavily influenced and inspired by <a href="https://www.eugenewei.com/">Eugene Wei</a>&apos;s amazing trilogy: <a href="https://www.eugenewei.com/blog/2020/8/3/tiktok-and-the-sorting-hat">Part I</a>, <a href="https://www.eugenewei.com/blog/2020/9/18/seeing-like-an-algorithm">Part II</a>, <a href="https://www.eugenewei.com/blog/2021/2/15/american-idle">Part III</a>.</strong></p><hr><h2 id="come-work-with-us">Come Work With Us</h2><p>If you or someone you know is interested in helping us to further build this out, please consider applying for one of our data science positions:</p><ul><li><strong><a href="https://www.omniafishing.com/news/job-opening-customer-insights-lead">Customer Insights Lead</a></strong>: create data narratives, explore cuts of data in revealing ways, automate analysis through dashboards and visualizations.</li><li><strong><a href="https://www.omniafishing.com/news/job-opening-machine-learning-engineer">Machine Learning Engineer</a></strong>: create the underlying tooling, create simple CI/CD pipelines, own the platform that tracks data through our system and allows for iterative modeling and versioning.</li></ul>]]></content:encoded></item><item><title><![CDATA[Why You Should Come Work With Me At Omnia]]></title><description><![CDATA[<p>Earlier this week, <a href="https://www.linkedin.com/feed/update/urn:li:activity:6907801992195129345">Omnia announced we raised a new $4 million round of funding</a>. It&apos;s an exciting milestone and validates that the work we have been doing the past two years is connecting with the market and those that surround and support it. We are finding the right</p>]]></description><link>https://tech.omniafishing.com/come-work-with-me/</link><guid isPermaLink="false">6231d1cfbdd7931ab2324b82</guid><category><![CDATA[News]]></category><dc:creator><![CDATA[Dan Wick]]></dc:creator><pubDate>Wed, 16 Mar 2022 12:02:23 GMT</pubDate><media:content url="https://tech.omniafishing.com/content/images/2022/03/omnia-o-code-portrait-1.png" medium="image"/><content:encoded><![CDATA[<img src="https://tech.omniafishing.com/content/images/2022/03/omnia-o-code-portrait-1.png" alt="Why You Should Come Work With Me At Omnia"><p>Earlier this week, <a href="https://www.linkedin.com/feed/update/urn:li:activity:6907801992195129345">Omnia announced we raised a new $4 million round of funding</a>. It&apos;s an exciting milestone and validates that the work we have been doing the past two years is connecting with the market and those that surround and support it. We are finding the right customers at an incredible rate and we have figured out how to keep them engaged and coming back at an even higher rate.</p><p>Yes, our <strong>transactional commerce growth of 400% YoY</strong> is strong and a great indication we are on to something. But the depth and breadth of the engagement of our users surrounding their transactions are what gets me out of bed every morning. The flywheel we have built is working to surround the purchase experience in a way that didn&apos;t exist before.</p><blockquote>This is the most exciting technology and business I have worked on in my entire career. The reason is that I get to build cool stuff with the smartest people I have ever worked with. Because we have been able to find product-market fit for that cool stuff we can keep building and adding more of the smartest people.</blockquote><p>Additional capital in the bank means nothing if we are not able to put it to work. The good news is we are extremely ready and prepared to put this to work.</p><p>That&apos;s potentially where you come in. I want to work with more smart people and add you to our awesome team. We are hiring across many areas of engineering, data science, and product. The positions are listed below.</p><p>But first I&apos;d like to give you a lay of the land for all things Omnia. This is a bit long, but if you&apos;re the right fit for us, this should all resonate with you.</p><h2 id="is-this-you">Is this you?</h2><p>In addition to the specific roles listed below, we are generally looking for mature, driven, curious people who have very strong communication skills. To date, we have been very fortunate to hire some of the brightest people I&apos;ve ever worked with across the entire company.</p><blockquote><strong>A Players want to work with other A Players.</strong></blockquote><h3 id="engineering">Engineering</h3><ul><li><a href="https://www.omniafishing.com/news/omnia-is-looking-for-a-user-centric-frontend-engineer">Frontend Engineer</a> (Twin Cities | Remote)</li><li><a href="https://www.omniafishing.com/news/job-opening-backend-engineer">Backend Engineer</a> (Twin Cities | Remote)</li><li><a href="https://www.omniafishing.com/news/omnia-is-looking-for-a-user-centric-collaborative">Full Stack Generalist Engineer</a> (Twin Cities | Remote)</li><li><a href="https://www.omniafishing.com/news/job-opening-react-native">React Native Engineer</a> (Twin Cities | Remote)</li><li><a href="https://www.omniafishing.com/news/job-opening-qa-engineer">QA Engineer</a> (Twin Cities | Remote)</li><li><a href="https://www.omniafishing.com/news/job-opening-engineering---future-opportunities">Engineering - Future Opportunities</a> (Twin Cities | Remote)</li></ul><h3 id="data-science">Data Science</h3><ul><li><a href="https://www.omniafishing.com/news/job-opening-customer-insights-lead">Customer Insights Lead</a> (Twin Cities | Remote)</li></ul><h3 id="product-design">Product &amp; Design</h3><ul><li><a href="https://www.omniafishing.com/news/job-opening-lead-product-designer">Lead Product Designer</a> (Twin Cities | Remote)</li></ul><h3 id="warehouse-operations">Warehouse &amp; Operations</h3><ul><li><a href="https://www.indeed.com/viewjob?t=warehouse+associate&amp;jk=11490b6efe025327&amp;_ga=2.74783322.995146575.1646774718-1340519337.1646083224">Warehouse Associate</a> (Twin Cities)</li></ul><h2 id="what-we-are-building">What We Are Building</h2><p>Personalized commerce through geospatial context. That&apos;s the shortest way I can summarize it, but there is obviously a lot more to it. Identifying the right fishing products you need for any given fishing trip is an overwhelming and time-consuming process. Big box regional selection both in-store and online is not optimal. Local tackle shops and smaller retailers have limited supply and are not operationally enabled to get you the product you need efficiently.</p><p>Omnia provides a service that enables unique shopping and information gathering down to the lake level so that customers can find what they need when they need it.</p><p>Here are some specific key areas of our business and stack that our team and new team members would work on building out.</p><h3 id="product-catalog">Product catalog</h3><p>We have 18,000 SKUs with a proprietary taxonomy down to very specific product attributes that allow us to write recommendation algorithms against the catalog to make very specific recommendations. Our SKU count will continue to grow at an exponential rate as we move into our new warehouse.</p><h3 id="waterbodies-lakes-data-set">Waterbodies (lakes) data set</h3><p>We have over 200,000 pins for lakes across the US. Each lake contains data about the species that inhabit it, water clarity, and very specific geolocation data. Given all of that data, we can match conditions and seasonality to recommend products and content in exact scenarios.</p><h3 id="fishing-reports-structured-ugc">Fishing Reports (structured UGC)</h3><p>The key to any good feedback loop is the response from the userbase as to the efficacy and specific utilization of the recommendation provided. Fishing report generation is the fastest-growing part of our dataset and has the potential to strengthen our recommendations exponentially.</p><h3 id="recommendation-engine">Recommendation Engine</h3><p>As volume through the platform has increased, the opportunity to train and model inferences against the data mentioned above (products, transactions, water bodies, fishing reports, etc). We are now prepared to move beyond the insights and analytics of the behavior and start writing code against the models to allow for more intelligent recommendations.</p><h3 id="backend-apis-and-services">Backend APIs and Services</h3><p>Before we began developing any UI, we spent months modeling the data and writing services to allow for the personalized experiences we knew were going to need. Everything is exposed through APIs obviously. &#xA0;This part of the stack of what we are building is crucial to enabling more growth in the quality of the services and the elegance of our UIs.</p><h3 id="frontend-uis">Frontend UIs</h3><p>Up until today, the web app on omniafishing.com has been our flagship user experience. It&apos;s been responsive for mobile since inception and it will continue to be the primary experience for many new and existing customers as they discover more and more of our content and products through SEO. The release of our iOS and Android app is imminent and I&apos;ll be happy to share more 1:1 about this after it is released.</p><h2 id="what-we-build-with">What We Build With</h2><p>I&apos;ll keep this somewhat brief, but we are happy to go in deep on more of the nuances within each discipline. We like to keep things flexible so that as things emerge that the team would like to use we can make that happen.</p><ul><li><strong>Web Frontend</strong> - React (Typescript) - our web app is server-side rendered without a framework and uses a Ruby API. Mapbox for geospatial visualization.</li><li><strong>Native Mobile</strong> - React Native (Typescript)</li><li><strong>Backend</strong> - Ruby on Rails, PostgreSQL, AWS (EC2), Containers (Terraform), BigQuery (data lake for BI)</li></ul><p>(<em>If you&apos;re curious if the trajectory of your engineering tour of duty at Omnia could eventually include working on web3, the answer is yes it very well could in the future. It&apos;s not the focus of active development today and we are not making PFP NFTs of Fish Punks or Fishing Apes. But if you would like to join me down the rabbit hole to talk about smart contracts, progressive decentralization, tokenization, and more... I&apos;m your huckleberry.)</em></p><h2 id="engineering-philosophy">Engineering Philosophy</h2><p>As far as engineering methodology, I would sum it up as common sense agile. We use Jira for stories and bug tracking. We do light-weight sprint planning usually as a part of standup but sometimes a quick meeting if we need to discuss. There is not a standing sprint planning or retro ceremony schedule. Sprints are usually a week, but sometimes two if something gets big and requires sustained heads-down days of work. We release to production at least weekly or more than that if needed. We use Airtable to manage our roadmap out about one calendar year. Sometimes you do actually need a Gantt chart.</p><h2 id="work-environment">Work Environment</h2><p>You&apos;re probably wondering about remote work. We have a physical space where today 15-18 team members come into work most days of the week. Some work remotely when they need to and then come in when it makes sense. Others rarely come in or only when needed. Some are 2 miles away and others are 5,000. Some people I see face to face every day, others I haven&apos;t met in person yet. But everyone gets their work done and we all stay aligned through regular communication. Other than a daily stand-up, there are no other standing meetings for the engineering team. We obviously Slack as things come up and jump on a video call as needed, but we keep the meeting and ceremony overhead as low as possible.</p><p>Our current office and warehouse are in Golden Valley, MN. In the second half of 2022, we are moving into a much larger space mostly to accommodate the warehouse growth and expansion, but it will also include much more office, working, and meeting space. That exact location is still TBD, but it will be within 10 minutes of our current space and likely in the Southwest Metro of Minneapolis.</p><h2 id="diversity-equity-inclusion">Diversity Equity &amp; Inclusion</h2><p>As a member of the LGBTQ+ community, diversity and inclusion are personal priorities for me. As a co-founder and leader of Omnia, I can also say that diversity and inclusion are company values that are shared across leadership and the entire team. We have a wide range of backgrounds on our team and it shows in the quality of our products and services. There is always work to be done within adding diversity to our team and we are committed to making it happen with this large hiring push and into the future.</p><h2 id="the-greater-good-and-giving-back">The Greater Good and Giving Back</h2><p>The nature of our business and space is directly aligned with preservation. Preservation of our lands, bodies of water, and the animals that inhabit the environment. That&apos;s why we have partnered with <a href="https://sportsmenbwca.org/">Sportsmen For The Boundary Waters</a> from day one. We&apos;ve not only co-hosted events with them and sponsored them, but we also are in the process of building experiences within the Omnia platform that highlight BWCA to help people understand how to visit the area and to take good care of it.</p><h2 id="compensation">Compensation</h2><p>If you are comfortable in your current position at Target working 20 hours a week cashing an inflated check and waiting around for your huge (for now) yearly bonus and public stock grants to hit, Omnia isn&apos;t a good fit for you at this stage of your career. There is absolutely nothing wrong with a position like that and I 100% mean it when I say &quot;Good for you!&quot; and you should stay put.</p><p>Omnia compensates competitively and we will meet market rates. For the right person who is a dedicated high-contributor, that can include stock options. We offer full medical and dental. We currently do not offer a retirement/401k program, but as we continue to grow that may become part of the mix.</p><h2 id="pto">PTO</h2><p>PTO is offered but not tracked. We trust our team to take the time they need, including days/weeks of vacations completely unplugged. Taking time out of the workday to tend to family or personal obligations is something we all do on a daily basis. We encourage our team to take days and parts of days to get out on the water and out into nature. As long as it&apos;s communicated, common sense PTO is our official policy.</p><h2 id="conclusion">Conclusion</h2><p>If you made it this far, I thank you for reading and hope it&apos;s a good indication you are interested in what we are doing. If are interested, please take a look at <a href="https://www.omniafishing.com/jobs">all of our job openings</a>. Shoot me an <a href="http://dan@omniafishing.com/">email</a> if you have feedback or questions. I look forward to hearing from you.</p>]]></content:encoded></item></channel></rss>