If you have a web client/server architecture, with the client written in JavaScript and the server written in JavaScript (Node), then you may want to share code between the client and server.

Code that you might want to share could include:

  • Validation
  • Other business logic

But how can you do that easily? You can copy and paste code between your client and server repositories but this is not a scalable solution. Is there a more scalable way to share JavaScript code between the client and server repositories?


  • You want to write isomorphic JavaScript code (can run on the client…

Photo by Chris Barbalis on Unsplash

At a startup, if you have a working/semi working product that is demonstrable (demo-able) the last thing you need is for your product to unexpectedly crash during a demonstration/ sales meeting/ investor meeting.

I was recently talking to a startup founder who was not able to demonstrate key features of the product due to a recent update that had rendered parts of the application inoperable.

Here are a few techniques you can do to ensure that your product is stable enough to always have key workflows be demo-able on demand (from most to least confidence):

There is probably a bug in here somewhere…

When I interview candidates I ask them what techniques they have to identify tough bugs. Here is a non-exhaustive list of some of the techniques I use (in no particular order):

  • Go to the last line in the code indicated to be an issue in the stack trace
  • Go to the last line in your app’s code that is indicated to be an issue in the stack trace
  • Manually reproduce the issue
  • Write one or more tests to reproduce the issue
  • Read the source code
  • Use logging statements
  • Use debuggers (e.g. Chrome’s inbuilt debugger)
  • Use debugging…

Blinds In Print — Homepage

A good friend has started up a new business Blinds In Print. It’s an online store that sells made to order blinds with custom designs from a range of designers.

The site uses the following technologies:

  • WooCommerce
  • jQuery

Let’s step through and have a a look at the UX/UI of the site and keep an eye out for any front-end issues.


Site Design

Someone said to me earlier this week that it is too hard to debug a single line JavaScript arrow function. So here are some techniques to do it:

const sum = values => values.reduce((agg, curr) => (console.log(curr), agg + curr), 0);

We are using a technique here in JavaScript where you can evaluate 2 expressions and return the last expression when returning an expression:

const foo = () => (console.log(‘bar’), true)
// 'bar' - logs bar
// true - returns true

2. Set a breakpoint in using debugger keyword and an Immediately-Invoked Function Expression (IIFE)

const sum…

We are going to setup a new macOS computer to run React Native and simulate an iOS and Android device on your mac.

These instructions have been tested on macOS Sierra 10.12 using the following tools

  • react-native@0.47.1
  • react-native-cli@2.0.1

We will be walking through

  • Running it in iOS Simulator
  • Running it in Android Emulator
  • Potential setup issues

Initial Setup

First install Homebrew — follow the directions on the Homebrew homepage as the script gets updated from time to time.

Once the Homebrew installation has finished check that there are no existing configuration issues

brew doctor


Tasks have a lower limit. Tasks can’t be done in zero seconds. Tasks can’t be done in negative time. All tasks take time, but there is no upper time limit for a task.

I recently tried to do something relatively simple, converting a webpage to PDF. I thought it would not take too long. I estimated six hours. It took over 16 hours. I’ll talk through my thoughts, and what went wrong.

My project backend is written in Django. With generating a PDF were two easiest options are using either

A. A Python package or

B. A 3rd Party API

3rd Party APIs can save you time and money

What’s a 3rd Party API?

Third party APIs are APIs provided by other parties (e.g. Facebook, Google, etc) to allow you to access their functionality and use it in your own app.


You could spend years building your own email delivery platform, or you could use SendGrid’s API and get it done in a few minutes.

You could spend forever building your own mapping service, or you could use Google Maps API.

APIs are Outsourcing

3rd Party APIs can be thought about as outsourcing for your app. Given enough time, human power, computing power and knowledge you could…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store