Skip to content

Instantly share code, notes, and snippets.

View Dwite's full-sized avatar
🔬
Idea-rich, sleep-poor: that's the dad-indie hacker's life!

Valerii Kuznietsov Dwite

🔬
Idea-rich, sleep-poor: that's the dad-indie hacker's life!
View GitHub Profile
@Dwite
Dwite / offers-analytics-events.md
Created February 14, 2026 15:48
Offers Analytics Events — PDP → MOP Flow (for Data Science & Eng)

Offers Analytics Events — PDP → MOP Flow

Audience: Data Science & Engineering Tracking System: Snowplow Structured Events (P2P module) Generated: 2026-02-14

All offer-related analytics are tracked via Snowplow structured events through the P2P module's KMP analytics layer. The main app (thredUP/) module does not fire any offer-specific events — tracking begins when the Make Offer bottom sheet component initializes.

Event structure: action | category | label | property | value

@Dwite
Dwite / apollo-ios-upgrade-proposal.md
Created February 10, 2026 14:22
Apollo iOS Upgrade Proposal: 0.50.0 → 2.0

Apollo iOS Upgrade Proposal: 0.50.0 → 2.0

Current Version: 0.50.0 (released ~2022) Latest Stable: 2.0.6 (February 2025) Recommendation: Upgrade to benefit from Swift concurrency, stability fixes, and long-term support


Why Upgrade?

@Dwite
Dwite / p2p_analytics_kpi_spec.md
Created January 15, 2026 15:45
P2P Seller Funnel Analytics - KPI Event Specification for Snowplow (Android & iOS)

P2P Seller Funnel Analytics - KPI Event Specification

Overview

This document provides the exact Snowplow event specifications for P2P seller funnel KPIs on both Android and iOS platforms. Both platforms use shared KMM analytics code, ensuring consistent event tracking.


Critical Note: Page Type Schema Limitation

@Dwite
Dwite / thredup-shop-app-overview.md
Created January 15, 2026 13:45
ThredUp Shop App - New Engineer Overview

ThredUp Shop App - Engineering Overview

What Is This?

A modern React e-commerce PWA powering thredup.com. It's an isomorphic (server-side rendered) application built for performance and maintainability.


Tech Stack

Exception java.lang.IndexOutOfBoundsException: setSpan (-1 ... 24) starts before 0
at android.text.SpannableStringInternal.checkRange (SpannableStringInternal.java:499)
at android.text.SpannableStringInternal.setSpan (SpannableStringInternal.java:199)
at android.text.SpannableStringInternal.setSpan (SpannableStringInternal.java:186)
at android.text.SpannableString.setSpan (SpannableString.java:60)
at androidx.compose.ui.text.platform.extensions.SpannableExtensions_androidKt.setSpan (SpannableExtensions.android.kt:81)
at androidx.compose.ui.text.platform.extensions.SpannableExtensions_androidKt.setColor-RPmYEkk (SpannableExtensions.android.kt:507)
at androidx.compose.ui.text.platform.AndroidAccessibilitySpannableString_androidKt.setSpanStyle (AndroidAccessibilitySpannableString.android.kt:95)
at androidx.compose.ui.text.platform.AndroidAccessibilitySpannableString_androidKt.toAccessibilitySpannableString (AndroidAccessibilitySpannableString.android.kt:63)
at androidx.compose.ui.platform.Andro
import kotlin.math.max
data class Location(val latitude: Double, val longitude: Double)
fun longestUncommonSubsequence(arr1: List<Location>, arr2: List<Location>): Pair<Int, Int> {
if (arr1 == arr2) {
// If both lists are equal, return -1 as both start and end indices
return Pair(-1, -1)
}