How Apache YuniKorn Taught Our Kubernetes Cluster to Play Tetris
A story about Spark, scheduling, and a cloud bill that refused to make sense. Chapter 1: A Fresh Start on Kubernetes Every migration story starts with optimism, and ours was no different. We had just moved our Spark workloads from EMR to Kubernetes (EKS). On paper, it was…
One Autovacuum Away: Partitioning slice’s Billion-Row Transaction Tables Without Downtime
Preface One evening Postgres ran a routine ANALYZE on one of our tables. Within minutes, one of our payment products was degraded. Nothing had been deployed. No migration, no config change, and traffic was normal. Yet the database writer was saturated, latency on the transaction…
How We Solved a Kafka Freeze, 5x-ed Throughput, and Right-Sized Our Partitions — Lessons from…
How We Solved a Kafka Freeze, 5x-ed Throughput, and Right-Sized Our Partitions — Lessons from Production at Scale At Slice, we run a high-throughput event-driven backend. Kafka is at the center of it, processing payments, order lifecycle events, and downstream integrations…
Mastering Cloud Cost Optimization: Lessons from Scaling Trino, Spark and S3
Cost management is a critical factor in the implementation and maintenance of a data platform, as it often accounts for a significant share of an organization’s overall infrastructure costs and must consistently deliver strong return on investment. As data platforms scale to…
Bringing Interfaces to Life with Rive: Real-Time Animations at slice
At slice, we’ve always believed that a good UI shouldn’t just react, it should feel alive. When we started building new experiences like Voice Pay, we quickly ran into a problem that traditional animation tools just couldn’t deliver the kind of real-time interactivity we were…
Building slice’s Chatbot: An Engineering Journey (Series 2)
Tags:Intent Detection, Decision Tree, User Experience, Support Automation Introduction Modern customer support faces a fundamental paradox: despite having comprehensive user data, transaction histories, and real-time system states, most chatbot interfaces still present users…
Centralized Dynamic Navigation at Scale: Zero Crashes, Module Independence, Faster Delivery
How we achieved a crash less centralised navigation system using deep-links and runtime destination loading in our android app. Pre-requisite: This is an advanced concept, Basic Android Navigation understanding is required: NavController: Manages navigation between…
Building Slice’s Chatbot: An Engineering Journey (Series 1)
Building slice’s Chatbot: An Engineering Journey (Series 1) Tags: MQTT, EMQX, Kafka, Real-Time System, Event-Driven Systems Introduction As our chatbot requirements grew, we transitioned from a managed chatbot solution to an in-house system. This blog highlights the challenges…
The Journey to Faster Android Builds: How We Slashed Our Build Times at slice
As an Android developer at slice, watching our app evolve from a simple financial product to a full fledged bank has been exciting. But this growth came with a challenge familiar to many developers: increasingly painful build times. What started as a minor inconvenience…
Android Network Observability: Shedding Light on Performance Blind Spots
Introduction In Android development, network performance issues can be notoriously hard to debug. While tools like Firebase Performance Monitoring provide high-level insights like error rates and latency, they fall short in providing granular visibility into each stage of the…
Seamlessly Migrating from MongoDB to PostgreSQL: Leveraging Data Platform for Scalable Success
Freaking hard Migration from MongoDB to PostgreSQL: Leveraging Data Platform for Scalable Success Introduction In today’s fast-paced digital landscape, selecting the right database technology is a crucial decision for any organisation’s success. Initially, MongoDB’s flexible…
This is written by Sarthak – Staff engineer, BankingThis write up summarizes some Opinions™️ that I have around good alerts, particularly in the context of infrastructure and platforms. The advice in here doesn’t represent universal truths, merely my experience over being…