Startup 12: Smart Mailer

I built a tool very similar to this one as an experiment to see how much money I could bring in to a previous workplace by sending automated emails based on various criteria. The answer turned out to be millions and millions of dollars. This was a very exciting surprise which largely led to the direction I decided to go with my career and my choice to quit that job and get my MBA so I can get funding and start a large project around this idea.

It would be very easy to accidentally use this product in a way which violates laws all over the world. You MUST research the legal requirements in your jurisdiction before using any part of this product, and make sure you have unambiguous and clear consent as required by law before sending any emails to anyone.

I accept no responsibility for the misuse of this code, accidental or deliberate by anyone.

That Time I Found Millions of Dollars Under The Cushion…

Lots of businesses have lots of data. They may not know how to access the data or how to analyze it, or even that it could be valuable to analyze it, but businesses keep track of things like what customers buy and when. They keep track of things like how frequently a customer uses their services. They keep track of things like which products have particular behaviors and lifecycles.

They can’t help but keep track of these things. The question if whether it is possible to extract value from this data.

You’re Customers Are Getting Older.

Customers age. In business terms, this sometimes means that a customer has not been seen in a while or has not purchased any products for some time. A previous employer of mine had all the contact information for these people, but no free labor to perform outreach.

The answer was obvious. Send all of those people an email every few months, automatically. And it worked spectacularly. The percentage of customers who disappeared each month dropped right away, and kept dropping as more and more customers converted for new services.

Your Products Are Getting Older.

Lots of products have life cycles. Nothing lasts forever. If it did, there wouldn’t be opportunities for businesses. Analyzing past customer data and behavior can illuminate likely durations after the purchase of particular products when a customer may need another product.

Maybe it’s the same thing they bought before. Maybe some kind of tuneup. Maybe it’s something complementary. Find those patterns and determine when it’s the right time to remind the customer that you’re thinking about them, and don’t be afraid to send them a coupon. I literally wrote an automated email for one such pattern which simply said, “We’re thinking of you. Here’s a coupon.” It was one of the most successful campaigns we ever tried.

At my last workplace, this larger strategy of analyzing trends and incentivizing them when they’re coming up brought in tens of thousands of dollars a month in new revenue at absolutely no cost whatsoever. You write the queries and emails once and then they send automatically every day.

Your Employees Are Imperfect.

Employees make mistakes. Sometimes they try to cheat and steal. It can be easy to find these kinds of things in the data and automatically alert supervisors so they can look into it. This saves an enormous amount unnecessary oversight and regular inspections and investigations to make sure procedures are followed correctly. Simply write a query which finds the problem, and then have it send an email to a manager.

This simple concept eliminated multiple entire management positions at my last workplace and allowed those managers to work on more important things like growing sales and developing the team.


The Future

There are a lot of exciting directions this product can go in the future. This concept within my various projects has been under constant development for almost five years in one form or another. I am very excited to be able to share this concept as a product and to give others the opportunity to find the missing millions under the cushions like I did.

Startup 11: PHP TTS Webhooks

Smart Homes Are Pretty Great

I have very much jumped on the bandwagon with smart home products. I have smart lights, a smart fan, a virtual assistant in every room; mine is a very smart house. I have also gotten very into IFTTT and related functional services which integrate with these smart devices to make them even smarter and more interconnected.

Example; my lights turn red at sunset automatically each day. This is actually a very exciting and new possibility which confers enormous health benefits. With cheap commodity products and running no servers or custom hardware or software, I can easily create triggers in IFTTT which pull the sunset time from weather services automatically, and then toggle my lights to red exactly at sunset each day. (Hopefully it goes without saying that sunset is at a different time each day.) Imagine trying to do this a decade ago. It would have been ridiculously complex. Just look at my Arduino smart plug project for example, where I do it from relative scratch.

A Problem

There is one thing that still is not possible with any of the popular virtual assistants and smart home devices such as Google Home or Amazon Echo.

I can talk to Google Home or Amazon Echo all day, and they are happy to acknowledge me and do whatever I ask of them. But there is absolutely no way to make them reach out to me in response to some external trigger.

Example; my Ring Doorbell detects motion in the front yard, and I have my phone on silent. I will not know until I next check my phone that motion was detected. There is absolutely no built-in way to make my army of virtual assistants notify me of something like this. I could buy Ring’s official plug-in chime (which I did) but this should not be necessary when I already have little computers in every room which should be able to just talk to me. Thinking about this problem gave me lots of other interesting ideas about things I would like to be notified about. For example problems at work, time-sensitive emails from teachers, or any number of potentially important issues.

A Solution

I have a whole box of Raspberry Pi’s from old projects. With one simple command, I can make them say anything I want. I just need to install Say;

sudo apt-get install say

Then I created a simple PHP script which accepts webhooks and calls the say command. This is a little complicated to set up, but I have included all the directions on the Github page.

There is also a beta feature which saves the speech as an mp3 file, then casts it to the virtual assistants around the house. This means I can use IFTTT or other functional-paradigm cloud services to trigger my virtual assistants to speak to me based on external commands. It does mean I have to run a single piece of hardware; the Raspberry Pi. But I had to struggle to remember where I even plugged it in. It’s hard to notice.

