The tech we use to deliver awesome apps and web platforms

For all you CTO's, CDO's and technical folks... We're a full-stack digital team who focus mostly on software platforms where mobile is hugely important to the success of the business.


Tools and frameworks



Native Mobile Apps

When developing on iOS, we tend to chose Swift for new apps. On Android, we chose Kotlin. We like the idea of Flutter for cross platform, but we always end up doing native.

Web Portals

For simple front-end web interfaces, we'll work with vanilla HTML5. We'll use Vuejs, Nuxt or React for more sophisticated solutions. We use Elixir and Phoenix for most of our business logic.

Progressive Web Apps

For PWAs that need an app-like experience, we use ReactJS or VueJS. The back-end can be Elixir and Phoenix. We also have some Ruby on Rails solutions.

Integrations

We tend to use RESTful API's that exchange JSON. If needed, with some appropriate caching policies. Occasionally we need to use XML and SOAP for certain integrations. We'll use a message brokers for high volume transactions. MQTT for IoT scenarios.

Continuous Integration

Most of apps build and deploy using Circle CI. For web apps hosted on Heroku, we'll use their build pipeline. This website is on Netlify and uses it's own build pipeline. CI usually runs tests and can deploy to staging or live.

Databases

Postgres is our current favourite SQL DB, scaled vertically with a replica for read-heavy use cases. We have experience with CouchDB for distributed databases. For integrating web sites to apps, we like RESTful API's with appropriate caching mechanisms, and are also exploring GraphQL.





"Thre's a lot of cool tech out there, it's easy to get sucked in. The important thing is keeping it simple and picking the right tools for the job."

Matej, Full Stack Developer


Philosophy and practices



Design Thinking

When creating any digital product, we use a combination of design-thinking and agile delivery. This is because we believe these globally accepted best practices give you the best shot of creating a product that actually gets results.

Agile

Unlike many software houses, we strive for the core principles of agile set out in the agile manifesto, which encourages collaboration, flexible project planning and doing the simplest thing that works.

Data Informed

We think it's important to measure things, and use what you learn to feed back into the product lifecycle. We use AplitudeHQ, Google Analytics and other frameworks for observing user behaviour.