Bringing the latest tech to the legal sector.

An introduction to Tagless Final in Scala

When you are building any kind of non-trivial application, you will naturally find yourself needing to decouple your implementation details from your application. Loose coupling not only makes code easier to test but also makes it easier to switch implementations in the future or for different use cases. One pattern that is increasing in popularity…
Read more

2018 analytics for our Juriosity platform

At Basement Crowd, we launched Juriosity¬†in Q2 of 2018 and we have seen significant uptake and use of the platform in our first launch year. As a directory, knowledge hub and self-publishing platform, Juriosity allows legal professionals and organisations to demonstrate their expertise, whilst members of the public can use Juriosity‚Äôs directory to source legal…
Read more

Scala, the Aux pattern & path dependent types

In our last post about Shapeless, we casually mentioned the Aux pattern was being used: L is a path dependent type on Generic[T], so we use the AUX pattern here so we can reference L Rather than just leaving that out there, with no explanation, we wanted to delve into that pattern a little deeper.…
Read more

Product design sprints: a methodology for champions or do they leave you out of puff?

Developing a new idea from scratch is always a challenge, be it an idea for a whole product or for a major new feature. Is your idea any good? Is it possible? How long will it take? How much will it cost? All of these are valid questions to be asking. A popular and effective…
Read more

Type class derivation with Shapeless: An introduction

You must be shapeless, formless, like water. At Basement Crowd we make use of Shapeless for a couple of problems – the most common use is for the automatic derivation of JSON de/serialisers for our APIs (spray-json-shapeless/circe), but it also comes into play for test data generation (scalacheck shapeless) and its polymorphic functions. This article…
Read more