<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="https://www.w3.org/2005/Atom">

 <title>Stephen Hawes</title>
 <link href="/atom.xml" rel="self"/>
 <link href="/"/>
 <updated>2026-03-25T02:36:04+00:00</updated>
 <id></id>
 <author>
   <name>Stephen Hawes</name>
   <email></email>
 </author>

 
 <entry>
   <title>The Onion of Tolerance</title>
   <link href="/onion-of-tolerance/"/>
   <updated>2024-04-02T00:00:00+00:00</updated>
   <id>/onion-of-tolerance</id>
   <content type="html">&lt;p&gt;Throughout the course of LumenPnP development, I’ve adopted a product development methodology I call &lt;em&gt;The Onion of Tolerance&lt;/em&gt; that has worked really well for us so far.&lt;/p&gt;

&lt;h3 id=&quot;what-an-onion&quot;&gt;…what? An onion?&lt;/h3&gt;

&lt;p&gt;When you first put something out the door, the people that will give it a chance are &lt;strong&gt;early adopters&lt;/strong&gt;. They generally understand that it’s an early-stage product, and that there are going to be some rough edges. They have a high tolerance, sometimes surprisingly so. They’re involved because they’re excited about what you’re doing, and they want to be part of it.&lt;/p&gt;

&lt;p&gt;You’re going to get a lot of feedback. They might be tolerant, but they’re still human. They care about what you’re building, and they want it to get better, so you’re going to hear about a lot of stuff that sucks about your product, which is &lt;em&gt;great&lt;/em&gt;. The real challenge comes when deciding &lt;em&gt;which order to fix the issues in&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Your early adopters are the very center of the Onion of Tolerance, the unwavering unshakable core that will put up with an absurdly frustrating and finicky experience. The next, larger layer of the onion is &lt;em&gt;slightly&lt;/em&gt; less tolerant of a bad experience, and there’s more people in that layer. The layers continue.&lt;/p&gt;

&lt;p&gt;I posit that &lt;strong&gt;the next thing you should fix or add to your product should unlock the next-biggest layer in the Onion as a potential customer&lt;/strong&gt;. Fix the problems that keep &lt;em&gt;them&lt;/em&gt; from engaging, then move on to the next layer.&lt;/p&gt;

&lt;h3 id=&quot;why-do-it-this-way&quot;&gt;Why do it this way?&lt;/h3&gt;

&lt;p&gt;This approach has a lot of benefits. Every time you fix a batch of problems and move to the next layer, you unlock a whole new category of customers, helping the organization grow or increase runway. This is fantastic for cashflow if you are bootstrapped, and a steady increase in revenue looks great on your P&amp;amp;L.&lt;/p&gt;

&lt;p&gt;It also manages expectations really well. You’re never overpromising, always just selling your product to the people who are truly excited to exchange money for the amount of “done” it currently is. As a fledgling startup, you draw a fine line. You want to get your product into peoples’ hands, make sales, and keep the company alive. But you also don’t want to overpromise and give it to somebody that is looking for a more plug-and-play experience, and have the customer be frustrated. This whole thing only works if you’re comfortable saying to a potential customer, “it’s not ready for you yet.”&lt;/p&gt;

&lt;p&gt;Typically the problems you’re solving to get to each new layer of the onion are the biggest, most annoying issues shared by the majority of your &lt;em&gt;existing&lt;/em&gt; users. This means existing users are constantly having their largest frustration fixed, which shows solid and consistent progress on making the product better. Showing your userbase that you’re listening to and acting upon their feedback is one of the best things you can do to help your community grow.&lt;/p&gt;

&lt;h3 id=&quot;how-to-do-it&quot;&gt;How to do it&lt;/h3&gt;

&lt;h4 id=&quot;determine-what-sucks&quot;&gt;Determine what sucks&lt;/h4&gt;

&lt;p&gt;There are two main ways that we’ve used to find out what sucks about something: customer interviews, and dogfooding.&lt;/p&gt;

&lt;p&gt;By conducting customer interviews, you’re getting right to the heart of the matter. Don’t choose folks that seem to be having a good time with your product. Pick the folks that are upset. Pick the folks that write you a novel about all the things that frustrate them. These are the perfect people to talk to. Praise is a good indicator of things to keep, but the negative feedback is orders of magnitude more valuable. The more critical, the better.&lt;/p&gt;

&lt;p&gt;This does absolutely suck to do, to be fair. I think that’s why many companies don’t do these interviews, instead assuming they know what the customer wants. Spending an hour listening to why your decisions are bad and how this thing you built absolutely sucks is not fun. But it’s the most important thing you can do to make it better.&lt;/p&gt;

&lt;p&gt;I also recommend getting on the phone or a video call with a customer and letting them just talk, instead of only sending a survey. Surveys can be great for some A/B decisions, and even as a way of finding frustrated customers that you then reach out to for a call. But if every one of your customers is having an issue you aren’t even aware of, and there isnt a spot on the survey to convey it, you’re loosing that signal. You don’t know what you’re looking for yet, so it’s best to just let them talk.&lt;/p&gt;

&lt;p&gt;Another, less effective way is to &lt;a href=&quot;https://en.wikipedia.org/wiki/Eating_your_own_dog_food&quot;&gt;dogfood&lt;/a&gt; your product (or, using it yourself). The idea is to tighten the feedback loop between creator and consumer, making it so that fewer bugs are introduced and issues are fixed quicker, because you’re your own user.&lt;/p&gt;

&lt;p&gt;This is a great technique, and I think dogfooding also says a ton about the confidence your company has in the product, but you will &lt;strong&gt;&lt;em&gt;always&lt;/em&gt;&lt;/strong&gt; view your product with a bias. It’s yours. You designed it. Your ego, emotions, effort, and sacrifices went into making it. You will &lt;strong&gt;&lt;em&gt;always&lt;/em&gt;&lt;/strong&gt; view it in a different light than a customer. You will make excuses for it that a customer will not. This isn’t a reason to &lt;em&gt;not&lt;/em&gt; dogfood. It’s just never going to give you the full picture.&lt;/p&gt;

&lt;h4 id=&quot;order-them&quot;&gt;Order them&lt;/h4&gt;

