Ideas, craft, and perspective.
Engineering depth, product thinking, and lessons from building software that lasts.
Every Query Hit All 18 Shards. Then We Bent the Index Around the Planet.
See how we used Google S2 geosharding to route local searches across a 55-million-document OpenSearch index from 18 shards to as few as one.
Dragutin Marjanović
Error Handling in Scala: Navigating Try, Either, and ZIO
A reliable Scala application requires thinking about failure from the start of its development.
Dimitrije BulajaStop Chasing Ideas Start Validating Products
Learn how to validate product ideas before building. Discover practical product discovery methods, real-world examples, and proven frameworks to reduce risk and build products people want.
Filip KomnenovićCompany Culture: What It Is and How to Grow It
Company culture is the personality of your workplace the mix of values, beliefs, and everyday behaviours that shape how people work together.
Milana TucakovHow We Grow Together at LambdaWorks
What is a Learning Organization? A learning organization is an organization that continuously enhances its ability to adapt, change, and improve by encouraging learning at all levels. ~ Peter Senge
Marko KatićStop Wasting CI Minutes - Use Git Hooks Instead
Stop burning CI minutes on checks your local machine can run faster. This post shows how Git hooks, using tools like Husky, can move linting, tests, builds, and version bumps to pre-commit time, giving you instant feedback, fewer failed pipelines, and a tighter development loop while keeping CI focused on what truly needs it.
Aleksandar PetakovićHow ChatGPT Can Help Us in Writing Clear Bug Reports
Learn how to leverage ChatGPT to write clear, professional bug reports that save time and improve communication between testers and developers. This guide shows you the exact format and prompts to use for creating well-structured bug reports that eliminate confusion and speed up the development cycle.
Ognjen StajčićBuilding Flexible React Components with IoC
Discover how Inversion of Control revolutionizes React component design by enabling the Compound Components Pattern. This article breaks down IoC principles and shows you how to build flexible, reusable components that share state without prop drilling. Learn through practical examples including theme management and complex forms, understand when to use this pattern, and transform your approach to building maintainable React applications.
Stevica KnezevićSwitching Contexts Between Projects
Learn how constant context switching affects developers and explore practical ways to stay focused and productive across multiple projects.
Ivana JankovićPosition or Precision? How Passing Arguments Evolved in Programming Languages
Have you ever wondered how code style influences our thinking about problems? This is a short history of how we pass arguments in code, from assembly's registers to Python's named params. Let's learn why readability matters.
Miloš TepićFrom Prisma to Zod: Streamlined Types, Validation, and Error Handling
If you're tired of rewriting your data structures multiple times in different places, see how you can take your Prisma schemas and turn them into powerful Zod validation and OpenAPI docs — all from one source of truth. Keep your TypeScript code clean, consistent, and bug-free with less hassle!
Aleksandar PetakovićJWT Best Practices
JWTs are powerful for authentication, but require strict security —validate claims, store securely, rotate keys, guard against XSS and more to prevent from attacks.
Ivana KašikovićShould You Use Supabase for Your Side Projects?
A quick dive into using Supabase for a side project. Covers key features like database, auth, storage and more. Great for indie hackers looking for a powerful open-source backend.
Mihajlo MaksimovicProduct Designer Improves your Sleep quality
We're rolling up our sleeves and taking a closer look at the Product designer's role in your business. You have a product, you want it made, you want to sell it. How do we get there, where do we start? Find out what to expect and the impact it has on your product journey challenges.
Anja ZagoričnikUpdate-Heavy Tables (DB VACUUM)
Update-heavy tables contain data frequently updated to stay relevant, like bank balances, train passenger counts, cinema ticket availability, or the number of active taxi drivers in an area. These reflect real-time changes for business needs.
Milorad VojnovićElevating Design Efficiency on Inherited Projects
You inherited a “finished live project”, and you only need to add that new section. Easy peasy...right? Well, not always. See our game-changing design process and elevate your design as well.
Anja ZagoričnikChallenges of Combining AI and Human Expertise
Technological innovation and actual human demands must be balanced in order to develop a GovTech solution like Kopilot. Even though AI can automate or replace many processes in some industries, it's important to recognize the human element involved in these operations.
Aleksandar PetakovićDomain-Driven vs Storage-Driven Object Modeling
One of the main concerns in modern day programming is how best to represent the most important rules of a business domain, where Object Oriented Programming, the idea of encoding interconnected objects as representatives of real life entities in the business domain, is by far the most widespread approach.
Arnold LackoMicro Design Sprints
We've recently started redefining the product discovery process and refining our understanding of our client's needs right from the beginning of our cooperation. As a service company, in 90% of cases, we have one question that we encounter at the very start "How much is this product going to cost us?"
Filip KomnenovićThe Importance of Source Maps on Sentry
Generating and uploading source maps for a TypeScript project that makes use of Sentry monitoring tools can improve your debugging workflow, accelerate bug resolution, and ultimately deliver a more reliable and robust TypeScript application to your users.
Aleksandar PetakovićUnderstanding Technical Due Diligence
Technical due diligence is a critical evaluation process that aims to assess all of the technological aspects of a digital product. It's a comprehensive examination of the overall technical strategy behind the product.
Bojan BlagojevićThe Power of Small Steps: Daily Rituals for Better Development
In the fast-paced world of development, where every task feels urgent and specifications can change on a dime, it’s crucial to cultivate good habits for delivering high-quality products.
Miloš TepićDemystifying SMS Marketing - 10DLC, What Every Business Needs To Know About Large-Scale Messaging
Businesses often struggle with SMS marketing compliance, facing low delivery rates. The 10DLC system, created for high-volume messaging, has made compliance even more critical. By leveraging our experience with CSPs and TCR requirements, we’ve helped clients overcome challenges, achieve high delivery rates, and enhance their SMS strategies for more effective customer engagement.
Stefan RistanovićData-driven Approach for Growing SMBs
Small and medium businesses often get sidetracked by tasks with unclear value. Adopting a data-driven approach helps focus on impactful work. We helped one of our clients faceing this issue, reacting to external requests due to platform instability. By tracking key metrics like uptime and errors using tools like Metabase and Redshift, they improved performance. This transparency fostered collaboration, drove growth, and helped raise funding.
Bojan Babić