Technology behind Stitch Fiddle

This page gives you a look behind the scenes and shows you what technologies are used to let you enjoy Stitch Fiddle.

Technical words are used on this page. You don't need to understand what is written on this page to be able to use Stitch Fiddle.


Frontend

The frontend of Stitch Fiddle is built with React and Redux as a Single Page Application (SPA).

The code is written with the powerful benefits of functional programming in next generation JavaScript (ES2015 and beyond) using Babel and bundled into chunks with Webpack.


Mobile

The user interface is made responsive using Bootstrap. Stitch Fiddle works on a wide range of small to large screens.

Hammer.js is used for handling the touch events on mobile devices.

Stitch Fiddle is currently in the transition of becoming a Progressive Web App (PWA), to improve support for mobile devices and for using Stitch Fiddle offline.


Backend API

The backend API of Stitch Fiddle is written in PHP using Object Oriented Programming (OOP) and tiny tailor made framework, running on a cluster of servers.

Heavy tasks, like generating chart images, are delegated to separate dedicated worker processes, to decouple the heavy work from the webservers, and stay responsive and respond quickly to HTTP requests.


Server-side rendering

The HTML of the pages is rendered server-side using Node.js.


Code quality

All code is validated by a linter.

A high unit test code coverage is maintained.


Continuous deployment

Stitch Fiddle is updated multiple times a day, in small incremental steps forward at a time.

Deployments are processed automatically.


Storage

Data is stored with MySQL with a master/slaves replication setup.

Files are stored and replicated with a tailor made solution.


Servers

The servers are running GNU/Linux, together forming a clustered high performance environment.

The servers are located at TransIP in The Netherlands.


Security

A high level of security is maintained.


Full IPv6 support

Stitch Fiddle has full support for IPv6 (and IPv4, of course).


Development methodology

Many best practices from Lean Startup, Agile and Lean Software Development are applied for the development of Stitch Fiddle.


Prepared for growth

Stitch Fiddle is being developed with future growth in mind, prepared for scaling on our cluster, based on smaller data shards (database sharding), and process concurrency.


Sustainable: Built to last

Development is done as sustainably as possible, with the focus on the long run, in order to ensure ongoing continuity of Stitch Fiddle.


User feedback

The development roadmap is arranged based on real user feedback, by listening closely to the experience of the people using Stitch Fiddle.

Your thoughts are valuable, too! Join the discussion in the Ravelry group or use the user feedback form.


Design your first own pattern

Start now designing your own first pattern!

Start now