Homepage
Open in app
Sign in
Get started
Tech Blog
Read the stories from the Engineering team matching millions of people daily
Android
Backend
Data Science
iOS
Web
Careers
Follow
Following
Animate on a Path with Android Jetpack Compose UI
Animate on a Path with Android Jetpack Compose UI
This tutorial showcases Android’s Jetpack Compose UI ability to animate an image on a path. In our example, we demonstrate an arrow flying…
Phil Boyd
Apr 11, 2022
How We Open Sourced An ESLint Plugin for Internationalization At OkCupid
How We Open Sourced An ESLint Plugin for Internationalization At OkCupid
We developers often find ourselves faced with a problem that seems general enough and common enough that someone else could have already…
Xiaoyun Yang
Feb 22, 2022
Cloud Native File Integrity Monitoring
Cloud Native File Integrity Monitoring
We at OkCupid are actively engaged in migrating our data centers to AWS’ cloud environment. As we’re going through this migration, we’re…
Sammy Tbeile
Dec 21, 2021
A Guide To Writing A Robust Cross-Platform Implementation Plan
A Guide To Writing A Robust Cross-Platform Implementation Plan
Learn how OkCupid’s Tech Design Process helps developers eliminate uncertainties and generate accurate estimates.
Claire Katherine Lynch
Aug 30, 2021
Internationalizing and Localizing Your App, Part 1: Understanding Different Cultures
Internationalizing and Localizing Your App, Part 1: Understanding Different Cultures
Learn how to internationalize your app from a technical perspective and how to think globally about different cultures from around the…
Nick Brandt
Jul 16, 2021
Internationalizing and Localizing Your App, Part 2: Web Tooling
Internationalizing and Localizing Your App, Part 2: Web Tooling
Learn how to pick the right tools to support a modern React web app with legacy HTML templated components.
Nick Brandt
Jul 16, 2021
Internationalizing and Localizing Your App, Part 3: Technical Challenges
Internationalizing and Localizing Your App, Part 3: Technical Challenges
Learn how to solve for the various nuances of language. This includes pluralization, accessibility considerations, date formats, and more!
Nick Brandt
Jul 16, 2021
Internationalizing and Localizing Your App, Part 4: Maintainability and Scalability
Internationalizing and Localizing Your App, Part 4: Maintainability and Scalability
Learn how to internationalize your app at scale with a Translation Management Service (TMS)
Nick Brandt
Jul 16, 2021
Migrating Your App to Swift Package Modules Tutorial Part 2
Migrating Your App to Swift Package Modules Tutorial Part 2
Learn how to pass information and communicate between Swift Package Manager Modules.
Dmitri Fuerle
May 17, 2021
Migrating Your App to Swift Package Modules Tutorial Part 1
Migrating Your App to Swift Package Modules Tutorial Part 1
Learn in this tutorial the first step towards migrating your app’s native code to Swift Package Modules.
Dmitri Fuerle
Apr 5, 2021
Modeling UI States in A React Form Component Using A Finite State Machine
Modeling UI States in A React Form Component Using A Finite State Machine
A finite state machine (FSM) is an architectural design pattern that allows us to model a large system as a collection of loosely coupled…
Xiaoyun Yang
Mar 4, 2021
Large-scale collaborative filtering to predict who on OkCupid will like you*, with JAX**
Large-scale collaborative filtering to predict who on OkCupid will like you*, with JAX**
* your likeability not guaranteed, but we will try ** JAX is experimental and not an officially supported Google product. Version lock…
Zachary Jablons
Feb 2, 2021
The Shadow Request: Troubleshooting OkCupid’s First GraphQL Release
The Shadow Request: Troubleshooting OkCupid’s First GraphQL Release
As we were building our GraphQL API in a totally new stack, we wanted to see how it would measure up against our previous REST API with a…
Michael P. Geraci
Dec 18, 2020
Moving OkCupid from REST to GraphQL
Moving OkCupid from REST to GraphQL
A lot has been written about the benefits of moving from a REST API to a GraphQL API¹. But let’s say that you’re already convinced. If you…
Michael P. Geraci
Nov 13, 2020
An Intro Guide to Protocol vs Object-Oriented Programming
An Intro Guide to Protocol vs Object-Oriented Programming
The objective of this post is to compare some of the differences between object-oriented programming and protocol-oriented programming…
Bruno Agatte
Oct 30, 2020
Vespa vs. Elasticsearch for matching millions of people
Vespa vs. Elasticsearch for matching millions of people
As a dating application, an integral part of the experience is in recommending to you great potential matches based on the myriad of…
Eddie Ng
Sep 29, 2020
Android Improved Localization With Custom TextView Effects
Android Improved Localization With Custom TextView Effects
We have started the process of making our application more internationalization friendly. That typically requires the removal of all…
Anton Begeima
Aug 28, 2020
Why we decided against GraphQL for local state management
Why we decided against GraphQL for local state management
Here at OkCupid, we’re pretty big fans of using GraphQL. When it comes to fetching data on any of our client platforms, the abstraction…
Nick Brandt
Aug 20, 2020
Improve Android Testability with Fakes and Factories
Improve Android Testability with Fakes and Factories
Legacy code exists in the codebases of many companies. Often within, there are anti-patterns that can cause roadblocks during development.
Brian Plummer
Jul 27, 2020
Using Fakes To Test Reactive Flows
Using Fakes To Test Reactive Flows
Unlike mocks, fake implementations give us full control of our dependencies in unit tests, allowing us to accurately and thoroughly test…
OkCupid Tech Team
Jun 12, 2020
Cutting Through the Static — Find and Fix Issues the Smart Way with Android Studio Static Code…
Cutting Through the Static — Find and Fix Issues the Smart Way with Android Studio Static Code…
Did you know that Android Studio has static code analysis built in? You can run this tool using the inspect code dialog. When launched you…
Brian Plummer
May 18, 2020
It’s OK to Choose SwiftUI and UIKit
It’s OK to Choose SwiftUI and UIKit
By now, you have heard of SwiftUI… this new, declarative, and “exceptionally simple” way of building user interfaces for Apple devices…
Joel
Apr 27, 2020
Glow-Up: Bringing a Teenaged Website into the Modern World of SPA
Glow-Up: Bringing a Teenaged Website into the Modern World of SPA
What many SPA discussions don’t take into account is just how arduous a process it can be to migrate to a single page architecture…
OkCupid Tech Team
Feb 21, 2020
Monitoring Performance the Easy Way: HAProxy to the Rescue
Monitoring Performance the Easy Way: HAProxy to the Rescue
Monitoring is a fundamentally difficult problem, which is annoying because it sounds like it should be easy. We built this service or…
Sammy Tbeile
Jan 6, 2020
You Can’t Spell Update Without Date — A Guide to Getting Users to Update to Your Latest Release
You Can’t Spell Update Without Date — A Guide to Getting Users to Update to Your Latest Release
OkCupid’s Android team releases new features and bug fixes every week. In a short amount of time the app can see an improvement in…
Shantal Taveras
Dec 20, 2019
About OkCupid Tech Blog
Latest Stories
Archive
About Medium
Terms
Privacy
Teams