Implementing the Matrix JS SDK in React Native
Meet Kinksters’ chat feature is backed by Matrix, an awesome open-source communication protocol and its Synapse homeserver reference implementation.
Meet Kinksters’ chat feature is backed by Matrix, an awesome open-source communication protocol and its Synapse homeserver reference implementation.
I’m preparing Meet Kinksters for a beta release, and a big (and time consuming, and frustrating…) part of this is building and debugging binaries for both iO...
Drupal features a powerful entity (more broadly, typed data) entity validation API, powered by the Symfony Validation component. Problem is, Drupal hardly ev...
The data model for Meet Kinksters’ backend requires us to keep track of many entity relationships, e.g. users who have shown interest in each other. Many rel...
mitmproxy
for better native-app traffic debugging
As I work more on the native app for Meet Kinksters, it’s been important to debug network traffic between it and various backend services.
Security is a major concern in building a dating app. Part of that is ensuring sensitive customer data, including photos, are only shared with users with pro...
As I build Meet Kinksters, one personal goal is to share the knowledge I develop along the way with others. So much of the details of building a complex app,...
ConfigurableFieldManager
Drupal’s ORM and Field API is rather powerful, but it can be a bear to understand after entities and their fields are initially installed. If you’re writing ...
One of the key enhancements in Drupal 8+ over prior versions is the Cache API. The concept of cache tags and contexts is one of Drupal’s great contributions ...
Meet Kinksters is built on top of a wide range of open source technologies, Drupal being chief among them.
yarn link
with React Native/metro bundler
A quick note from the trenches of React Native & Expo. While working on Meet Kinksters’ native app, I needed to develop a small JavaScript library to shi...
Part of signing up for Meet Kinksters involves ensuring users provide sufficient (and valid) information about themselves and their dating preferences. This ...
At Meet Kinksters, I take data security very seriously. Dating sites are tricky to architect, in that they must collect significant personal information (bir...
Meet Kinksters’ mobile app is built with Expo, an opinionated set of defaults for React Native, paired with a simplified build pipeline for iOS and Android b...
When it comes to architecture, I try to follow a broadly-applicable adage: “strong opinions, held weakly.” In other words, choose the best option available a...