AI for Business – the Disruption Kit

Until recently, the ability to distill meaning, patterns, and relative importance have been uniquely human tasks.

At SwiftCloud, the next generation of our code is built to  handle 9 billion human record datasets, i.e. the population  of the planet. While this may sound ambitious, it’s the inevitable outcome of any marketing software. Tech-heads like me see not just massive data as inevitable, but new correlations within it as beautiful, fascinating, and a land of limitless possibility.

As you can see in this video from Palantir, software is moving up the pattern-recognition and thus meaning-extrapolation quickly. Moore’s law means AI gets exponentially closer, not linearly.

It’s probably no secret to think every business on the planet will be affected by a transition to machine-intelligence driven decisions, and it’s happening faster than you think. This is the “internet in 1999” level close. Buy Intel Stock, because we’re all about to start consuming CPU time by factors of 10x or 100x distilling this data.

From a programming perspective, true intelligence is a solvable problem. It’s an input sent into a hierarchical decision tree which itself is a recursively self-optimized nonlinear weighted signals series of trees based on previous dataset multiplied by bias or values.

So by adding a testing mechanism of input and output data, any rule can quickly be recursively self optimized, further refined based on nonlinear value weighting.

Let’s walk through “what should I eat for lunch? – but the input question can be anything.. what stock to buy / sell / short / option, who to hire, etc.

Step 1: Pick a few signals and ballpark a weighted importance*

*In the real world, importance is usually nonlinear, usually following a few simple math equations (i.e. binary, exponential, logarithmic, etc.)

In the lunchtime decision, input factors include:

  • Procurement difficulty (time, effort…)
  • Health
  • Taste
  • Values (Vegan, etc.)
  • Cost
  • Social factors (eating alone? with a date to impress?)
  • Emotional status (stressed, depressed, or motivated and inspired to finally get that six pack?)

These are various priorities. If you have $50 in the bank, cost is a factor, but importance is logarithmic – having $50mil in the bank won’t likely change what you eat day to day vs. $5mil in the bank. Values like vegan are binary inputs – some foods are out.

Step 2: Create an Input-Output Feedback Loop

Here’s an example: In SwiftTasks, we monitor time-to-completion to estimate a given worker’s turnaround time based on task-category, weighted by previous accuracy scoring. In SwiftCRM, the overly optimistic sales rep who continually overestimates his closings by 83% will be discounted by 83% in the reporting to the manager / CEO.

This loop self corrects, as the sales rep learns from scoring, unless he/she is delusional. The goal of this loop is learning, and given more data, the simple average rule can be distilled with patterns – retail foot traffic following seasonal patterns, then later aligned with weather patterns from another dataset to predict store inventory needs or staffing requirements for the next 14 days. True AI for Business then chains this prediction to actual scheduling and inventory ordering. The inputs get increasingly automated, more accurate, and able to do more.

The loop is then closed when tied to employee time clocks and actual sales data to then correct the algorithm.

True AI for business will then consider other additional inputs on its own – traffic construction, macroeconomic data, marketing spend to get increasingly more accurate.

This is where more data is crucial, and independent small businesses and sole practitioners will be at a real disadvantage.

Capitalism is about to get even more polarized.

Step 3: Start Connecting Inputs (Signals) to Outputs (Automations)

Here’s where things get interesting – implementation. At SwiftCloud, we’re heavily into helping lead-gen businesses who sell offline (real estate, finance, etc.), so the desired output is quality leads. While ambitious business owners usually want to “floor it”, a healthier choice is to treat operational availability as an input, affected by lead time, which affects your media buys programmatically. Totally maxed out? Bring down your spend until you hire help, but the moment you hire help, kick it up again. While this is management 101, what’s new is the simplicity of managing these once the input (% of operational availability) is tied to the output (ad spend, thus affecting incoming leads and sales).

