In Swift, I use the Result type extensively. Mostly for async callbacks, but it’s generally a nice, tidy and consistent way to provide a value that can either be a success or failure as a result of calling a function.

When I started learning Kotlin, I found that there is a Result type included (since Kotlin 1.3), but to my dismay you cannot (by default) use this class as a return value for a function.

I have never been happy with Kotlin’s built-in version of the Result type, anyway. Having to check if isSuccess or isFailure, null-check if the success or failure value exists or use the fold function seems archaic and not really necessary in neither Kotlin or Swift thanks to their generics. …

Image for post
Image for post
Photo by Mae Mu on Unsplash

Over the past few months I’ve been working on porting one of my native iOS apps to Android, and I’ve been learning a lot about how Android works as a platform.

I’m now far along enough into development that I’m starting to work on refining the UI, and one of my challenges has been to create a bottom sheet where some UI appears to “stick” to the bottom.

Image for post
Image for post

After a bit of research I couldn’t find a simple solution so ended up coming up with my own. …



Senior engineer at Kin and Carta in London. I made @MacIDHelp & @RideHelp. If you're not a fan of equality we won't get on.

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