TUNE-ing super fast static websites

26 September 2017

Yep, we did what is generally accepted to be a “bad idea” by many developers and built a static site generator slash CMS for our clients. I don’t blame them. Getting it right is really difficult, it’s such a mammoth task, and building a concise set of features is dependent on your particular use cases.

tableflip.io now on Dat

26 September 2017

Earlier this week we put the TABLEFLIP website on Dat so it’s now available p2p. If you’re using the Beaker Browser you can put dat://tableflip.io in your URL bar and a peer should serve you our website.


21 February 2017

During the 5th TABLEFLIP podcast the team take some time out to wonder at the Inter Planetary File System.

Apollo Podcast

26 January 2017

Join us in our forth podcast as we talk Apollo over pizza and craft ales in our local.

Starting out with React Native

29 September 2016

We used React Native for the first time recently. This second edition of the TABLEFLIP podcast focuses on some of the gotchas and need-to-knows about developing mobile apps with React Native.

Robot Laws

29 September 2016

In the third edition of the TABLEFLIP podcast, our Bernard Mordan muses on the EU General Data Protection regulation and what this means for governance over the robots.

The TABLEFLIP podcast - Spacer Wars

02 August 2016

For a while now there’s been a growing urge amongst the TABLEFLIP crew. A stratovolcano1 waiting to blurt out a fountain of opinions, observations, frustrations and wisdoms. Driven by our experiences working with many clients on varying projects and disparate code bases. From greenfield to legacy and everything in between our affliction to using the newest most shiny tech gives us a unique outlook on the state of the world of development in Node.js and JavaScript. We can no longer stem the fire hose. The TABLEFLIP podcast is here.

Make your collections roar!

02 August 2016

More than a year ago, in March 2015, Meteor version 1.0.4 was released. Amongst the most interesting new features were an upgrade to MongoDB 2.6 and access to the underlying Mongo database and collection objects via the rawDatabase() and rawCollection() methods.

Server Side Rendering with React and Redux

23 May 2016

We all want it - the Holy Grail of having your app render server side to give your users a quicker initial rendering and to help SEO. The problem is that React doesn’t fit with the traditional model for server side rendering, in fact React turns it on it’s head.

Client-side or server-side rendering, why choose? The story of KitMapper

15 February 2016

Last week we officially launched the KitMapper.com website - a peer to peer AV kit rental service. You own some kit you don’t use all the time and would like to make some money from it, or you need some kit for a project you’re working on. It’s a great idea and we’re really proud to be part of it.

The Internet and The Young People

04 February 2016

Protecting young people from inappropriate content and activity on-line is no easy task. Most schools offer a filtered internet, preventing particular classifications of site from being accessed. Many parents also have this kind of filtering on computers at home, or as part of their internet service. But this still doesn’t give you any information about what they can access.

Promises in Meteor

23 November 2015


P2P DDP using PeerJS WebRTC

11 October 2015

Saturday and Sunday was the Meteor 2015 worldwide hackathon. I had a great time and so did everyone who attended. In between running around helping with code and distributing tea and coffee I managed to put together a cool little proof of concept: P2P DDP.

Flow Router - some useful patterns

04 September 2015

At TABLEFLIP, we’ve been building all of our Meteor projects using Flow Router since the start of the year. We love the way it focuses solely on routing, keeping reactivity in the template layer, which obviates many potential problems related to predictability and performance.

Business Critical Websites

21 August 2015

Here at TABLEFLIP we are in the business of making websites. The business of business for some organisations is becoming more and more intertwined with the internet. So what does that mean for small companies and startups wanting to build an online business?

Large Meteor projects - best practices

21 August 2015

A list of best practices learnt from 2 years building large-scale JavaScript apps in Meteor. None of this is gospel - it works for us, it may work for you.

Function parameters

06 January 2015

If the param is optional, put it in an options object. If it’s required, it should be a function param. It’s a fairly simple rule to follow and will save you and your API consumers a load of work. I’ve seen functions that take a bunch of parameters written like this: function sendMail (options) {}. Where options is an object that contains all the parameters needed to send an email. I’ve got a few problems with this, and I’ll explain why.

SquatConf - Information wants to be free.

19 November 2014

A free conference of ideas on de-centralisation of services, transparency, crypto and open-source.

The difference between module.exports and exports

02 August 2014

There is no magic. Your module code is sandwiched between the two items in this array, and eval’d:

NativeModule.wrapper = [
  '(function (exports, require, module, __filename, __dirname) { ',


Feedback from NodeSchool at SINFO

30 June 2014

In February TABLEFLIP ran a NodeSchool event as part of the SINFO conference. The event went really well and we got great feedback on the day. However, it wasn’t until recently that we were given the official feedback that was gathered from a questionnaire attendees were given after the event.


24 June 2014

It’s often said:

Meteor London - June 2014

14 June 2014

Show & Tell

Meteor London Devshop - May

21 May 2014

Meteor London pushes the limits of the possible by demonstrating how to build a selfie sharing service (think Snapchat) in 2 hours. 59 young entrepreneur developers recently packed out the uSwitch office to discover how blazingly fast and simple it is to get an app built using Meteor.

Meteor London Devshop - April

21 April 2014

Meteor London buffets on the winds of chance and optimism. As a monthly, demo-centric, early-adopter support group, we encourage people to have a go; it’s a show & tell for fancy hacks to production apps, and everything in between:

Building a dnode rpc server in ~50 lines of code

15 April 2014

“dnode is asynchronous rpc over websockets, using just javascript and callbacks.

Nodebots of London at Arduino Day 2014

31 March 2014

Tableflip, along with Nodebots of London co-organiser Alex Potsides stormed the London College of Communication in celebration of international Arduino Day 2014 (#ArduinoD14).

Integrating passportjs with keystonejs

13 March 2014

“This is a simple guide on how to integrate passportjs with keystonejs as an AJAX endpoint using persistent sessions. We found Jed’s helpful post on google groups and decided to write down the steps for this particular use case.

The first Meteor London DevShop

07 February 2014

We’ve been organising the Meteor London meetup for over a year now and it has become the biggest Meteor meetup in Europe. Recently Meteor got in touch with us to express their approval and intention to officially support the group by making it an official Meteor DevShop.

Test the ideas

22 January 2014

Ideas are king, but not all of them are royalty material.

Node streams are hard

22 January 2014

“Node streams are hard. So I decided to learn them. Then I found out they weren’t hard, I just didn’t know about them yet. I updated markdown-pdf to have a streaming interface. It’s a farse really, because marked doesn’t have a streaming interface so markdown-pdf has to buffer all the markdown into memory before it is converted to HTML. That’s pretty dull, but I’m working on the assumption that in the future there’ll be a streaming markdown to HTML parser I can pipe the markdown into.