In staffing, things like someone updating their LinkedIn profile may be an indicator the person is thinking of leaving. Alone, it’s just one signal – but combined with others, say, anonymous candidates with similar skills, similar cities showing up online may correlate into an employee ready to move. If that’s your employee, trigger a retention script – conversations, bonus, personal attention, promotion, etc. – if you’re looking to hire, pounce quickly.

Step 4: Optimize toward Self-Optimization.

All this fancy sounding automation may start with a crude google doc, or hacked together php app at first – but any business can start moving in this direction, and profiting from it. For a while – maybe even a few years – you may be the connector, but you’ll have clear data on one side (the inputs), and easier controls on the other (the output).

Crafty coders (including me) can then connect beta software that starts in “Simulation Mode”. The software would calculate what it thinks should be done, and you can review, accept, decline, or be advised by it.

Important in any design is that the accuracy-score of each output can recursively affect the input-weighting, so that accuracy itself is another input into the meta-algorithm affecting the design of the primary algorithm.

We do this in the real world, via simple checks and balances, which shows up via disapproval, loss of money, discipline from parents, physical pain, etc. – a corrective input to modify the algorithm.

This is over simplified, of course, and the code will “fly off the rails” yielding useless data without things like value dampening and vector isolation, but if you’re still reading, you get the idea.

As the optimization loop flows through, any well designed system will become increasingly accurate, provided the signals are correct, and weighting starts at least in the ballpark.

Infants throw food on the floor (input), triggering an exciting and interesting reaction from parents (output), gravity, mess, leading to conclusions about their world, each of which builds on another. Auditory symbols are further symbolized into written symbols, leading to a hierarchy of ideas, when combined with value and bias, equal a human, whom we experience via input (approval experienced through a smile) based on output (a smile). While some believe in an ephemeral soul, it may well be we’re simply our “coding + a hard drive of experience”, and a soul could be simply a concept created by self aware intelligence uncomfortable with mortality. Self awareness and mortality are heady concepts to think a robot could comprehend – but that’s because humans are wired to predict in a linear fashion.

We might be in a computer already. Why not let our own computers do some of your work?


Startup Strategy: War Games

I love history, and find specifically war history fascinating. We are incredibly fortunate to be living in a time of relative peace, at least in the USA.

Yesterday, while both working and watching “WWII From Space“, a history channel special, my mind drifted to analogies of business.

One of the key turning points of the war was the U.S. effectively taking out the oil supplies, leaving german tanks and aircraft stranded. It wasn’t enough to have these incredible weapons – they were slightly worse than useless. They cost the germans money (resources – time and money that could have been applied elsewhere), so each tank, gun, ship, plane was effectively a mini project at a net loss.

Cash Flow is the life blood of a startup.

This is startup 101, but there are deeper lessons here:

  1. First, as Eric Ries pointed out, failure to create the code required is rarely the cause of death in a startup – more likely is failure to reach meaningful clientele. In war terms, the Germans made real progress in the invasion of the USSR, but failed to reach the critical oil fields in the balkans – and that one problem left them vulnerable.
  2. You need a Britain before you storm Normandy. You need a safe base (cash flow + feedback from clients) from to base your operations. Had Britain fell to the Germans, the US would have had a much more difficult time helping retake the continent. Even a tiny base of clients – a dozen in B2B software like us – can help mount an offensive against a well entrenched competitor.
  3. Tactics shape strategy, and strategy defines use of tactics. If you’re strong on customer passion, tapping into social media and referrals is sound strategy. Some industries (say, life insurance) are a lot less likely to get meaningful traction, at least until someone has something truly worth talking about. The germans started strong at sea (via U-boats), but the americans later overwhelming dominated the sky. Each played to their tactical strengths.
  4. Focus & Timing are critical in choosing what battles to fight. One well entrenched indirect competitor who dominates a certain space is leveraging their awareness into a core space of ours. Frankly, we’re not ready to fight that battle yet head-on, so we are flanking them by attacking from the side, i.e. building awareness over other messaging. Initially, the U.S. more or less ignored Japan, despite a direct attack at Pearl Harbor, choosing to mostly focus the beginning of the war on Europe.
  5. And last, a single massive 10x improvement can end the war – for a while. The A-Bomb capped of the war, effectively, even though the tide had already turned. A single massive disruption, with application and consumers who know about it, can kick your startup into the hockey-stick growth curve every entrepreneur dreams about. If you don’t have enough mind-share and marketing for the disruption to buy you perceived dominance, cross the chasm, with enough of a lead on the competition, you’ll end up as Nikola Tesla (brilliant, but broke) instead of Thomas Edison (possibly a thief, but rich, and a hard worker).