&lt;p&gt;After a ton of customer interviews and your own experience using your product, you should have a list of stuff that sucks. Now you need to order them in the order you will fix them.&lt;/p&gt;

&lt;p&gt;Critically, the rank is &lt;strong&gt;not based on how much they suck&lt;/strong&gt;, but instead &lt;strong&gt;the next layer of the onion&lt;/strong&gt;. Often, these are the same thing, but sometimes they differ slightly. The idea is to open up the product to the next layer of the onion, while also trying to reduce net suck for everyone. What’s going to allow more folks to use it successfully? Who is the next-most tolerant group of potential customers? What feature or bugfix will unlock the next wave of sales that propel you to the subsequent layer?&lt;/p&gt;

&lt;p&gt;The other main variable in determining the order is the difficulty of each item on the list. Rating “suck” on a scale from 1-10, 10 being the worst, a relatively easy 6 should ship way before a complex 10. Of course, the 10 is way more important and greatly reduces the total suck, but it shouldn’t gate that 6 from shipping much sooner.&lt;/p&gt;

&lt;h4 id=&quot;fix-them&quot;&gt;Fix them&lt;/h4&gt;

&lt;p&gt;Now, fix them relentlessly.&lt;/p&gt;

&lt;p&gt;With each item on the list, you’ll have a ton of feedback about &lt;em&gt;why&lt;/em&gt; it sucks, and also probably a lot of suggestions about &lt;em&gt;how&lt;/em&gt; to fix it. In general, you should take the fact that something is bad as gospel truth, but don’t put too much weight in the suggestions on how to fix it. Bill Hader has an excellent quote about this in regards to writing:&lt;/p&gt;

&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/NHHZSNw9J2o?si=nhMG37p6KZvZ1iCO&amp;amp;start=27&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;Your customers might have some &lt;em&gt;excellent&lt;/em&gt; ideas about how to fix the problem, and you certainly shouldn’t disregard their suggestions. But they likely don’t have the context on the product (and the company) to know the best solution. The solve should come when looking at the entire scope of the product, company, and even future products in development.&lt;/p&gt;

&lt;h3 id=&quot;what-we-did&quot;&gt;What we did&lt;/h3&gt;

&lt;p&gt;Opulo followed this system for the LumenPnP. We got our first version of the machine (a kit) out the door to early adopters, and did a ton of customer interviews. We got three &lt;em&gt;incredibly&lt;/em&gt; strong signals from those interviews, which we ranked:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;It’s a pain putting the machine together&lt;/li&gt;
  &lt;li&gt;Strip feeders are finicky&lt;/li&gt;
  &lt;li&gt;OpenPnP is difficult to use&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Again, this rank is &lt;em&gt;not&lt;/em&gt; how much each of these things suck. It’s the most logical order to solve them for the next-most tolerant shell of the onion.&lt;/p&gt;

&lt;p&gt;The signals we got from those interviews (and many more afterwards) have informed every single release we’ve done since. We immediately switched to an almost fully assembled version of the machine, solving issue one. Next, we designed and shipped component feeders, solving problem two. We’re working on number three right now.&lt;/p&gt;

&lt;p&gt;This has resulted in a consistent, steady increase in sales and general perception of the machine.&lt;/p&gt;

&lt;h3 id=&quot;notes&quot;&gt;Notes&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;What if I rasied VC money?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you have a &lt;em&gt;ton&lt;/em&gt; of cash, you don’t need to worry about this tier system of incremental improvement. You can just tackle the whole onion at once. You should still be doing customer interviews and ranking the suck of each issue, but you can parallelize better and fix more of them simultaneously. This system is meant for a profitable, cash-flow dependent startup company.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s the last shell?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The last shell of the onion isn’t the general consumer market, although they’re the second-to-last! The last shell is reviewers. These folks are the most picky, as they should be. It’s their job to be the most aware and critical of their experience using a product, so that they can inform people about things that might be frustrating for them.&lt;/p&gt;

&lt;p&gt;Given that they’re the absolute last shell, you should only reach out to them when you’ve arrived at the last tier (or shortly before). The internet is written in ink, so if you’re going to send a unit out for review, you better be pretty damn sure it’s going to be a good review.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But it’s hard to fix hardware bugs!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That’s super true. Depending on how you manage your hardware production, “patches” are much more difficult. The LumenPnP is accessible and modular by design, so upgrade kits are very easy to manifest, allowing previous customers to enjoy the benefits of modern designs.&lt;/p&gt;

&lt;p&gt;But an injection molded product with adhesives and heat stakes is not quite so editable. What you ship is more or less permanent. I’d imagine that much of this onion philosophy would occur on a longer timeline for those products, given that small, incremental improvements might be less feasible and a full new product release might be necessary to get to each new layer of the onion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This is dumb.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fair! I wrote this in the &lt;a href=&quot;https://en.wikipedia.org/wiki/Imperative_mood&quot;&gt;imperative mood&lt;/a&gt;, but I’m certainly not trying to prescribe that everyone does things this way. It has some problems! What if a pithy feature opens up the next layer of your onion, but leaves your existing users to deal with a really frustrating problem? That sucks! What if the next layer of the onion is unlocked by a four-year R&amp;amp;D saga that you absolutely don’t have the runway for? You have do something else. This is a &lt;strong&gt;tool&lt;/strong&gt;, not a &lt;strong&gt;rule&lt;/strong&gt;. It shouldn’t be followed all the time, but instead only when it’s useful.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Four Years of the LumenPnP</title>
   <link href="/four-years-of-lumenpnp/"/>
   <updated>2024-01-18T00:00:00+00:00</updated>
   <id>/4-years</id>
   <content type="html">&lt;p&gt;Today marks four years since the beginning of the LumenPnP project. Four years ago, I posted a &lt;a href=&quot;https://www.youtube.com/watch?v=dAFleHaPjEY&quot;&gt;YouTube video&lt;/a&gt; announcing a project that would eventually dictate literally every aspect of my life.&lt;/p&gt;

&lt;p&gt;Given that it’s an anniversary, it’s a great opportunity to look critically at how things have gone. What have we accomplished? What worked? What didn’t? Here’s some of the main things I think of looking back on the last four years.&lt;/p&gt;

