Page 2 of 39

How to Build a Slackbot + Deploy an App to Heroku for Absolute Beginners

Back in ye olde days of the internet, there was IRC (Internet Relay Chat), a chat network with channels and servers for every microcosm in the world. Folks would make these little bots or services—they’d greet you when you joined a channel, played trivia, Uno and other chat-based games with you. Unfortunately, if you wanted to make one yourself, you likely needed some knowledge of Perl, client-server architecture and a handful of Unix commands.

Today, most will opt for a more aesthetic alternative to IRC. Namely, Slack—a chat-based team communication tool. The best part? You can create a Slackbot with substantially fewer roadblocks.

I’ll try not to make assumptions on the technologies you may or may not have on your machine here. So let’s go ahead and start from scratch. If you already have any or all of following downloaded, you’re ahead of the game!


1. Install Node.js and npm

Go to, Click ‘install’, and run through the install process.

You should be able to use the following:

curl -sL | sudo -E bash -
sudo apt-get install -y nodejs

More at

Go ahead the download the Windows binary

2. Create a Github account ( and download git (

3. Clone this repository by using the following command in your terminal:

git clone

4. Create an account and download Heroku on your machine

Pheew. Now that we have all that installed, on with the tutorial!


Add Slack Tokens to App

1. Go into your Slack group, click on the caret and then “Configure Integrations” in the dropdown


2. Under ‘All Integrations’ → ‘DIY Integrations & Customizations’, click on ‘Outgoing WebHooks’


3. The next screen should look like the following. Go ahead and click on ‘Add Outgoing WebHooks Integration’


4. Set the channel to the specific channel you would like your slackbot to be active on, and copy the corresponding token (Rest assured, we’ll be able to add our slackbot on multiple channels. We’ll get to that in a bit)


5. Open a terminal and navigate to the directory you cloned and use the following command to create your own file to store environment variables. You should note that your .gitignore includes this .env file.

cat .env.example > .env

6. Next, using a text editor of your choice, open the loudbot directory

7. Open .env and replace the contents of TOKENS with the token you copied from slack. Now I’d promised you could add loudbot to multiple channels. To do this, repeat the above steps to add outgoing webhook integrations for as many channels are you would like. Just remember to copy the corresponding tokens into the TOKENS list in .env.

8. To complete the SLACK_TOKEN field, we’ll have to revisit the Slack ‘Configure Integrations’ page. Under ‘DIY Integrations & Customizations’, there should be a service called ‘Bots’


9. Create a new Bot, name it ‘LOUDBOT’ and copy the ‘API TOKEN’ under Integration Settings into the SLACK_TOKEN field in your .env file.


Deploying Slackbot to Heroku

1.Next we need put loudbot on a server so it can constantly be listening and responding to our Slack messages.

2. Create a file entitled ‘Procfile’ without a file extension. This is the file that tells Heroku what commands to use to run your application. The contents of the file are a single line that should be the following:


3. Finally, in your terminal, within your loudbot repository, run the following Heroku commands.

heroku create

This will create a new heroku app (note you can only have a max of 5 heroku apps on the free plan). Git remotes are references to remote repositories and this command will also create a git remote you can reference as ‘heroku’ on the command line.

git add
git commit -m "my commit message"

These are git commands for that’ll help track your changes to the app. They will commit your changes to your local directory, in preparation for deploying your app to Heroku.

git push heroku master

This will actually push your app to Heroku.

And there you have it—your app is live. LOUDBOT learns from your shouting and you can talk with LOUDBOT in any channel it is active in using all-caps. Enjoy!


The Future of American Healthcare

Diabetes. Heart disease. Obesity.

These are terms that are as ubiquitous as their marketing counterparts: “Fat Free,” “Low Sugar,” “Heart Healthy.” While many people may feel desensitized to the names of these diseases, the reality is that overcoming these chronic illnesses is one of the greatest challenges faced by Americans today.

Where We Are Headed

Diabetes is a slow killer.  Afflicted patients experience skyrocketing healthcare costs. Medical costs for people with diabetes are twice as high as for people without diabetes. Just a handful of the complications of diabetes include blindness, kidney failure, stroke, amputations of the legs or feet, and heart disease, the leading cause of death in the United States.

Currently, more than 1 in 3 Americans are pre-diabetic. Without weight loss and moderate physical activity, 2 in 5 Americans are expected to develop type 2 diabetes within 5 years.

The percentage of children with obesity aged just 6-11 years old more than doubled from 7% in 1980 to almost 18% in 2012. Teenagers aged 12-19 experienced an even greater increase in obesity rates during the same period, starting at only 5% and jumping to 21%.

Obese youth have greatly increased risk for cardiovascular disease, diabetes, and even many types of cancer.

Where We Are Now

Departments and organizations are planning major initiatives to work towards bettering our citizens’ health. For example, the National Diabetes Prevention Program run by the Centers for Disease Control and Prevention is “an evidence-based lifestyle change program….that stresses education, dietary changes, coping skills, and group activities to help participants lose a moderate amount of weight and get at least 150 minutes a week of physical activity.”

Another program is Let’s Move, U.S. First Lady Michelle Obama’s personal campaign to “Raise a Healthier Generation of Kids.” Let’s Move provides educational resources hoping to promoting disease preventing lifestyle choices.

U.S. First Lady Michelle Obama delivers a speech on the first anniversary of "Lets Move!", a campaign to combat childhood obesity, at North Point Community Church in Alpharetta, Georgia, February 9, 2011.    REUTERS/Tami Chappell (UNITED STATES - Tags: POLITICS EDUCATION)

U.S. First Lady Michelle Obama delivers a speech on the first anniversary of “Lets Move!” REUTERS/Tami Chappell

Programs like these have their place in our efforts to combat chronic illness. However, take for example, the description from the CDC of its program as a “collaboration between federal agencies, community organizations, employers, insurers, health care professionals, academia, and other stakeholders.”

The reality is that many of the current programs involving large organizations and government agencies are hindered by inefficiency and their efforts are diluted by the interests of the many organizations involved.

Changing Our Trajectory

The best way to get effective healthcare and lifestyle education to individuals is not through bureaucratic programs.

The best way is through something many Americans are already extremely familiar with: web and mobile applications.

Web and mobile apps allow individuals extremely personalized, accessible, and reliable programs to make significant lifestyle changes. These applications pose substantial benefits over other programs because they have much broader access to users and better data collection, leading to increased customization and more effective results.

The validity of user applications in helping solve chronic illnesses is shown by the increasing number of startups in this space, often called “telehealth.”

For example, Omada Health provides an extremely interactive 16 week digital health program to help people develop and maintain healthy lifestyles. Their program utilizes technology and online communication to engage with its users in a very familiar way.


Omada Health Mission Statement Inside Their San Francisco Office

Omada’s key to success is an understanding that lifestyle changes made during the 16 week period are not sufficient for disease prevention; it’s crucial that these lifestyle are adopted for life.  The program provides continued support after the 16 week period.

Another example is Kurbo Health. Similar to Omada Health, Kurbo focuses on weight loss specifically for kids and teenagers.


Kurbo provides personalized health coaching and a mobile app targeting younger audiences with a simple and fun method to tracking diet. Kurbo reinforces long lasting health habits by avoiding restrictive calorie counting and promotes engagement with games and videos. Both factors are essential for younger users to adopt and maintain healthy lifestyle habits.


With their accessibility, usability, and familiarity, web and mobile applications are no doubt inextricably linked with the future of American health and wellness. 7 out of 10 deaths and the majority of health spending yearly for Americans is the result of chronic disease that is largely preventable by lifestyle factors such as diet and physical activity. While that is a grim statistic, if we continue to encourage innovation, growth, and success for startups disrupting healthcare, the future is nothing but sweet.

All facts, quotes, and statistics are taken from the Center for Disease Control and Prevention at

Free Mac Apps to Improve Productivity: Alfred

I’m obsessed with software, and I’m especially fond of simple Mac apps that make my life easier. Three of my most used Mac apps are Alfred, nvALT, and ClipMenu. They are all free to download, and using a Mac without these tools has become frustrating for me. In my next few posts, I’ll discuss how I use these apps and why they are essential to my workflow.

Alfred is an app launcher and more – it’s the easiest way to search for anything on your Mac and the web, and if you do buy the power pack extension, you gain more powerful features such as workflows, which let you execute almost any action from the keyboard. I use the free version of Alfred to:

  1. Launch Apps
    Alfred learns which apps you launch often and prioritizes them in the search results. For example, typing t results in a list where FaceTime, which doesn’t even start with T, precedes TextEdit.
    App Search Results
  2. Search for Files
    When I know the name of a file, I rarely open Finder to navigate to it. Instead, I type the space bar in the Alfred window, which signals that I’m searching for a file or folder. (You can also change the settings so that it searches for files to open without typing the spacebar or ‘open’ keyword). Typing ‘find’ in Alfred will open a finder window to reveal where the file or folder is located.
    Find feature
  3. Web Search
    Alfred comes loaded with web search options; for example, you can search Google, Twitter, Amazon, Youtube, or Wikipedia. I love being able to search Wolfram Alpha from my desktop. Don’t limit yourself to these websites; you can add custom searches to search or open any website. For example, I can search Netflix by typing ‘netflix’ into alfred. If you’re a developer, you might want to add custom searches to search documentation or APIs.Adding a custom search is simple. Visit the website you want to search and type a sample query. Copy the resulting URL and paste it into Alfred, replacing whatever query you used with {query}. Then decide what keyword you want to use when you use Alfred to perform the search.Netflix Search
    You can also use custom searches to open a particular website or page. For example, I’ve set up Alfred so typing xkcd opens a random xkcd comic.

    Custom Web Search

  4. Dictionary
    Typing “define [word]” opens the dictionary app. It’s the fastest way to look up definitions and synonyms.
  5. System Commands
    I don’t actually take advantage of this feature, but there are keywords for system commands such as emptying the trash, force quitting applications, and restarting your computer.

These are only the basic features that Alfred offers. Sure, Apple has improved Spotlight so it offers most of the basic features that Alfred offers, but it’s not nearly as customizable. Alfred is the first app I download on a new mac, and you should try it.

Surviving the [Culture] Shocks of Transition

Transition can be a daunting process to even the most veteran, and two months ago, as a 20 year old preparing for the craziest transition of my life, I was pretty daunted for the week ahead. I finished a life-changing semester abroad in Madrid, Spain on a Sunday, flew back home to the States on Monday, spent 5 days with family and friends at home, flew out to San Francisco and moved into my apartment on Sunday, and started my internship on Monday. That week I took 4 flights, crossed 9 time zones, lived in 3 cities, packed up my life twice and started a brand new job in a brand new city. In short, I transitioned, hard. But along the way I learned some lessons that have helped me land on my feet through the three culture shocks I have gone through recently that I will share, along with some of the stories behind them.

Three culture shocks:

  1. The “Original”: Home to Madrid
  2. The “Reverse”: Madrid to Home
  3. The “Not-In-Kansas-Anymore”: Home to San Francisco


 The “Original” Culture Shock

Moving to another country where I had no preconceptions – read understanding – of the culture and only an elementary grasp of the language was simultaneously terrifying and exhilarating. When I finally stepped off the plane, euphoria supplanted the apprehension with which I had boarded 9 hours prior. First thoughts: I made it. Is this real life? Let’s do this.

1: Ask for help

With luggage in tail, I made my first mistake abroad: taking the metro system with 5 months’ worth of luggage, without asking directions. 2 hours later, I ended up on the opposite side of the city with a broken roller suitcase and in a sweat. Finally, the image of a lost foreigner carrying a heavy roller suitcase while wheeling another got a kind metro worker to ask in broken English if I needed help. (Yes, she could tell immediately.) Exhausted after the flight and frustrated by the entire situation, I relented. She helped me onto the train, marked a map with the necessary stops, and sent me on my way with a smile. Without her help I would probably still be wandering about the metro system trying to find my hostel. If I had accepted how clueless I was and reached out for help from the beginning, I could have avoided the whole Madrid metro saga.

2: Pick up your hobby again

Settling into Spanish life was hard: new family, new language, new school, new food, new friends, new city. Everything was new. The only consistency seemed to be the house and host family I lived with, who exclusively talked to us in Spanish. I struggled adjusting to the new until I decided to bring back a part of the old. I had played on a pickup soccer team at home and decided to find one there in Madrid to try and revive a small part of my life from before I crossed the Atlantic. I joined a team through the university, started playing twice a week, and felt better almost immediately. Working soccer back into my routine gave me a sliver of familiarity that had a positive rippling effect throughout my experience abroad. Finding and pursuing that hobby brought a sense of calm consistency during the shock of transition.


The “Reverse” Culture Shock

One of the strangest parts of my study abroad experience was readjusting to the place I grew up. After 5 months of not tipping in restaurants, speaking Spanish daily, and pronouncing the city in Spain as Barthelona, switching back to paying 20% more than the posted price, getting shocked looks when you start speaking Spanish fluently, and being corrected that the city is actually pronounced Barcelona was another big transition. First thoughts: So many American accents. I’m going to forget all my Spanish. At least I’m home.

3: Accept that things are no longer the same

Between leaving home January 4th and returning June 1st, I underwent incredible personal growth that changed who I am and what I want to be. Stepping back into home life, even for only 5 days, was initially alienating. A host of subtle differences like those described above made me feel foreign in my hometown. However, other more noticeable contrasts came to light in the exchanges that made others close to me feel more distant. My family has long given me grief for being a picky eater, but at some point during the time abroad, that changed wholesale. My mom’s shocked reaction that I would ever eat sushi, or seafood at all, was just one example.

As I readjusted I began to notice a distinct separation between the expected “header” changes – returning from Spain speaking Spanish – and the unexpected “footnote” ones – my palette. While we could anticipate the header changes, it was the surprise surfacing of the footnote changes that made the transition much more difficult. The fastest way I have found to get around this is to recognize, point out, and accept as reality that things are no longer the same.

4: Stay in touch with your cercanos

The Spanish word cercanos translates to the people you hold most dear (near to you, literally,) and I would consider my family and friends my cercanos. Being abroad was an amazing, formative experience in my life, but without my cercanos I would have undoubtedly lost far more than I gained. I tried to share as much of the experience as possible with my family and friends and succeeded to varying degrees, using common interests and pictures to strengthen those relational cords. There is certainly a balance between staying in touch and diving into your new environment, and there is a different answer for each individual, but if I had launched deep into the unknown without any form of tether to my past, I would have floated off into space like Sandra Bullock in Gravity. Staying in touch can be as simple as a Facebook Message, a postcard, a small souvenir, or in my case, a surprise Amazon delivery for my mom’s birthday. Your cercanos will appreciate it regardless of what it is, as long as they know they are on your mind.


The “Not-In-Kansas-Anymore” Culture Shock

After moving to San Francisco from Cincinnati, I can see what Dorothy meant. There is a magically welcoming hometown feeling that strikes me every time I go back to the Midwest, but coming to San Francisco and being able to walk a few blocks from Little Italy into Chinatown then head to work in the Mission is level of diversity foreign to me growing up. Moving here to live for 3 months has taught me a lot about myself and what I like about cities and the communities within them, and while this place certainly is not Madrid, nor Cincinnati nor Kansas, those differences are part of what make it so special. First thoughts: These geo-tags are amazing. Why did I bring all this luggage? What is BART?

5: Find your café

Starting in a new city with a population in the millions without a prior network can be intimidating and overwhelming; alas even finding housing in SF can be overwhelming. But the fastest way I have found to begin is to begin. I start by finding a place that I can use as a workspace, typically a café, and go there repeatedly to feel more comfortable, maybe being a ‘regular’ to the barista. Reaching out further into the city becomes so much easier for me once I have that foundation, that place where I feel like I belong. A café is not every one’s thing, but having a physical space to meet other people and start building connections will help immensely during the beginning. Whatever it may be, finding your café is a great first step to feeling at ease after a big transition.

6: Dive in

The most exciting part of any big move for me is getting to explore the various parts of the city, and especially here in SF, they can tell you a lot about the culture, history and people who live there. One of the first weekends here, I went on a 4 hour walk with a good friend following a SF in one day tour itinerary. The 6 miles and 19 highlights made me feel infinitely more in touch with the city and the people. We started at Union Square and happened to arrive at the beginning of Sunday Jazz on the Square, so we sat and listened to live music while chatting with some of the locals around. Feeling like an insider for having found this event (even though I could have easily found it online) made me feel like I belonged here. Simply by diving in I learned more about the city than I could have ever by just sitting in my café researching online.



I hope some of my trials and tribulations can help you, be it a move as I have had recently and gave in the examples, or another type of big shift.

5 Tips to Make an Outstanding Design Portfolio in the Startup World

Design Portfolios

Building an outstanding design portfolio has always been one of the greatest challenges of every college student who is interested in design-related jobs in tech companies and the startup community. It is even tougher for me because my major is totally different from design (I double major in business and japanese studies), and I only started taking graphic design and typography classes during my junior year at Yale as an exchange student. In the beginning, my online portfolio only had work from design classes, and it took me more than a semester to build up my portfolio with design work that I did for organizations and startups at Yale.

It was not until I was in Silicon Valley this summer that I finally had a sense of what an outstanding portfolio should be. After joining multiple events and portfolio workshops from places like AIGA, General Assembly, Facebook, Dropbox, and Airbnb, I discovered that what we encounter in art education does not always apply to the startup world. Product design is different from graphic design: an outstanding portfolio for a creative agency or a traditional design consultancy firm could be seen as superficial in the tech community. Here are 5 tips that could help your design portfolio stand out if you’re applying for a product design role at a tech startup:

1. Do Not Overuse Dribbble (or Behance)

Nowadays, it is really easy to find beautiful portfolios online on Dribbble or Behance. While the design communities on these creative platforms facilitate designers to share their work and design inspirations, it has already become a cliche to many startups who are looking for design candidates. There was one design talk that I went to in which the design product manager said that he would never hire designers who just showed him their Dribbble portfolios during the interview. Many product managers nowadays think that Dribbble is somehow too superficial if you’re doing UI/UX design — most of the displayed UI work showcases similar design trends and highlights colour palettes, fancy button styles, and other superficial details without really solving the actual problem (if there is any). The article “The Dribbbilisation of Design”  discusses this issue and shows 8 weather apps found on dribbble with only one that solves the real problem:

Designs that don't solve the problem

On Dribbble, you can find overwhelming displays of fancy lettering, illustrations, Apple-like aesthetics, and highly polished mockups that look perfect on every pixel. Many are just a regurgitation of design trends that most people know would look good — a new Apple logo design, a new Google homepage — without a more careful consideration on the usability, interactivity, and purpose. While Dribbble could be a good platform for sharing design just as how Flickr is for sharing photography, when you are actually applying for the job, you should break away from these common trends.

2. Solve Real Problems

Solving real problems is what makes product design different from digital art. A design that doesn’t fix a problem isn’t doing its job. Steve Jobs probably explained it pretty clearly:


  • Most people make the mistake of thinking design is what it looks like. People think it’s this veneer — that the designers are handed this box and told, ‘Make it look good!’ That’s not what we think design is. It’s not just what it looks like and feels like. Design is how it works.


Designers don’t just make things that look aesthetically pleasing. They have to think about how to interact with people, fix parts that are broken, create new concepts, and arrange components to form better systems. Therefore, stop imagining problems and redesigning existing brands — the new Twitter logo, the American Airlines rebrand — without understanding the organization’s internal philosophy and constraints. Instead, try helping your friends with actual projects that they are working on — it could be a college startup, a student organization, or a new app that your friend is creating — so that you could have better access to their needs, draft out pros and cons, discover tradeoffs and offer real solutions.

Another advantage of designing for real projects is that you can identify your success (or failure) to solve  the problem more easily. Sometimes, it is good to show how you failed in the past during your design interview if you are able to discuss with your interviewers your thought process and the things that you learned. Success can be defined in different ways, such as achieving an organization’s initial goals, improving certain key metrics, or gaining recognition from users, press, or the community. This applies to whiteboarding during interviews as well. When you are asked to whiteboard a design process during your interview, try to ask about the constraints and draft out problems that you need to solve and discuss how they are related to the key success metrics.

3. Show Your Design Process: It’s about the Ugly Sketches

Design process is the most important thing to make you stand out from other designers when the quality of work is very similar. People are very interested in your early thoughts and sketches, which usually involve ugly wireframe drawings on pen and paper. Compared with pixel perfect PNGs, the design process is more valuable because it documents your rationale and intentionality in curating different components of the whole system. Great portfolios often describe projects in specific case studies, showing all the previous versions of the product and explaining the intentionality of different components.

A proper design process should be top-down instead of bottom up. Instead of delving into the gritty details of grid, font, colour, and aesthetic style, designers should start from the business goals, the information architecture, the content planning, and the wireframing. We should also consider other aspects like interaction, product strategy, and ad positions (or revenue streams) before pushing the pixels. According to Julie Zhuo, the product design director of Facebook, her checklist of criteria for hiring designers goes through this process:

  • The idea: Does it solve a real problem?
  • Usability: Does the design show careful thoughts on how the product is used?
  • Craftsmanship: Details, quality, aesthetics, and craft

Most designers spend too much time on the third criteria without seriously considering the beginning part of the design process.

One of my favourite design processes documented by designers is “The Making of April Zero” (now turned into a startup called Gyroscope) by Anand Sharma, which not only included his sketches but also snapshots of his research and sources of inspiration:


The Design Process from The Making of April Zero

4. Link design with data

This is probably one of the hardest things to achieve for most designers. If you have data, you would probably stand out from many others during the design interview. No matter how a product looks, the ultimate purposes of design are user engagement and revenue. If you can get data from your previous company or project  — such as increases in calls to action, subscription rates, and revenue — and if you can delineate in your design process how different design decisions affect the outcome, you are ahead of the game. Apart from using data analytical tools in UI such as Google Analytics, Keen, and Mixpanel, you can also interview your users or other stakeholders about the outcomes of the project for qualitative information. If you can tackle this case study like how business students tackle their interviews for business consultancy firms — which often includes breaking down the conversion funnel and drawing diagrams that explain the increase in calls to action and increase revenue — this would help a lot.

One good example of how a portfolio incorporates design and data is this website that I found on the internet:

This is also good website to look at if you want more tips for conversion-oriented design:

5. Design Outside the Container

Product design extends beyond the interface of the product functions. It is about the whole experience. For example, designing empty states is something that many young designers miss out even though it is vital to first impressions and conversions. How notifications are designed, how marketing emails are templated, how easily a user can transition from your competitor to your product are also things that you can consider. It could also be an entry point to a new feature or a product walkthrough.

There are many articles about designing for empty states that you could look at:


Many designers miss out this important step in product design. If your portfolio can take into consideration of the whole product experience, it shows your attention to detail and the maturity of your design thinking process.

Conclusion: It’s Time to Re-design Your Portfolio

These 5 tips are easier said than done. Even though I’m now working as a front-end web developer in San Francisco for my internship this summer, it will still take me a long time before I can actually fulfill all these expectations of an outstanding design portfolio. In the meantime, good luck with all the other student designers out there who are struggling with the same problems!


An Amazing Start!

Hi there!

I’m studying Computer Engineering  at UPenn, and I’m so excited to be part of TEC this summer! I’m working as a Product Manager intern at Directly this summer. Check it out (, and I’m having a blast so far!

So why did I choose to be on a Product team this summer, as I come from a Computer Science/Electrical Engineering background? I spent last summer as a Software Engineer doing iOS development at a start-up. As you might guess, I did a lot of coding last summer. It was a small start-up (about 6 people, with 4 people in-house), so we iterated very quickly. The founders of the start-up pitched to investors on a weekly basis, so it was up to each and everyone one of us to contribute value to the product.

Before coding a feature, I needed to speak with users, gather their feedback, write up a spec documenting the benefits of the feature and any pain points it would eliminate, and then begin to implement it. Now, I always found the steps building up to implementation as the most interesting. I could actually work with people who were going to use our Product, and therefore build the Product with them in mind.

So, for this summer, I decided I wanted a full Product internship. At Directly, I’m wireframing mock-ups, collecting data, using Excel to display that data, and working along with all the other amazing people here at Directly to build a tool that’s helping a lot of people.

We’ve had a Company Hackathon which was a lot of fun, where a couple of us built a rough, new version of the iOS app! I think there’s another Hackathon planned soon.

As far as the TEC side, I’ve really enjoyed meeting all the other True Fellows! They’re an awesome group of people, and each one of them has an interesting story. We have interns from Ireland, Massachusetts, Hong Kong, SF, Michigan, Illinois, and more!

This is only the start of the internship, and I can’t wait to get to know everyone here at Directly and True better!

Until the next post,


Product and Team at First Opinion: An Interview with Rachel Steed

Walk into First Opinion and the first thing you notice is a bright blue board that spans two walls where our engineering team, including myself, work. Labels such as “30,000 Feet”, “Creation”, and “Layers” organize the board into distinct columns filled with dozens of carefully placed sticky notes.

While this board may come off as superfluous – who really needs this level of organization? Can’t we just build new features as they come up? – this board is a representation of a product development methodology that has allowed our company extreme confidence in our product at every stage of development. I sat down with our Product Manager, Rachel Steed, to talk more about this process and how it drives our team.

Rachel Steed


So to get a little bit of background, how did you first get involved with Product Management and First Opinion?

RS: When we first started First Opinion, we launched a beta program and I reached out to each user after their conversations to get their feedback. I really got a strong sense for what our users liked and didn’t like. I started creating training for our doctors based on my observations of how our users wanted to be interacted with. The overwhelming response was that people were not comfortable asking all of their questions to their doctors when they went into the office, and I was convinced we were building an extremely useful product. I developed a strong opinion based on feedback from our users on what we should be building for them. So, this passion for building a product that people actually like and want to use is ultimately what got me involved with Product Management.

Why is First Opinion special to you? What do you see as the biggest impact of the product?

RS: I’ve seen how our doctors touch so many lives on our platform. Users always reach out letting us know how our product has helped them when they didn’t have any other resources providing that help. As a company, we have an incredible team with a culture where no idea is a bad idea. We’re touching so many lives in a unique way that no one has done before, and we are saving our customers’ tons of money and time by answering their health questions or validating their need for a visit to the doctor when necessary.

So, First Opinion has a product development process that I think is special. Tell me a little more about it.

RS: There are three general parts to our process. The first takes into account what our customers are showing interest in, and the second is something that I have worked hard to implement that I mentioned before and that is no idea is a bad idea. Finally, the last step is our process around validating ideas.

It’s very important to me that every team member feels encouraged to share their ideas in solving our problems. The benefit of involving each team member in our process allows me to tap into the skills of each member. By allowing anybody to bring ideas to the table, we can come up with better solutions. There’s always a better solution you may not have thought of. Having our engineers and designers involved in the why of what we are developing has been invaluable in building better products. It also really gets them excited and motivated about what they are building.

There are a lot of visuals — boards, notes, charts — around the office that seem to outline what we are doing at any point.

RS: I try to keep our process visual so that people really understand the steps that the product team is going through to validate ideas, and so they can see where in the process their idea is.

Nobody wants to just be building the highest paid person’s idea. If you don’t have a process outlined for how you validate ideas or how you are going to follow through on them, you develop a process that is based solely on who is the “smartest” person on the team. Truly, this doesn’t bring a lot of innovation to our product. The more people you have thinking about how to improve our product and solve our problems, the better.

The visual board also helps with another aspect of our development. When we thinking about what we’re building next, we always try to build an experience end to end for our user, so that we’re not just focusing on one tiny area of the app. Making our process visual shows us if we are putting too many resources into one area of our app and neglecting others. For example, if I had everything centered around logging in for the next 3 months, I would want to spread out a little more and push some of these tasks for later. This allows us to not just focus on building for the new user as there are also current users we need to take care of.

There’s also a big emphasis on user research at this company. A lot of companies especially smaller ones may not see the value in this. How does user research really impact and drive product development here?

RS: User research is hugely important to us here, we even have a person dedicated to that role, just so that we can gain better insights into what people want. We are doing something totally new and in order to come up with a product better than the current system, we have to understand what’s working for people and what’s not working for people and what their pain points are, and we just have to overall understand everything we can about the user.

What benefits are companies not doing this missing out on?

RS: We put a big emphasis on usability. We can sit here for 10 hours staring at our product, but eventually we are so familiar with it that we don’t notice problems that are there. Talking to someone with a fresh perspective is invaluable. I’d rather test tons of our ideas than spending 2 or 3 months building something and realizing that it’s not what our users wanted or there’s concerns that we didn’t see before.

So to summarize, what do you feel you do differently in terms of your user research and product development that you have seen the most positive impact with?

RS: Having a process that includes everybody, especially our users. We like to know as much as we can before we develop something. It’s a short term additional cost, but the long term benefits have been more than worth it. Continue reading

To Venture or Not

Picture this: You’re lying on the couch on a lazy Sunday afternoon when it suddenly hits you: that fabled killer idea that every entrepreneur dreams of (or the best iteration of an original idea. Your choice.). Inspired, you sit up. Suddenly, the rest of the day doesn’t seem so hazy. Facebook wasn’t built in a day, and they sure didn’t get anything done while covered in a fine layer of Cheeto dust. This is your chance to frolic with the unicorns! Your cursor closes your Netflix tab for the first time in days, and you get ready to dial some numbers. Who to call first? You heard somewhere that the fellows over at True Ventures are pretty cool; maybe they’ll put up your seed round. But your finger just can’t quite push the call button. You recall some not-so-cherished memories of your last idea that flamed out in spectacular fashion. Investors just didn’t see the growth potential in your dog massage-sharing platform like you did (you’ll prove them wrong one day!). Down goes the phone. Who needs funding? You’ll grow this business alone, and in your mind, you know that it’s the best decision for your company. Right?


And in many cases, you wouldn’t be alone. While venture funding gets all the press, the reality is that only 0.05 percent of all startups are venture-backed (and 0.91 percent are angel-backed). The rest of the crowd makes do with funding from family & friends, bank loans, crowdfunding, and personal savings. The term “bootstrapping” refers to a self-sustaining process sans external input, or, in startup terms, operating with no outside investment. The virtues of bootstrapping are tempting:

All equity remains within the company.

No outside investment means no outside ownership. Sure, if you set aside an employee option pool (which you should, you cheap bastard), you could own 80-90 percent of your company depending on how many employees you have when you exit. Case in point: of the $575 million Match Group just paid for dating site Plenty of Fish, founder Markus Frind will walk away with $525 million, or 91 percent. While distribution of equity will vary across industries, investors can receive 15% to 35% in a typical seed round with that number jumping to 50% in a typical Series A. Bootstrapping eliminates that outside share, keeping ownership within company lines.

Take the business where you want to go.

If you do raise venture capital money, you are no longer alone in your business pursuits. Your VC’s views of your company’s future may not align with yours; they may want to take the company in a new direction that might be more profitable, but you may want to stay the course and work on what originally inspired you. It’s also not uncommon for founding CEOs to be ousted from the leadership of their own companies in favor of bringing in a “professional” or “growth stage” CEO. Granted, founder CEOs are usually only replaced if they have lost the confidence of their employees or if they are truly failing at their job. Regardless, most founders would probably prefer to avoid this.

Prevent money from taking over.

Now that outside money is involved, the success of your business is beholden not only to you but also your VCs. And those VCs have to answer to their LPs who, in the end, are seeking worthwhile returns from their capital commitments. The harsh truth is: it is about the money. Venture capital is already by nature a very illiquid asset class. Funds have lifetimes of around 10 years during which LPs cannot access any investments that they have made. And after 10 years of being locked out, it’s fair for LPs to expect a reasonable ROI from funds (the average ROI for venture capital over 10 years was 10 percent in 2014). For VCs to achieve acceptable returns, they need their portfolio companies to have exits, and big ones too, since the bulk of VC returns are usually generated by a minority of investments (I’m generalizing here, but the numbers are in line with this). By accepting funding, you also accept the obligation to return money to your VCs and their LPs through an eventual exit, even if an exit may not be the best choice for your company in the long run.

Stay hungry and stay focused.

Yes, raising a round will get you the money to move into that hip office space and finally get those exalted free meals the peeps over at Google talk about in every news article. But do you really need those? There’s a difference between running a company on your own dime vs. a VC’s checkbook. When you’re operating alone, every penny matters, and everything else counts as a luxury. An entrepreneur should focus on his or her product, plain and simple. Through board meetings and investor calls, venture money can take away from time that would have been devoted to development and production. A group of two people usually chooses where to eat quicker than a group of nine, and when you take on funding, your company becomes that group of nine that can’t move as fast or adapt as quickly as everyone else.

So what?

Bootstrapping is nothing new. Well-documented success stories that include MailChimp, WooThemes (acquired by Automattic), Github, and the aforementioned Plenty of Fish are a testament to the viability of bootstrapping. But as survivorship bias dictates, we tend to overlook the stories of failures, those who bootstrapped and didn’t make it. For many startups, VC support and funding is a necessity. Funding offers the opportunity to scale a company orders of magnitude faster than bootstrapping does, reducing the possibility that a competitor steals the market before you’ve even begun to enter. For startups chasing billion-dollar markets, the boost offered by venture capital will often outweigh the lost ownership percentage. Rest assured that no one sympathized with Jack Ma for owning “only” 8.9 percent of Alibaba.


This post is not meant to portray VCs as greedy, controlling company killers. Venture capital has been an important factor behind a long string of successes, and the numbers validate that venture capital as an investment model is here to stay. VCs do provide immense benefit to the entrepreneurs they work with. The best VCs will value an alignment of interest with founders and many adopt a hands-off approach when managing their investments, allowing entrepreneurs to work as they please, while the value of their professional connections cannot be understated. All things considered, maybe you should pick up the phone and give True Ventures a call after all. Or not.

Resources for Learning to Code

Want to learn to code, but don’t know where to start? Getting a degree in computer science is a great option (not just because money talks), but may be unavailable or unappealing to people. Luckily code is something that can be learned outside the classroom.

There are a huge amount of resources (this is comforting), but learning to code is very difficult (this is not so comforting). I have spent too much time on beautiful websites, thinking to myself “how can I make something like this” to give up that easily. And so I’ve done the digging for you. Here is my list of coding resources along with advice I’ve picked up along the way. And don’t worry–this is as close to a listicle I’ll ever get.

Figuring out the Stack

Before learning any languages, basic literacy is a must. There are a ton of articles that give adequate summaries, but this one seems to deliver the most information in the least amount of words. This article is a little longer, but–like the rest of the blog–maintains an upbeat and optimistic tone. At this point, optimism seems like a good idea.

What Do you Want to Make?

Before you start, it’s important to figure out what you want to make. As useful as tutorials and dashboards are, no such tutorial will be supporting you in the real world. Creating your own project is the best way to motivate yourself to actually internalize the information you learn. Make sure it’s something you actually want to build–that will keep you motivated. (A great example of this–the company grew out of a personal website).

This approach is useful in that it also solves the project of what language do I learn first? Lifehacker does a good job of summarizing what languages to learn first in terms of what they offer and what they’ll teach. This nifty infographic gives an in depth dive into the history and utility of programming languages.

Switchup does a great job of guiding you to the right programming languages based off of your expressed interests. It then gives you a list of code resources along with reviews. If you’d like to read on, I’ll be listing many of these options and resources individually.

One more thing before diving into individual learning resources–how do you solve the problem of not even knowing what you don’t know?

My suggestion is Bento. You can follow a track or go to the “grid”. Their resources are sorted by specific language or software a category (for example, fundamental, front end, back end). In an Internet environment throwing you constant resources, it’s extremely useful to see everything sorted. It also shows you the categories of knowledge you need to pursue.



Good ‘ol Codecademy— if you haven’t heard of this, you’ve been living under a rock. For the rest of you Patrick Stars, Khan Academy also has a computer science page. Free Code Camp has a slightly different mission–the program touts helping nonprofits—but you have to put in around 1,600 hours of work to get there. General Assembly’s Dash is newer but no less dazzling.

If you have no aversion to crass language, consider this website’s advice. There is a nifty list of free programming books in pdf form. Their manifesto is pretty funny.

Looking for something specific? Use Redhoop’s class search engine.

If you’re looking to have the “college experience” of learning good code practice and how to think like a programmer, rather than just knowledge of syntax and specific languages, aGupieWare has created a well-thought out compilation of free online computer science courses from top universities (think MIT). They’re organized in a structure that mirrors that of a bachelor’s degree–introductory courses, intermediate courses, and electives. There is a basic set, and a more extensive range of courses.

Want to watch Youtube videos? Look no further than The New Boston’s channel. Bucky helped me through CS 112. I would especially recommend his Java video on classes and subclasses. All of his examples are food.

Last, but not least, a few specific resources I stumbled upon: “Learn Python the Hard Way”, Google Python Class, Django, HTML & CSS, Github.

Gamification of coding makes learning more fun. Codecombat and Codingame are two well-received examples. You can also learn to build simple games of your own on Crunchzilla. You should have at least a little of your own coding knowledge before you try your hand at this one, though.

Afraid of actual syntax and just want a good grasp of structure? Unashamed to play a kid’s game?–don’t be ashamed, it was developed by MIT. Scratch is wonderful (and free). also offers a ton of games to teach code to people of all ages. The nonprofit aims to inspire students and improve diversity in the tech workplace.

On Campus Class
Ada’s Developer Academy seems to be the only free bootcamp I’ve found. Unlike other programs that are 10-20 weeks long, this one spans an entire year, and features a built in internship program. It is located in Seattle, and while the program is free, students must figure out room, board, and insurance on their own. This may be difficult given the program is full time and does not allow enough free time for a job.

Mostly Free

Udacity has a ton of free coding videos. There are options to take a “full course”–these require payment. EdX also offers courses in computer science; most can be audited for free, but to receive a “verified certificate” you need to pay.


Want to learn how to make an app? There’s an app for that.

I’ve already mentioned a ton of books that you can get for free. I’d like to additionally mention Jon Duckett’s books. They’re wonderful resources, because they’re incredibly well designed and full of beautiful and easy to understand examples. You can buy them on Amazon. Be forewarned–apparently the binding is a little weak. They’re beautiful enough that I had no qualms about taking the risk on them.

Online Bootcamps
Rather than compare online bootcamps myself, this comprehensive guide seems to be a better choice. This article gives analysis of a little more depth to a few on the list. Keep in mind that some online programs charge by course, while others charge by month–figure out what works better for your schedule and what languages you wish to learn before making the commitment. Not included on either of the above articles are Code School and Treehouse–each of these charge per month.

On Campus Bootcamps
If you’re looking to really have the immersive experience of an on campus education, and you aren’t afraid to pay for it, SkilledUp offers a very comprehensive list of coding bootcamps.

What Now?

If you get stuck at any point in coding, Stack Overflow is a great resource for getting answers to your questions. Another great way to learn code is to simply fiddle around with code from other websites. Remove lines and see what happens.

If you really can’t think of any personal project that pushes you forward, there is a great subreddit called “daily programmer” that lists daily programming challenges. Just a little something to help you get away from the handholding that dashboards and tutorials give you.

It is important to remember that computer science is a way of thinking even more than just the learning of languages. Math is extremely important. For a long list of problems that demand computational thinking, look no further than Project Euler. According to Wikipedia “each problem is solvable in less than a minute using an efficient algorithm on a modestly powered computer”. Apparently someone solved 78 problems in 24 hours. And yes, it’s on video.

I noticed that there’s a ton of resources on learning a language, but not that many about how to actually put that thing on the internet. I got your back, friend. Here’s that article.

And so begins the insanity that is teaching myself to code. Wish me luck. Updates to come.

Why I’m no Longer (as) Mystified by BioTech

Biotechnology has gained quite a bit of popularity, but even with the attention it’s receiving, a good deal of mystery still surrounds how its products come to market. What’s frustrating for someone like me on the periphery is only being able to see the final release from the press touting biotech’s every advance –

“Doctors perform surgery using 3D printed <outer ear – check, hip joints – check, liver models – check, heart models – check>

“Scientists attempt CRISPR genome editing on <next most ethically questionable species>

“DNA Sequencing will let doctors know more about your <genetic conditions, personalized medical care, personal thoughts… (just kidding about the last one, for now at least)>

But to be curious about how these advances come together is in vain. I have spoken to some privy to knowledge of new technologies for as long as three to five years in advance, but unable to even discuss them due to their Non-Disclosure Agreements. As an outsider learning about what biotechnology companies are doing, it feels like I’m looking up at the Wizard of Oz with smoke, mirrors, and his intimidating projection look down on me. All the while biotech works behind a veil of company secrecy and the media’s use of vague, buzzwords like “big data future.”

the Wizard of Oz, like Biotech, enjoys working behind a shroud of mystery

Admittedly, there is good reason for this. In biotech, R&D is a lengthy and costly process that, on the rare occasion when it is successful, validates all those late nights and sprints. What I’ve learned over the past few weeks from interning at Sano is that a company protects its technology because its innovation is worth perfecting before bringing to market. Afterall, it’s not smoke, mirrors, and a man behind the curtain that brings a product to market. It’s countless rounds of prototyping, EVTs, and alpha testing.

My work of characterizing raw data to represent body metabolism using signal processing and supervised learning techniques has been one part of the puzzle. The larger picture for Sano is to build a silicon biometric sensor to collect this information and provide continuous, personalized insights into a person’s body chemistry. Using Sano will help regular people have near-instant feedback on how their diet and activities are affecting important metabolic indicators. It’s been a privilege to be a part of the interdisciplinary process required to make a product like this. Each team – the biophysics PhD’s, software and data science teams, and savvy chemE department – relies on each other for their expertise. Only together do they get the innovative process that can create a product like theirs with the potential to help so many people.

There are limitless biotechnologies remaining to be discovered and so many running after them. Biometric applications could be someone tracking their runs and diet, but it could also be rendering genetic profiles for doctors to diagnose and treat disease. We are demystifying health at an astounding rate and perhaps that is our equivalent of finding the little man from Nebraska working all the levers and pulleys behind the curtain. But a lot of responsibility comes with access to a world of data that was for the longest time untouchable. We need to make this knowledge useful by allowing it to help others make informed and meaningful changes to their lifestyles. Getting an inside look at a company addressing these concerns has pulled back the curtain of biotech’s mystique. While other companies will continue to populate the headlines, it has been satisfying to see what goes on behind the scenes before one does.

« Older posts Newer posts »