I’m sure there are dozens of other lessons – comment below if you care to throw yours in.


Sales Automation Consultant

Recently, I was doing some sales automation consultant work designing a workflow, and it got messy.

“Messy” in this case means “ambiguous”, and that ambiguity in a sales workflow costs time and performance, since it then means reps leave leads in “stalled” status, unclear as to what, precisely, to do.

“Stall Status” is as important in sales automation
as is zero in base 10 mathematics.

By distinctly clarifying, we can help engineer success, and create a platform for useful, powerful, and effective sales automation. Below is a series of steps that may help you work with any sales automation consultant – and these are not respective to any tool.

Paper & Pen is the best tool here.

And a few colored highlighters.

  1. First, map the steps of your general sales flow from “prospect” or “suspect” – someone who you think is a good match, but may have not even raised their hand and said they’re interested, through to paid, closed and referring you business as a raving fan.
  2. Add in the possible outcomes (i.e. left voicemail, and thus trigger a loop to call back 3x or 5x or 20x), also things like interested or not interested, need to sell an additional stakeholder (i.e. wife, husband, biz partner)
  3. Separate previous-dispositions from the next steps. In Swift CRM‘s configuration files, we have “stall status” as one possible outcome – file does not advance, client didn’t answer phone, didn’t review proposal, etc., so that disposition then triggers a loop – call back in a few days or pre-scheduled time. Currently, our CRM / sales automation software is configured on
    1. Next Steps – General steps to the sale – i.e. initial call, needs assessment, product-needs fit, verbal commit, paperwork, closed transaction, etc.
    2. “Stall Status” – some outcome happened that did not advance the file i.e. left voicemail. This is an outcome, but needs to be tracked – but it stalls the sale. Frankly, stalled sales is why you need a CRM, but it’s usually part of the game for any sale over a few hundred dollars.
    3. Simple “goto” style commands – if the prospect got the proposal, is she qualified and interested? Stuck on price? Ready to apply? If you don’t know your best next step, your sales reps have to slow down and invent their own flow. Our XML is simple logic like “goto 200”, but you just need to always clarify what is the next step. If there is no next step, then it’s move on to the next deal, or work on marketing.
    4. Note contextually relevant needs – usually the calendar. If a callback is requested, the specific date to call back is immediately scheduled. Looping call backs, with attempt-number-logging, can be built in – i.e. try 5x then abandon lead, which gets escalated to company “shark tank” anyone can later take over and is also incubated via email.


By clarifying previous disposition (left voicemail, 3rd attempt) from next step (confirm contract receipt) and “stall status” loop-triggers (deliverable X is not yet ready, credit repair, gathering funds, etc.) you can help your sales team close more deals.


Our deep philosophy at SwiftCloud is that software should conform to human patterns, not the other way around. Whether you call your clients “patients” or “borrowers” or “patrons” is how your software should look to you – and this includes the sales flow. Whatever your culture, don’t make your team conform to software.

How to solve messy startup code in tech startups

The short answer: Don’t. Not right away.

As the Navy Seals say, get comfortable with being uncomfortable.

The longer answer: Wait until your audience validates what you’ve created. Features and single pages can also be looked at as a minimum viable product.

When Twitter launched, it famously had serious uptime problems. The core app was whipped together in literally a weekend, using Ruby on Rails. As usage grew, they stabilized, cleaned up – and tweaked direction using real-world use data.