&lt;h4 id=&quot;youtube-videos&quot;&gt;YouTube Videos&lt;/h4&gt;

&lt;p&gt;YouTube worked great, and in so many ways. Posting videos was an incredible way to get some eyeballs on the project and bring in smart folks that were excited to work with me to make the project better. It built a huge community of people that are excited about the mission, and what eventually would become an early adopter market for the kit we’d soon sell.&lt;/p&gt;

&lt;p&gt;After that, YouTube started working differently. It was critical in the early days of the project, but as certain R&amp;amp;D decisions became more established, the base of people that were subscribed for engineering videos were bound to be disappointed. The work shifts from design to logistics pretty damn quick when you start shipping.&lt;/p&gt;

&lt;p&gt;I’ve been struggling to find a new voice as the company has taken so much of my time. It’s not about building a pick and place anymore. It’s about building a pick and place &lt;em&gt;company&lt;/em&gt;, and that’s an entirely different thing, for a mostly different audience.&lt;/p&gt;

&lt;p&gt;Should I go back to random one-off videos circa 2019? Switching the channel to being more company-focused? I really love making videos, but they have to benefit the project and the company in some way for me to choose to invest time in them, at least for now. This is a large consideration for me this year.&lt;/p&gt;

&lt;h4 id=&quot;community&quot;&gt;Community&lt;/h4&gt;

&lt;p&gt;Wow, what an incredible boon. The LumenPnP Discord server is now 4k people strong, and they have become such an incredible driving force behind design decisions, UX improvements, and engineering solutions.&lt;/p&gt;

&lt;p&gt;One of the corrections from the community that I’m most grateful for is about my focus for the project in 2021. I had gotten into an iron-clad cadence of making a new, entertaining video about R&amp;amp;D every two weeks. After a certain point, the body of work that really needs to be done is validation and lifetime testing. The community gave me really excellent feedback that I should probably be shifting my focus to these challenges, and they were completely correct.&lt;/p&gt;

&lt;p&gt;More recently, the community has been instrumental in making updates to the LumenPnP’s motherboard. Last year we tried a new format of review for PCB designs that’s been working really well that I’m excited to continue using into the future.&lt;/p&gt;

&lt;p&gt;There’s also been really incredible efforts to design and document &lt;a href=&quot;https://mods.opulo.io/&quot;&gt;mods&lt;/a&gt; for the machine. A handful of other feeder designs have already been adapted to the LumenPnP, and one is even in the works that supports our communication protocol, &lt;a href=&quot;https://github.com/photonfirmware/photon&quot;&gt;Photon&lt;/a&gt;.&lt;/p&gt;

&lt;h4 id=&quot;github&quot;&gt;Github&lt;/h4&gt;

&lt;p&gt;We’ve taken a pretty aggressive stance on our management of source material. &lt;strong&gt;Every bit of source&lt;/strong&gt; is tracked in Github. PCBs, 3D models, even wire harness designs are stored in the repository.&lt;/p&gt;

&lt;p&gt;But git is designed for text. Merging a KiCAD schematic file from a divergent branch is effectively impossible. Your only real recourse is to choose one and overwrite.&lt;/p&gt;

&lt;p&gt;We manage things a little differently. Using Git LFS, we can “lock” a file, ideally preventing anyone else from editing it while it is locked. In practice, it’s not quite so perfect, but it is a universal way of marking a non-mergable file as “checked out” so collaboration becomes easier. With this tweak, we’ve been using Github to manage our design source happily for the past few years.&lt;/p&gt;