There are all kinds of exciting directions this project can go in the future. There is no reason it shouldn’t be able to cast tv shows or movies from my NAS for example. The potential of this product is very exciting. I look forward to future versions, and I think this is one of the few cases where the product will outlive my Levels Challenge.

Startup 10: Astria

Astria represents an exciting new version completely from scratch of a web application framework I initially started over a decade ago. Astria manages database connections and allows rapid development of data-driven applications. It is very easy to create large and complex databases which Astria can serve as a simple JSON API, or as a complete managed web-based GUI featuring OAuth or Email authentication of users.

Astria also manages large sets of complex teams with equally complex permission structures and allows complex tracking and analysis of user behavior.

I have built simple websites in Astria, and even a complex front-end to a legacy CRM product for a multi-million dollar tech company which serves dozens of users and manages all daily operations for that company.

Perhaps the most exciting part about Astria is that it is exceptionally efficient and designed to scale indefinitely. It requires very little resources even under enormous workloads. It is also designed from the ground-up for sharding and distributed workloads. One server or one-hundred servers running Astria can balance any theoretical number of users and requests seamlessly.

Astria also makes it very easy to develop and deploy quality assurance tools such as outbound survey calls and emails. This feature is in operation at the tech company I mentioned.

A last point is the simplicity of marketing automation. I am spinning this part of the product off into another product which an upcoming post will detail. With Astria, is is trivially easy to run a query on a cron job to qualify a list of destinations for a dynamically generated email. This feature has created millions of dollars in revenue for businesses using this ability of the framework. Imagine all the types of customers you could send an email to automatically without needing to think about it. For example, “We haven’t seen you in six months. How are things?” The same can be done for the one year mark, and so on. This feature can also be used for internal development. For example, the system can automatically email users as well as their managers when particular types of behavior are detected. This can save time and money, and keep employees honest.

Astria is an incredibly powerful and versatile tool which can empower, protect companies as well as passively generating millions of dollars in revenue. Check it out and let me know if you are interested in contributing to this ongoing project!

The Levels Finish Line In Sight

As the finish line approaches, I have noticed issues with several of the older projects in the list. Maintaining them seems pointless unless I plan on actually using them, so I am removing some of the projects from production while I focus on completing the last items on the list. These will also have met with limited interest from test marketing.

Startup 9: What are you wearing today?
Startup 8: Stardate.Today
Startup 7: Top Story Review
Startup 6: Exotic Weapons
Startup 5: Condensr
Startup 4: CronPUT
Startup 3: Draupnr
Startup 2: RSI Alert
Startup 1: Securities Science

All of these are still available on Github if anyone wants to check out the code or clone and reactivate them. The RSI Alert project in particular has found a following and I’m sorry to disappoint the few dedicated users who are interested in this project. Feel free to fork the repo and take it over if you’d like! :]

Three projects left!

Startup 9: What are you wearing today?

Like many people, I am a student. I attend over a dozen classes at two different colleges. I also attend regular social events and networking meetups. I often wonder as I am dressing, is this the same thing I wore last time I went to the place I’m heading now?

It sounds silly, but it’s something I always ask myself because I want to make the right impression. This is further complicated by the fact that I am something of a minimalist, so I keep less than ten shirts at any given time and only a few pair of pants/ shorts.

I was talking one day to my mom about this anxiety I feel, and she emphatically agreed.

I decided to make a simple app to keep track of what I wear each day so that I can look back and see what I wore last time I was at a particular class or event and know not to wear the same thing again. It’s schmuck insurance.

Wearing.Today is the result!


The minimum viable product version of this app is not social; each user’s profile is private. Users can post pictures from a simple single-page app which also lets them edit each post’s blurb, or delete their posts.

Paradigm Shift

This app is written completely in the functional paradigm. I wrote it as a single page html/js application which is built to be hosted on S3 and take advantage of Lambda for the functions.

I did not actually deploy it there because I Don’t already have accounts with those services, and they don’t support my primary language, PHP. The point was not to actually do those things, but to rapidly write a simple, complete app in that paradigm and get a sense of the workflow and how to construct the API.

Startup 8: Stardate.Today

For years, I have calendared prolifically. (Is that a word?) I track all the granular details: my to-do list is on one calendar; all my classes and homework; my social life; gym, yoga and exercise; and previously my jobs at Tech 2u and Starbucks. Each of these topics is on its own color-coded calendar within Google Calendar. You can take a look at what my weeks look like at

There is a problem though. Sometimes I wonder what I accomplished on a particular day off or with my free time after work. I go back in my calendar to check, and there is nothing there; just a blank spot where I neglected to note the day’s events. It’s hard to quantify how well I use free time or time at work when I don’t have any record of what I accomplished. What if I could make like Janeway and just shout at the wall like it’s my journal?

Journaling always sounded interesting, but there’s no way I am going to lug around paper and a pen to write in it, and even if I did, it wouldn’t be searchable.