At – my startup – and more specifically, SwiftCRM and Swift Marketing, my CTO / lead programmer is frequently not happy with the specs given, and/or code that has a bit more duct tape than he likes.

For better or for worse, this is startup life. Perfect is the enemy of done. Slap it together (provided you’re not leaving security holes and/or destabilizing core functions) until your clients are truly getting value.

If everything seems under control, you’re not going fast enough. — Mario Andretti

As the audience grows, code will get rebuilt and refactored for stability and real-world needs. In other cases, the UI and needs evolve after some real-world use, and everything gets tweaked anyway.

Buffer aims for about 10% of their time to be spent on refactoring, and I think that’s a good loose guide. More practically, it gets balanced into priorities, and when we refactor, it’s usually for a specific reason – to make things higher performance (i.e. faster to the page), add features, solve a bug or mis-configuration, etc.

After we’re clear the function is valuable, and in use, and not likely to change much, only then do we go back and develop the nice clean waterfall style specs every coder dreams of.

How to Get Traffic to Your Blog

I’m in the trenches of marketing all day, and recently was studying “guest posting” as a way to get eyeballs to content.

The super short & obvious version: Do the work.


  1. There are billions of pages of content on the web. Is what you’re writing different, better, improved in any way?
  2. In an era where computers write articles – even factual, researched ones (see this NY Times article for example), is it going to truly help humans?
  3. Trust is at all time lows – but in an era of paid fake reviews on Yelp, fake fiverr video reviews – can you blame people?

Increasingly, I dislike (and bail quickly on) opinion-based articles about sales, marketing… things I spend real money on – I want facts. Actual curated real-world results.

So – really, what makes your blog worthwhile? I get you want money. We all do. But what’s in it for the reader?

For B2C – consumer facing blogs, you are helping solve a problem, or tapping into already-existing passions (i.e. golf, cars, woodworking), solving a need (clothing, though that’s fortunately more of a “want” and is really more about looking good than actual utility in most cases). Increasingly – and with good cause – consumers demand faster, better, more obvious and more personalized results. serves you suggestions based on your search history. They do the work (technical programming) – and win the sales.

Is your blog personalizing content? Engaging the audience? It starts with value, which builds trust, and with trust comes engagement, and after there’s engagement, there’s multiple impressions, and in that, there’s money if you have a compelling offer.

You can’t skip steps.

For B2B, what makes blogs pop for me is hard numbers, not just opinion or untested hypothesis. Marketing is as simple as compelling offer + eyeballs of qualified buyers to it – so any theories about whiz-bang new widgets that promise to pour money into my wallet – but don’t have hard facts to back it up are, for me, usually in the “wait and watch for actual evidence of success” category.

For a business owner, wander down the dark alley that is Warrior Forum, and you’ll quickly get lost in a barrage of people trying to sell you stuff. Everyone’s trying to rush the sale, and convince you their Widget X is the single reason your wildest dreams aren’t already true.

As people get more jaded on the internet, Google updates from Panda to Penguin to whatever else designed to kill off spammy ways to short circuit the value algorithm, it keeps coming back to trust. Because Google can mine Chrome-user data for value (page-visit times), there’s no going back – you must create value, and any spammy super-link-pyramid blog-bait techniques will be short lived at best, and at worst get you delisted and/or damage your brand reputation.

Since most B2B is “attraction motivated” vs. “repulsion motivated” (i.e. going to the gym to get six-pack abs vs going because one has a few too many pounds around the waist), these people have a longer buying cycle, often require more evidence, and thus – back to it – trust.

If you sell something in the impulse range, say, $7, you don’t need much – but there’s a big difference between giving you a free and possibly junk email – and getting out one’s wallet or credit card and even giving up a penny. As the dollar amount goes up, the trust required goes up – a $2,000 or higher purchase most people are going to research, check reviews… and require trust.

And where does the trust start?


Do the work, and you’ll get the traffic.