&lt;p&gt;Because of Github’s excellent CI/CD tool, we can even do things like automatically export BOMs for the machine, generate gerbers, or even render images of all the FreeCAD models. (&lt;a href=&quot;https://github.com/opulo-inc/lumenpnp/releases/tag/v3.1.2&quot;&gt;Example in this release.&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;This single source of truth has been fantastic for sharing the design and tracking versions.&lt;/p&gt;

&lt;h4 id=&quot;kit-vs-assembled&quot;&gt;Kit vs Assembled&lt;/h4&gt;

&lt;p&gt;For the initial kit version of the LumenPnP, a customer had to solder dozens of through hole components, 3D print tons of separate plastic parts, and engage in a tedious build spanning many hours. It was one hell of an ask. I am grateful so many people came along with us for the journey that early in Opulo’s lifetime.&lt;/p&gt;

&lt;p&gt;Feedback from customer support was a clear indicator that we needed to own more of the process. Many problems that folks were having with the machine stemmed from bad print quality, incomplete THT soldering, or damaged SMT connections. We ended up solving this with semi-assembled machines where the customer is only plugging in some cables and bolting together subassemblies.&lt;/p&gt;

&lt;p&gt;If the customer is building the machine, then every machine is built by someone doing it &lt;em&gt;for the first time&lt;/em&gt;. They don’t get to leverage the experience we have for common assembly gotchas, or optimal ways of doing things. Taking most of the assembly in-house greatly reduced the number of issues, and resulted in happier customers.&lt;/p&gt;

&lt;h4 id=&quot;other-open-source-projects&quot;&gt;Other Open Source Projects&lt;/h4&gt;

&lt;p&gt;The LumenPnP is built on the back of dozens of other open source projects, and it is better for it. Some of these projects are clean, isolated black boxes of utility that grease the wheels of development. But some require a bit more consideration, particularly Marlin and OpenPnP.&lt;/p&gt;

&lt;p&gt;These projects are true behemoths with years of legacy and design decisions. Making edits to something so large and complex is hard. I think this is just the nature of large software projects, particularly ones that are designed to support many types of hardware.&lt;/p&gt;

&lt;p&gt;We’ve made significant edits and patches to both projects since the beginning of the LumenPnP project, particularly around supporting the LumenPnP feeders. It’s been such a cool experience to see how other projects manage contributions. I spend most of my time working within the structure of the LumenPnP project, so to dive into how other folks operate an open source project is a great opportunity to challenge my own methods and see if I could be doing things better.&lt;/p&gt;

&lt;h4 id=&quot;user-feedback&quot;&gt;User Feedback&lt;/h4&gt;

&lt;p&gt;One of the most important things I’ve learned in the past four years is the importance of user feedback. Understanding what users of your product are experiencing and reacting directly to that information is such a crucial part of making something great.&lt;/p&gt;

&lt;p&gt;In college, I worked on a muscle-controlled prosthetic hand. I designed a joystick driven menu system for selecting different grip strengths, and was pretty proud of my feature. When I showed this to the amputee I was working with, he said, “I will literally never use this. If I have a free hand to change a setting, why wouldn’t I just use &lt;em&gt;that&lt;/em&gt; hand to pick up what I want to pick up?”&lt;/p&gt;

&lt;p&gt;I was floored. In retrospect, it’s so obvious that that feature would never be used, but because I was not the target user, I was missing critical context about what using the product would be like.&lt;/p&gt;

&lt;p&gt;At Opulo we use the LumenPnP every day to build boards, so we’re effectively our own user. This certainly helps us keep the right context, but there’s no replacement for listening to your users.&lt;/p&gt;

&lt;h4 id=&quot;balance&quot;&gt;Balance&lt;/h4&gt;

&lt;p&gt;I have been unbalanced these past four years. I have effectively shut off every aspect of my life besides Opulo and the LumenPnP. I have gone to an extreme.&lt;/p&gt;

&lt;p&gt;To be totally fair, it &lt;strong&gt;&lt;em&gt;has&lt;/em&gt;&lt;/strong&gt; worked. Opulo is a successful, profitable company, making tools that do useful work for people all around the world. But the way I’ve managed it has been unsustainable for myself. I need to find a better way of operating, because I’m sure as hell not going to slow down.&lt;/p&gt;

&lt;p&gt;The problem is that I love it. I absolutely love working on this project and this company, and there are always a million things to do. Making the conscious decision to &lt;em&gt;not&lt;/em&gt; is incredibly hard for me, even if it’s in my own best interest.&lt;/p&gt;

&lt;p&gt;A few months ago, I started putting some things in place that help me continue to be the most effective that I can without losing my mind. Having a group of other founders to talk to has been unspeakably good for maintaining sanity. Also, taking an evening every once in a while to truly not think about work is surprisingly effective. &lt;a href=&quot;https://www.nintendo.com/us/store/products/picross-s-switch/&quot;&gt;Picross&lt;/a&gt; and &lt;a href=&quot;https://www.dungeonsanddaddies.com/&quot;&gt;Dungeons and Daddies&lt;/a&gt; have been my saving grace. It’s incredible how much taking some time off will make you more effective when you &lt;em&gt;are&lt;/em&gt; working later. It’s not about the hours, it’s about the effectiveness.&lt;/p&gt;

&lt;p&gt;I love running Opulo and the LumenPnP project more than anything, and I want to do it the best that I possibly can.&lt;/p&gt;

&lt;h3 id=&quot;next-four-years&quot;&gt;Next Four Years&lt;/h3&gt;

&lt;p&gt;We’ve hit some pretty excellent milestones since the project’s inception, but there’s still a lot of work to do. The midscale operation still has some gaps.&lt;/p&gt;

&lt;p&gt;One of the most difficult things for folks starting out is having the right information. There’s a ton of resources out there for engaging in midscale manufacturing, so we recently started &lt;a href=&quot;https://midscale.io/&quot;&gt;Midscale.io&lt;/a&gt; to help share these resources to others trying to get started. The &lt;a href=&quot;https://shows.acast.com/ohm-podcast&quot;&gt;OHM Podcast&lt;/a&gt; that we started last year also aims to accomplish that goal.&lt;/p&gt;

&lt;p&gt;The LumenPnP’s UX can also see improvement. OpenPnP runs well, but can be difficult for new users to learn. Calibration is very thorough, but many parts could be automated. Also, job setup (mounting feeders, PCB panels, and strip feeders) is quick but could be quicker.&lt;/p&gt;

&lt;p&gt;There are also other parts of the midscale SMT line that need work. I &lt;a href=&quot;https://www.youtube.com/watch?v=k9xzGO0SVg0&quot;&gt;experimented with the idea of making a reflow oven&lt;/a&gt;, but there are really excellent machines that already exist. The same goes for stencil jigs. Some of these problems are not engineering issues, but availability issues. Importing and distributing these things would be the most pragmatic way to fill these gaps, and not by reinventing the wheel.&lt;/p&gt;

&lt;p&gt;The management side of a midscale operation is also slated to improve. The already excellent &lt;a href=&quot;https://inventree.org/&quot;&gt;Inventree&lt;/a&gt; which helps keep inventory, builds, and purchasing in order is constantly getting better. Standardizing BOM structure and sharability, hardware releases via Github CI, and git-based collaboration for ECAD and MCAD are things I’m working on in the coming months.&lt;/p&gt;

&lt;h3 id=&quot;what-weve-accomplished&quot;&gt;What We’ve Accomplished&lt;/h3&gt;

&lt;p&gt;I’m truly proud of what we’ve been able to do in four years. It’s been dozens of creative, intelligent, passionate people working together to develop a platform that helps folks manufacture their products. People have started companies, shipped products, performed research, and changed the world for the better with the hardware we’ve built.&lt;/p&gt;

&lt;p&gt;In four years, we have:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;developed a pick and place system from scratch that is completely open source, and self-buildable with off the shelf components&lt;/li&gt;
  &lt;li&gt;developed multiple updates and revisions to that pick and place system, improving speed, rigidity, and reliablility&lt;/li&gt;
  &lt;li&gt;developed pick and place feeders that support the vast majority of components&lt;/li&gt;
  &lt;li&gt;developed standardized feeder firmware and a custom protocol supporting feeder discovery and loaded part tracking, plus integrating this protocol into Marlin and OpenPnP&lt;/li&gt;
  &lt;li&gt;written thorough, annotated &lt;a href=&quot;https://docs.opulo.io/&quot;&gt;user documentation&lt;/a&gt; and &lt;a href=&quot;https://ohai.opulo.io/&quot;&gt;assembly instructions&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;raised money to enable the first batch of material purchases and office space&lt;/li&gt;
  &lt;li&gt;developed custom testing software and production jigs to allow for these machines to be assembled and tested&lt;/li&gt;
  &lt;li&gt;built and shipped thousands of units to every corner of the world&lt;/li&gt;
  &lt;li&gt;started a &lt;a href=&quot;https://shows.acast.com/ohm-podcast&quot;&gt;podcast&lt;/a&gt; and developed &lt;a href=&quot;https://midscale.io/&quot;&gt;resources&lt;/a&gt; for folks diving into midscale manufacturing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am so incredibly grateful to anyone and everyone that has contributed to this project in some way. If it wasn’t for all the folks that helped craft it into what it is, it’d still just be me in my Somerville apartment, tinkering away. Thank you.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>2023 Review</title>
   <link href="/2023-review/"/>
   <updated>2023-12-31T00:00:00+00:00</updated>
   <id>/2023-review</id>
   <content type="html">&lt;p&gt;After reading Thea Flowers’ &lt;a href=&quot;https://blog.thea.codes/my-2023/&quot;&gt;year-in-review post&lt;/a&gt;, I decided to shamelessly steal the idea and do a similar one. Akin to a &lt;a href=&quot;/keeping-a-skill-index&quot;&gt;skill index&lt;/a&gt;, the things you’ve done in a year are hard to hold in your brain in their entirety, so writing them all down can be helpful for context.&lt;/p&gt;

&lt;h3 id=&quot;summary&quot;&gt;Summary&lt;/h3&gt;

&lt;p&gt;In many ways, 2023 was a year of &lt;code&gt;staying the course&lt;/code&gt;. In late 2018 I decided to start a YouTube channel with the express end goal of starting a hardware company. 2019 was lots of videos, and no real traction. 2020 was LumenPnP development. 2021 was going full-time and prepping for launch. 2022 was shipping a machine and getting stable. 2023 was staying the course.&lt;/p&gt;

&lt;p&gt;This year begain with a stable organization, sales, employees, and an office. We end the year similarly, but just, &lt;em&gt;more&lt;/em&gt;. More sales, more employees, more products. After four years of constantly shifting, having a more consistent existance has been wonderful, particularly for taking some larger swings and knowing the things we’ve done to stabilize are there to catch us. The more stability you have for the basics, the bigger risks you can take.&lt;/p&gt;

&lt;h3 id=&quot;opulo&quot;&gt;Opulo&lt;/h3&gt;

&lt;p&gt;A lot of this year was just focusing on shipping. It takes a tremendous amount of effort to “compile” a hardware product, so a lot of my time this year was spent on improving that process.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/staging-plates.jpg&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;/assets/2023-review/feeder-pcbs.jpg&quot; alt=&quot;&quot; /&gt;
&lt;img src=&quot;/assets/2023-review/y-gantries.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;On March 31st, we launched the LumenPnP 8mm Feeder. These were truly the make-or-break point for the LumenPnP project. A pick and place really shines with automatic part feeding, and how well that works defines a large percentage of the machine’s user experience. A bad feeder solution can easily disqualify the machine for many users; we had to nail it.&lt;/p&gt;

&lt;p&gt;And the feeder isn’t simple! The LumenPnP relies on many proven ideas about linear motion, so validation was simple and straightforward. The feeder is doing a number of more unique things that required thorough testing before contact with a customer: printed gears, a custom protocol, cable-free connectivity, etc. We did a number of things to ensure we caught any weird bugs or mistakes before shipping:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lifetime and Validation Testing&lt;/strong&gt; - Sporting no fewer than three 3D printed gears, wear was definitely a concern. We ran hours of lifetime tests, feeding over a quarter million cycles uninterrupted on many units.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/infinite-loop.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Feeder liftetime jig with infinite loops of tape and film&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We also developed a jig that instructs the feeder to feed with empty tape, and performs machine vision to ensure the accuracy is within spec. The feeder has to do what we say it will, and for a long period of time.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/y-variance-jig.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beta Program&lt;/strong&gt; - We shipped DVT units to high-use customers, and incorporated all notes of feedback into the PVT run. This feedback also heavily informed our documentation about setup and usage of the feeders.&lt;/p&gt;

&lt;p&gt;Launch went spectacularly, and reception has been great. We even tried hiring a professional production company for our &lt;a href=&quot;https://youtu.be/E405FT6iqhU?si=IjcUCys9vu7kCU29&quot;&gt;launch video&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/feeder-shoot.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Shoot day&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/feeder-ship.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Dropping off the first batch feeders at UPS&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The wonderful LumenPnP community has helped with an updated version of the feeder controller PCB, firmware tuning, and even hacking the slot interface to support other feeder types.&lt;/p&gt;

&lt;p&gt;We have around 80 feeders in use on our own production line across four LumenPnPs, and they make it feel like a brand new machine.&lt;/p&gt;

&lt;video width=&quot;100%&quot; preload=&quot;auto&quot; muted=&quot;&quot; controls=&quot;&quot;&gt;
    &lt;source src=&quot;/assets/2023-review/mobo-job.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;

&lt;p&gt;A few months after 8mm Feeders launched, we introduced the 12mm Feeder. We’re still experimenting with 16mm and 24mm feeder solutions, particularly in regards to peeling thick adhesive film from the tape.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/other-feeder-widths.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;The 8mm and 12mm feeders, along with 16mm and 24mm prototypes&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We also launched v3.1 of the LumenPnP, which has many DFM and user improvements, but mainly implements &lt;a href=&quot;https://thea.codes/&quot;&gt;Thea Flowers’&lt;/a&gt; &lt;a href=&quot;https://www.printables.com/model/278803-lumenpnp-linear-rail-mods-v3&quot;&gt;linear rail mod&lt;/a&gt;, allowing the machine to move much faster.&lt;/p&gt;

&lt;video width=&quot;100%&quot; preload=&quot;auto&quot; muted=&quot;&quot; controls=&quot;&quot;&gt;
    &lt;source src=&quot;/assets/2023-review/3_1-demo.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;

&lt;p&gt;I also spent a ton of time this year working on ads, mainly understanding how they work and what role they should play at Opulo. There’s a surprisingly large amount to learn and I was quickly humbled after diving into it.&lt;/p&gt;

&lt;p&gt;Lastly, we started the &lt;a href=&quot;https://shows.acast.com/ohm-podcast&quot;&gt;OHM Podcast&lt;/a&gt;! Lucy and I have been sharing some of the things we’ve learned shipping an open hardware product in podcast form, as most of these topics aren’t good YouTube material. It’s been a blast recording, and it’s been interesting working on something on-mission that isn’t shipping a physical object.&lt;/p&gt;

&lt;h3 id=&quot;events&quot;&gt;Events&lt;/h3&gt;

&lt;p&gt;Every year I hope for a calm, productive year in Pittsburgh, and every year I find myself traveling thousands of miles for various events. I already have three lined up for next year!&lt;/p&gt;

&lt;p&gt;In late April, &lt;a href=&quot;https://www.jadenandrea.com/&quot;&gt;Jaden&lt;/a&gt; and I went to &lt;a href=&quot;https://www.neotropolis.com/home&quot;&gt;Neotropolis&lt;/a&gt;, a cyberpunk-themed immersive festival in the Mojave desert. It was a fully-fledged LARP event; you were obligated to be in costume throughout the festival, and were expected to be in character throughout as well. After a brief adjustment period, I fell into my alter ego and loved the experience.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/rpg.jpg&quot; alt=&quot;stephen with RPG prop&quot; /&gt;
&lt;img src=&quot;/assets/2023-review/neo.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Jaden brought her van and Vardo trailer along, which was an awesome look with the cyberpunk theme.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/vardo-desert.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;The Vardo next to MegaBlock1, a two-story city block the Neo team builds in the desert.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/vardo-mb1.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Vardo installed in our faction’s cell in MegaBlock1&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Then, a four-day cross country trip back home.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/vardo-tow.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In July was &lt;a href=&quot;https://opensauce.live/&quot;&gt;Open Sauce&lt;/a&gt;. Earlier in the year, William Osman reached out to me about attending a weird new event he was planning, supposedly a cross between VidCon and Maker Faire. And that was exactly what it was.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/open-sauce.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Adam Savage’s Keynote&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I hacked a LumenPnP to draw portraits, and set it up at the event so passerby could simply press a button and have their visage plotted on the machine.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/portraits.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;video width=&quot;100%&quot; preload=&quot;auto&quot; muted=&quot;&quot; controls=&quot;&quot;&gt;
    &lt;source src=&quot;/assets/2023-review/plotting.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;

&lt;p&gt;Meeting dozens of other creators that I deeply respect and having the opportunity to have extended conversations with them was definitely the highlight of the event for me.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/os-creators.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Bunch of creators after going out for Thai food&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/oshw-founders.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Got to see Ryan from V1 Engineering, the Maslow team, and Chris from Sienci Labs&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/opensauce-packing-up.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Packing up after the event&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Lastly was Hackaday Supercon! I have &lt;a href=&quot;https://www.youtube.com/watch?v=WyutXrfXc24&amp;amp;t=19s&amp;amp;ab_channel=HACKADAY&quot;&gt;given a talk&lt;/a&gt; there before, but this year it was really lovely not having that added stress and instead being able to just enjoy the event. The best part of Supercon is just hanging out with a bunch of intelligent, interesting people.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/maggie-thea.jpg&quot; alt=&quot;Maggie, Myself, and Thea&quot; /&gt;
&lt;em&gt;Finally getting to meet the wonderful Maggie and Thea in person!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I also spent a week in Denver with LumenPnP developer &lt;a href=&quot;https://github.com/Jnesselr&quot;&gt;Justin Nesselrotte&lt;/a&gt;, working on some feeder protocol updates and checking out &lt;a href=&quot;https://denhac.org/&quot;&gt;Denhac&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/justin-denhac.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;web-tooling&quot;&gt;Web Tooling&lt;/h3&gt;

&lt;p&gt;This year I became obsessed with little single-page web tools. Github Pages makes deploying a website so insanely simple that making a tiny web service is such a great, quick solution to a lot of problems.&lt;/p&gt;

&lt;p&gt;The crown jewel of this year’s sites is definitely the &lt;a href=&quot;https://config.opulo.io/&quot;&gt;LumenPnP Config Tool&lt;/a&gt;. Input the number of unique parts your SMT job has and the tape width they’re in, and the site will calculate the optimal configuration of powered and strip feeders, and even &lt;em&gt;render the layout of the config in a 3D model&lt;/em&gt;. Figuring out how to optimize the feeder configuration was a great challenge, and I really enjoyed toying around with Three.js.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/config-tool.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I also created &lt;a href=&quot;https://opulo-inc.github.io/pays-for-itself/&quot;&gt;a tool that tells you when a LumenPnP purchase pays for itself&lt;/a&gt; (still in progress), a &lt;a href=&quot;https://opulo-inc.github.io/oshw-tools/&quot;&gt;site outlining tools for open source hardware&lt;/a&gt; (still in progress), and this website you’re on right now, along with personal sites for a number of friends.&lt;/p&gt;

&lt;p&gt;Just recently I began work on a WebSerial based tool for configuring and debugging your LumenPnP, meant to aid in setup and troubleshooting. I’m also looking into ways of standardizing some of the tools I’ve developed for exporting and rendering the Bill of Materials for an open hardware project, and I think a little web viewer might be included.&lt;/p&gt;

&lt;h3 id=&quot;personal-projects&quot;&gt;Personal Projects&lt;/h3&gt;

&lt;p&gt;Despite the frequently overwhelming responsibilities of Opulo, I managed to squeeze in a couple projects just for fun.&lt;/p&gt;

&lt;p&gt;This summer I designed and built &lt;a href=&quot;https://github.com/sphawes/gradientbloom&quot;&gt;Gradientbloom&lt;/a&gt;, an open source alternative to &lt;a href=&quot;https://lorre-mill.com/spectrabloom&quot;&gt;Spectrabloom&lt;/a&gt;, which is a simple array of red, green, and blue point-sources of light meant for cool color mixing visuals.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/gradientbloom.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The original is just three LEDs on dimmers. My version has a microcontroller on board, and each of the three LEDs are fully RGB themselves, leaving a lot of room for cool animations and patterns. I designed it originally for my cousin, but ended up making a few more for friends and family.&lt;/p&gt;

&lt;video width=&quot;100%&quot; preload=&quot;auto&quot; muted=&quot;&quot; controls=&quot;&quot;&gt;
    &lt;source src=&quot;/assets/2023-review/gradientbloom-demo.mp4&quot; type=&quot;video/mp4&quot; /&gt;
&lt;/video&gt;

&lt;p&gt;I got (re)chipped this year! I had an xEM RFID tag implanted in 2014, then removed in 2019 to make way for this new one. Now sporting proper NFC, my xNT tag is readable and writable from my phone. Lots of projects in the pipeline next year using the chip!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/chipped.jpg&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Jaden and myself, freshly chipped!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I’ve also started work on a new open source project. My ATH-M50xBT2 headphones are wonderful, and have served me well for around 5 years of heavy, daily use. However, they are quite frankly beat to shit, and I’m about 5 repairs deep into them. I want headphones that are easier to fix, and without having to rely on Audio Techinca for replacement parts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The PheadHones&lt;/strong&gt; (I love &lt;a href=&quot;https://en.wikipedia.org/wiki/Spoonerism&quot;&gt;Spoonerisms&lt;/a&gt;, I know it’s a stupid name, dont @ me) are fully open, over-the ear, Bluetooth headphones with support for wired connections. Right now I’m just building them for myself, but they’ll be fully documented and are designed with the Opulo-ethos of easily accessible, off the shelf parts.&lt;/p&gt;

&lt;h3 id=&quot;2024&quot;&gt;2024&lt;/h3&gt;

&lt;p&gt;As Opulo grows and the stress of maintaining it increases, I’ve been learning some tough lessons about how to manage my time and sanity. My main focus is to keep stepping on the gas, so figuring out how to do that in a sustainable and reasonable way has been a core thought. There’s still a lot to do.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/2023-review/rev05b0-render.png&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;Render of Beta 0 of the next revision of the LumenPnP motherboard, being fabricated as I write this!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I’ve got a ton planned for this year. Lots of content around the details and thorny roadblocks with certifications, and getting back to making videos on a regular cadence. Plus, a new and exciting project that unfortunately I cannot yet share. Lots of cool stuff coming up this year, and I cannot wait to dive in!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Mid-Scale Manufacturing</title>
   <link href="/level-2-manufacturing/"/>
   <updated>2020-02-27T00:00:00+00:00</updated>
   <id>/mid-scale</id>
   <content type="html">&lt;p&gt;After I finished shipping the Glowtie Kickstarter, I had a conversation I had with my friend &lt;a href=&quot;https://alexmadinger.com/&quot;&gt;Alex Madinger&lt;/a&gt; about the different “levels” of making (and selling) a product. We defined them as follows:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Level 1 - Someone at home in their pajamas making something on a Saturday morning with tools and materials available to someone with a hobbiest budget.
    &lt;ul&gt;
      &lt;li&gt;Scale: 1-100 units.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Level 2 - Someone using some outsourcing and some in-house fabrication techniques to make things at a much larger scale, representing a sizable amount of money and effort.
    &lt;ul&gt;
      &lt;li&gt;Scale: 100-5000 units.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Level 3 - Traditional mass production, hiring a contract manufacturer and getting things made at a factory, most often overseas.
    &lt;ul&gt;
      &lt;li&gt;Scale: 5000+ units.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of these three, Level 3 is how almost everything you own is made. Huge factories making parts by the thousands or millions, with a huge supply chain and logistics team. Processes like injection molding and pick and place machines that allow things to be manufactured at a breakneck speed, but with an upfront cost that only justifies their purchase at absurd quantities. And that’s how consumer products were made since the First Industrial Revolution.&lt;/p&gt;

&lt;p&gt;In the last decade or so, we’ve hit this beautiful point where anyone can prototype anything in their apartment with PCB mills, low-volume PCB orders, FDM 3D printers, free CAD packages, and a ton of other recent changes in the market.&lt;/p&gt;

&lt;p&gt;But in between? It’s a no-man’s land.&lt;/p&gt;

&lt;p&gt;The wave of “desktop-ifying” industrial machines takes an expensive technology (Level 3), and make it cheap and accessible (Level 1). Making plastic parts used to only be a Level 3 technique with Injection Molding, but now we have cheap FDM machines that let you make them at Level 1. What about Level 2? What if you want to make more than 5, but less than 500,000? Do you empty your bank account for an injection molding die, or buy a bunch of printers and run them nonstop? Either way it’s a stretch. There aren’t great solutions to take a prototype to the next level of scale, without biting the bullet and going straight to full scale Level 3 techniques.&lt;/p&gt;

&lt;p&gt;As a quick aside, I’m not considering software in all of this. The difference between making an application for one person versus 100,000 is relatively small, and can easily be scaled up with awesome services like DigitalOcean or AWS. Of course I’m oversimplifying, but in comparison to hardware, the Level 2 gap is satiated pretty well in the world of software.&lt;/p&gt;

&lt;p&gt;So, what are the fabrication techniques that still have this Level 2 gap? Plastic parts for sure. Things like &lt;a href=&quot;https://formlabs.com/3d-printers/form-cell/&quot;&gt;Form Cell&lt;/a&gt; adapt additive for Level 2, but it’s at a Level 3 price point. It only really makes sense for bulk custom parts that traditional Level 3 techniques don’t account for like Injection Molding, like in the case of &lt;a href=&quot;https://gillette.com/en-us/products/custom-razor/razor-maker-norse&quot;&gt;Gillette Razor Maker&lt;/a&gt;. You can &lt;a href=&quot;https://youtu.be/xX3pDDi9PeU?t=1408&quot;&gt;pull a Prusa&lt;/a&gt; and set up a bunch of FDM machines for mass production, and while that’s pretty viable, it’s not tremendously automated. Lots of techs are necessary to run, monitor, and remove prints. I think the current best thing is outsourced urethane casting. It has a very low upfront cost while maintaining a pretty cheap per-unit cost that makes it a great choice for Level 2 sized production runs. While this works, I think there is still room for growth in this area.&lt;/p&gt;

&lt;p&gt;Another area that has a Level 2 Gap is PCBA assembly. This was the real pain point for the Glowtie Kickstarter. I soldered almost 3000 components by hand (the Level 1 approach), but having a board shop assemble them for me was prohibitively expensive, time consuming, and risky if they fabricated them incorrectly (the Level 3 approach). There was nothing in between to speed things up, but not cost a ton.&lt;/p&gt;

&lt;p&gt;Lastly comes organization and logistics. How do you track stock, production rates, and yield? Kanban ordering/fabrication of parts? When you’re only making a few of something, it’s easy to keep track of how many boards you have in stock. When you’re making hundreds of thousands, the Contract Manufacturer can own supply chain and stock management. But what about Level 2? How can you easily track stock flow and production at larger quantities without paying someone to handle it full-time?&lt;/p&gt;

&lt;p&gt;There is space for growth here. People with an idea and a working prototype shouldn’t have to refinance their home to start selling their product. There should be tools and processes in place to allow someone to move past Level 1 without having to take such a risky leap of faith.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The Absurdity of Memorization</title>
   <link href="/the-absurdity-of-memorization/"/>
   <updated>2017-04-17T00:00:00+00:00</updated>
   <id>/memorization</id>
   <content type="html">&lt;p&gt;“Never memorize something you can look up.” — Albert Einstein&lt;/p&gt;

&lt;p&gt;My fourth grade math curriculum was comprised of mainly one thing: multiplication tables. Essentially all of the math-allocated portion of the day was dedicated to drilling a set of seemingly arbitrary sets of numbers into our skulls. After a couple months of training, one of my peers asked our teacher why it was necessary to memorize our multiplication tables. Our teacher responded with, “Well, it’s not like you’re going to keep a laminated reference sheet with you at all times!”&lt;/p&gt;

&lt;p&gt;So that’s exactly what he did.&lt;/p&gt;

&lt;p&gt;To my knowledge, twelve years later, he still has a laminated multiplication table reference sheet folded up in his wallet. This serves no practical utility (especially given the fact he was still required to memorize his multiplication tables), but he did it to make a point: you can always look it up.&lt;/p&gt;

&lt;p&gt;My fellow fourth grader laminated in defiance around 2004, but his point stands even stronger today. We each carry with us a pseudo-infinitely large “multiplication table” in our pockets at all times, leaving the modern need for memorization the smallest it’s ever been. Phone numbers, directions, conversion units, the air-speed velocity of an African swallow, you name it. Anything we can Google, we also efficiently eliminate from our brains.&lt;/p&gt;

&lt;p&gt;Of course, some things are still crucial to memorize, namely in the case of an emergency where an internet-connected device is unavailable. A few important phone numbers, your social, stuff along those lines. And sometimes it’s wildly efficient to memorize something you use on a daily basis. For example, it would be prudent for a scientist who works frequently with a certain chemical compound to memorize its molar mass, or other commonly needed characteristics. But 99.5% of information can be cleanly purged without ill-effects.&lt;/p&gt;

&lt;p&gt;I think this is fantastic. Intelligence isn’t a measurement of how well you can regurgitate information. Intelligence is a measure of what you DO with that information, and your creative solutions from a unique outlook. If we’ve built machines that are wildly efficient at organizing and indexing data, why bother trying to do the same? We should reserve our brain capacity for something only we humans can do: think critically. The information age isn’t making us stupid, it’s making it easier to be smart.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Keeping a Skill Index</title>
   <link href="/keeping-a-skill-index"/>
   <updated>2016-11-07T00:00:00+00:00</updated>
   <id>/skill-index</id>
   <content type="html">&lt;p&gt;I was recently asked, “What was the first thing you built that you were truly proud of?” My answer was an RSS feed aggregator I build in high school to get my feet wet with php, database management, cookies, etc. But as I was explaining the technical details of the project, I was surprised recalling what skills I had used to complete it. Granted, it had been four or five years since I had worked on the site, but this was slightly jarring to me. How many times had I neglected to consider that I had the ability to develop in some way, and altered my development stack because of it? I felt like this was unlikely; who actually forgets they have a skill? But I had clearly done it to some degree.&lt;/p&gt;

&lt;p&gt;This got me thinking about all the projects I had worked on. What went into them? What did I have to learn in order to complete each project? What are all the skills I’ve collected over the years? And most importantly, what are all the features I could incorporate into a hardware and/or software widget?&lt;/p&gt;

&lt;p&gt;So I counted.&lt;/p&gt;

&lt;p&gt;I opened a new note in Evernote and started listing. Software, hardware. App development, data storage and management, programming languages, libraries, APIs, methods of automation, bluetooth and wifi connectivity, development boards, all of it. After an hour or so, I felt like I had summarized my smattering of technical capabilities into a neat, hierarchal format.&lt;/p&gt;

&lt;p&gt;My first reaction was satisfaction. This document had become my “maker resumé.” All of my “just-for-fun” projects suddenly had a very practical result by adding a skill-set to my development toolbox.&lt;/p&gt;

&lt;p&gt;The second was potential. Patterns emerged while scanning this collection of seemingly non-related capabilities. And they were definitely not USEFUL patterns, but it got the gears turning. I started picking three random topics and trying to see how I could combine them. A script that tweets the first hit on Google Images of the word you’ve said most that day. A heads-up display that constantly shows you how many steps away you are from Reno, Nevada. A thermostat system that changes the temperature in accordance with the NASDAQ. Again, not tremendously useful, but a fascinating exercise in creativity. Seeing the possibilities of what you can create is an empowering feeling of possibility.&lt;/p&gt;

&lt;p&gt;If someone asks you if you’ve read Stranger in a Strange Land by Robert Heinlein, you know immediately if you have or haven’t. But if they ask you to tell them all the science fiction books you’ve ever read, that is a MUCH more difficult task. So, the point of this exercise wasn’t to help me remember what I’ve done. If someone asks me to build a web scraping app, I can tell them immediately if I can or can’t; my memory wasn’t the issue. The point of this exercise was instead to be able to see all the “science fiction books” I’ve ever read in one place for easy reference. To get the juices flowing. To see how any combination of these techniques could be used together. To keep possibility on the front of my mind.&lt;/p&gt;

&lt;p&gt;This becomes the most useful when brainstorming solutions. If a solution is simple, it becomes a “Have I read this book?” scenario. But if you’re attempting to solve a complex problem, looking at everything on the table gives you more context and perspective on ways to build a solution.&lt;/p&gt;
</content>
 </entry>
 

</feed>
