Moving Shipping back to San Francisco
For a long time we were shipping from Massachusetts, because our employee John moved out there. For the most part that worked extremely well – John did a great job handling the shipping and assembly, and keeping the sales related customer emails off our plate.
However, as time went on, it was clear that this was not ideal – inventory would get reactive rather than proactive attention. It was hard to try and really solve that problem when the inventory and assembly were out of sight. We also couldn’t work on making the assembly process more efficient. I brought it up with John and he decided that he wanted to move on in his carrier anyway, so it would be an ideal time to transfer shipping back to San Francisco.
As we took over the job of assembling Logics, it was clear that manually putting the screws in was not a great way to do it. I searched around the internet and found these guys: http://www.expressassembly.com/. It was a happy day when we got the electric screwdriver. That worked really well for a while, but it had a “slip/cushion” clutch which would expose the screw head to some pretty high forces. This turned out to be damaging the head (cosmetic damage). We upgraded to a super nice DC screwdriver; it’s really a joy to use. We also stopped short of getting one that auto feeds the screws – that would be awesome, but it would take forever to pay for itself at our volumes.
We also got an air compressor to dust things off (e.g. dusting off the Logic or Logic16 before putting it into the bags). We also polish the Logic16 cases, but we found that a lot of the time was spent trying to wipe away fine lint and that sort of thing, and air was the way to go. For a while the thing was constantly leaking, limiting the pressure to about 30 psi and forcing us to turn it off whenever it wasn’t needed. But after I got some cool teflon tape for the threads it holds 100psi in the line all the time, which is awesome – always ready to go.
As soon as we agreed with John that it was time to move shipping back to SF it was very clear that our ~300sqft space literally would not hold all the materials, even packed to the ceiling. We had, only, early that year (2011), upgraded from only 150 sqft and had thought at the time that the new 300sqft was enormous.
At first we wanted a full blown warehouse, 2500+sqft with a rollup door you could drive into – but really, we wanted it also to be Tony Stark garage style — glass and pristine white concrete. It became pretty clear that that pretty much didn’t exist, and certainly not in the sqft that we could afford. I kinda feel that we’ll have to build our own building to really get what we’d like.
The broker happened to rep some traditional class A office space, and that’s what we went with. Just under 1000sqft – there were much larger suites – wide open space with wrap-around windows, but ultimately I couldn’t justify blowing an extra couple of grand a month as cool as it would be.
The building is a little older, and it shows, but otherwise it is a pretty nice building. While moving, we learned that, no, you cannot fit a pallet jack in the elevator. Other than that, its worked out really well.
We rented a Budget truck with a gate lift for the move, which worked well and was fun.
Of course, we immediately got more stuff for the office – the two back rooms got two Uline roll-around wire shelves, and two nice Gladiator workbenches; I really like them. One room is “assembly only” and the other is “shipping only”. It’s working out pretty well so far. We got a bit more Ikea desk space for Mark, a nice Uline hand truck (for the move), and right now we have some more Gladiator workbenches on order for a super nice electronics workstation.
We also got a bunch of artwork style stuff for the office: VFR charts, nautical charts of Hawaii, the US West Coast and San Francisco Bay, and some original Apple posters from eBay.
Oh, and if it’s game day, forget about coming to work, the place is overrun. The 49ers stadium is just down the road.
If someone wrote some sort of web script that kept track of our “out of stock” status over the life of the company, it would be clear that we have issues. Now, after quite a bit of code and synergy with other efforts, I’m happy to say, with some confidence, that things are properly being managed.
First: QuickBooks. I’ve always used QuickBooks, but only in a minimal way – enough to do taxes, print the occasional quote, that sort of thing. Doing it that way makes you think QuickBooks sucks. After doing a bunch of research into how we might be able to track inventory, we decided that using QuickBooks fully – in the way it was meant to be used – would be the way to go.
However, QuickBooks isn’t exactly the greatest thing for inventory, it’s quite rudimentary. The challenge was to make it work for us; going to a different accounting program, or trying to bolt on some 3rd party tool seemed like a riskier proposition.
QuickBooks + Website Integration
I wrote a C# application that pulls in sales data from Mark’s new website (more on that below), pulls all relevant data out of QuickBooks, and then actually creates Sales Receipts for all the online orders. It even goes back to check if anything changed and it updates the relevant Sales Receipt in QuickBooks. If orders are in the system that haven not yet shipped, it creates a Sales Order for that. It then mines QuickBooks for the current inventory of every last part, adds up the products that have been ordered in the last 90 days, and creates daily demand estimates for every last part.
From a custom field in QuickBooks, the app grabs the lead time for the part (often a number like ’75 days’), pads it with another 30 days, and reports “how many days until reorder” for each part. It takes into account parts that are already on order (open Purchase Orders), as well as orders that have been placed but not shipped yet (open Sales Orders). I love it!
You will know when you need to order, but will you have the cash?
What’s great about the system is that it’s not a huge step to project – over the next, say, 6 months, how much cash each month will be needed for purchases? Guess what? It varies widely. For example, if things lined up just right you could have to place orders for every last part in a single month. Another month you might not have to place any orders. That’s a huge difference in how much cash you better have floating around.
One of the great things about this is that now our books are always up to date. Before, inventory costs (COGS) never really lined up with sales for any given period (other than for a full year) and so gross margins were meaningless. So FINALLY, we have full insight into the company’s financial performance. What’s often the most interesting is Cash Flow, which tells the story of why, exactly, there isn’t as much cash in the bank as you’d like. Net Income is what you pay taxes on, but this includes, among other things, changes in inventory levels, and changes in accounts receivable – making it an awfully messy number for anything practical.
The next step – Budgets & Projections
My next job is to generate sales and inventory purchase projections. The plan is to automatically dump a bunch of projections in Excel – sales, inventory purchases, shipping costs, etc. Then, on a different sheet, manually enter the budget for overhead items – salary (being the biggest), rent, marketing, random tools, prototyping, etc. The idea is to get, as accurate as possible, a cash flow forecast for the next 24months. Based on that, we can decide – with some level of confidence – how much we could safely afford to allocate to new hires, as well the impact that loans or funding might have. QuickBooks apparently has some budget and budget vs actuals capability, so I’ll look into that as well.
Mark has been working for months on the totally new Saleae website; it actually launched last month. You probably didn’t notice because it looks pretty much the same, but under the hood, it’s entirely different. There were a number of reasons why we wanted to re-architect the website from scratch:
- The old shopping cart experience was lacking.
- We wanted a fully on-site checkout so we could control the UX.
- Needed discount code capability
- Needed better shipping/fulfillment automation system
- Needed a solid foundation to add new website features (database and ajax driven stuff)
- The old site was implemented by me and was a hodge podge mess of php files. We needed a clean, maintainable, and organized codebase.
- We wanted the flexibility to integrate seamlessly with some 3rd party web services we’ll be adding, as well as potentially create our own when there was a gap.
Hosting on Amazon+AppHarbor
The new solution is ASP.NET MVC, which is a particularly good web platform. It’s hosted in the cloud on Amazon through a service called AppHarbor which offers a painless way to host .NET sites/apps in the cloud. Azure, as much as we wanted to like it, was too painful to use. AppHarbor is awesome!
New Shopping Cart features
- Zip code based calculation of UPS Ground ship time
- Autopopulation of city and state based on zip code
- Full on-site checkout (Paypal and Google Checkout are still options)
- Get a formal Quote right from the shopping cart
- Ship UPS on your account number
- Promo-code support
- PDF order receipts
- Support for VAT
- Support for future shipping methods such as UPS International, etc.
We’ve tried to make checkout as frustration-free as possible.
One button ship
- The system will flag any order that has anything at all that’s wrong with it, allowing you to fix it ahead of time.
- Press the ship button. This launches a desktop application. 1. The orders are grouped by type.
- One group prints out at a time – labels and receipts.
- After each order is packaged, it’s scanned, the system charges the order, and it sends the tracking number to the customer.
- After a group is finished, the next group automatically prints out.
- Orders in the EU will automatically be checked for issues, and then submitted to the EU early in the morning allowing more EU orders to ship same day.
I’m constantly struggling in my head with what we ought to be doing and in what order. We have all these awesome product ideas, but the idea of launching those products with crappy community support, and crappy web systems, and poor marketing is not really my style. I don’t know; this is why I probably should get some advisors.
As I said, we’re very close to finally having a good cash flow forecast. We think we can probably afford at least one more person. There’s a big difference in pay between a full time experienced EE and a part time intern, and we’re thinking of going the intern and new-graduate route. A full time, experienced EE or CSE is like 120K+ in San Francisco. Add to that the employer portion of Medicare, other benefits, etc., and that’s one large pile of cash.
In addition, we have some cool plans for the future community site that we’ll be working on, along with a website refresh, and lots of marketing trials.
In the engineering arena, we need adapters to be developed and brought to the market, more protocol analyzers to be written, and a fairly large list of software features to be implemented.
And then there’s ‘the next big thing.’ We’ve been going back and forth on exactly what that should be – how long it would take vs how much of a market there likely is for it. There’s plenty else going on so we haven’t really decided. There’s also some key technologies we would need to prove out regardless of exactly which product we end up creating, so there’s plenty that can be done before making the final decision.
Right now we’re actively seeking Bay Area EE/CSE interns who want to work on some cool real world stuff. Send your resume and links to any cool projects you’ve worked on to firstname.lastname@example.org.
If you’re a recent graduate looking to work hard and make a huge difference at a little startup drop us a line as well.
We’re also looking to hire a great Office Manager to manage QuickBooks, ordering, shipping, and provide awesome customer support for the non-technical stuff. Part time. (Unless the ultimate candidate can only do full time). If you know anyone that would be perfect, please have them get in touch.
Mark and I finally got signed off so we can take out a little 24ft keelboat in San Francisco Bay. One of the times the wind was down and we were bored, so we had the great idea of launching Mark’s kitebording trainer kite from the back of the boat. This was not a good idea. Frankly, I’m surprised we recovered the kite. The outboard motor, in reverse, was in involved in the recovery effort. Sailboats under sail are not the most maneuverable things to be driving when attached to an immobile, slowly sinking kite.
Mark’s wanted to get a new car for a long while. First it was Honda CRZ, but as cool as this car looks, at the end of the day, it was too compromised – mainly on performance. He decided that he wanted the Mazdaspeed 3. So on a bit of a whim, we picked up a red one the day before Christmas and then drove it to Arizona just in time for Christmas morning at our parent’s house. It was a good time. Note that I am still driving a 2002 RSX-S, which is embarrassingly beat up, and I’m too much of a cheapskate (so far) to get it repainted. However, I did splurge and put down a deposit on this http://www.teslamotors.com/models
March 13th* Colbert Report*
We’ll be in NYC on March 13th, my birthday, to catch a taping of the Colbert Report. Hopefully we can visit Adafruit and some others while we’re there.
Local Community Involvement
Ever since he moved out here Mark has been super busy with hackerspaces, meetups, hackathons, you name it. Most recently:
- Drinks & Demos with SoundCloud and Retronyms
- Alt.NET “Dinner for .NET”
- Nerd Nite SF
- San Jose Electronics and Embedded Designers Meetup
- LTSpiceIV Seminar at Linier Technology
- Game Closure Art Opening
He’s also a regular at the Ace Monster Toys hackerspace.
Come by, meet Mark, and get hooked up with the highly collectable Saleae business card.
James joins the Team
Mark’s friend James has been helping us out a ton with assembly. He has single handedly built, tested and packaged hundreds upon hundreds of Logics and Logic16s over the past couple of months. It would not have been pretty without his help. James also has the job of making sure these blog posts get done every month, and actually posting them, including this one. Thanks James!
You’ve got a good chance of meeting James at one of the previously mentioned events as well.
I’m very happy to announce that we are currently in better inventory shape than we have ever been. All of our distributors are fully stocked, and we actually have several hundred units packaged up and ready to ship. There’s plenty more on order, too. In fact, our previously mentioned inventory software says that, as of right now, we’re not behind on ordering anything. I was a bit late ordering more Logic16 boards which might cause a gap a couple months out, but hopefully not.
**We’ve really wanted to do this for a long time – host a regular meet and great style for our customers and potential customers. The first was Thursday the 23rd of February, 7pm-9pm. We’ll have another one next month so if you’re in the Bay Area it would be great to meet you!
Next month on the 15th you can expect the next blog post. Otherwise please send your angry emails to email@example.com.
Old office, half taken apart.
This guy actually does a great job keeping the office tidy. At least the floor that is.
New scanner for automated shipping.
New screw gun and compressed air.
Temporary evidence that the new inventory system is working.
Snapped this photo when visiting Tesla Motors (Altium training). We later had some Tesla interns over and they informed us that this is Elon Musk’s (!) car.