Enter Stardate.Today. This simple tool lets me type out my stream of consciousness into private posts, and then adds them to a timeline for me to search back through. They are also added to my calendar so I can see when each thing happened.

It takes just seconds to get started. Simply log in with google and you will be given a link which you can enter into your phone or any calendar tool. On the homepage, you are presented with a simple box to type in and a list of your past posts. When you enter a post, it is automatically added to your calendar.

Simple as that.

Startup 7: Top Story Review

This is part of a series on Building 12 Startups in 12 Months.

This is number seven:!

Black-Box News is Bad

If you look at the news on Google or Facebook , you will see a few stories which some mysterious algorithm has selected for you. Are these an accurate reflection of current events? No. These stories are often selected to confirm your biases based on your activity and search history. You are seeing the echo-chamber your digital context has created for you, because that is how these companies maximize for your attention in order capture your attention.

Facebook and Google use black-box algorithms to pick what you see. This means that not only is there no explanation of how or why your stories were picked, but there is no way even for the engineers to reverse-engineer the algorithm and see how or why it picked the stories it did.

It is very common to see stories featured as trending on Facebook which are false, or shared through other services. This effect has led to people doing horrible things based on false information presented as news by algorithms, like shooting up a pizza place or threatening and harassing the families of murdered children.

This is a problem for democracy and a problem for all of humanity. There has been much speculation that this has been a major contributing factor in the recent rise of populism in America and the results of the recent presidential election. Everyone should have access to concise, accurate snapshots of current events. My frustration with the lack of quality and lack of transparency in news aggregation services today led me to create an open-source alternative which omits biases and individual context.

But How?

This project expands on an experiment I started in high-school. I was trying to aggregate various high quality news sources and then determine what major themes were trending, and present that information in a useful way.

Back then, I started with fetching the “Top-Stories” or “Breaking News” RSS feeds from a few dozen newspapers around the US, and combining them all into a MySQL table and then doing word counts to determine which words stood out, and classifying those in order to build a list of general topics, then I displayed the most recent or most reputable source’s story for each of the topics.

There are several big innovations I have come up with over the years which I can now incorporate into this idea in order to maximize value.

The final product will be simple homepages for lots of topics with a few bullet-points, imparting a concise and accurate representation of the current state of events.

My Open Algorithm

  1. Pull in thousands of rss feeds from an open list of high-quality news sources all over the world.
  2. Analyze the stories to find trending topics using my open condensr algorithm.
  3. Get all the stories relating to each topic.
  4. Condense all of the stories on each topic down to just one sentence.

Step 4 expands on the work of groups like SMMRY and Reddit’s autotldr bot. My new Condense algorithm can summarize thousands of pages of text into just a sentence or two. This is obviously not perfect, but it is surprisingly good, and there is always room to improve later.


The basic structure of the site will be a home page which combines all topics, and then lots of individual pages for each category. The home page and each topic page has a bullet-point list of a few trending stories with one sentence summaries. These bullet-point summaries will eventually link to a story page with a longer summary along with links to recent reporting from various sources.

The algorithm runs every hour, and maintains an archive of all the pages, so you can also look back at what was happening at any certain time.

In effect, I am building a massive pipeline that takes in much of the world’s reporting and produces high quality condensed content which is much easier to absorb.

The Codebase

Here is the link to the codebase. It’s all there and basically you can just fork it and change anything you want. I think there is a lot of opportunity for this project to expand in interesting new directions.

Making Money

There will be an enormous amount of content created hourly, and that means lots of organic traffic. SEO and social integration will be critical. I will eventually include ads to monetize the content.

Startup 6: Exotic Weapons

Today, there are many fascinating examples of people using successful techniques to create passive income online.

Those of us who grew up coding and then took that perspective to business have a unique advantage. You might call it a super power.

We, the digital priesthood conjure passive income from the ether with the aid of new information technologies.

In this new blog, we will explore the ways in which engineers are the new pioneers and magicians, drawing the first maps of the digital frontiers we create and using esoteric knowledge to pluck money out of thin air.

All of the examples we discuss on Exotic Weapons will come with enough information to do it yourself. (And without the sales pitch.)

Startup 5: Condensr

This is a free tool based on several other tools I have seen online. It accepts long-form text and condenses it to the length you specify.

The code is very simple, and very powerful. I was shocked at how easy this was to build. Check it out on Github, or head over to the site and start condensing!

Next Steps

I have started initial development of an API, and I want to add a feed of things people have Condensed as well as a bookmarlet tool for condensing news articles.

Startup 4: CronPUT

This is part of a series on Building 12 Startups in 12 Months.

This is product number three: CronPUT!

CronPUT is a fairly self-explanatory name. Users log in with Google to sign up for an account and enter a list of webhook URLs, specifying an interval for each. At the specified time, a PUT request is sent to the URL. You can even see the result header code.

I maintain a dozen or so Linux servers. Keeping track of cron jobs for that many high-entropy webhooks is insane when they are all in different places and may or may not be working.

This product solves this problem by putting all your cron webhooks in one place.