41554 blogs · [ { "id": "01a0821b-f53f-7162-a517-d1e4677485d3", "title": "From Postgres to ClickHouse: Achieving Real-Time Aggregations with Materialized Views and Cutting Costs by 80%", "url": "https://engineering.wingify.com//posts/achieving-real-time-aggregations-with-ch-materialized-views/", "published_at": "2025-12-08T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e467e1e3ce", "title": "Breaking the Translation Bottleneck: How AI-Powered i18n Transformed Our Development Workflow", "url": "https://engineering.wingify.com//posts/ai-powered-translation-workflow/", "published_at": "2025-08-12T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e468ca86bd", "title": "VWO Editor: Seamless DOM Manipulations for React-based Websites", "url": "https://engineering.wingify.com//posts/dom-manipulation-for-react-sites/", "published_at": "2025-07-03T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4690cad5f", "title": "AI-Driven Feature Flags: How VWO MCP Server Revolutionizes Your Development Workflow", "url": "https://engineering.wingify.com//posts/vwo-fme-mcp-server/", "published_at": "2025-06-26T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4690e7e73", "title": "Revolutionizing Test Reporting with AI at Wingify - A Deep Dive into CTRF Integration", "url": "https://engineering.wingify.com//posts/revolutionizing-test-reporting-with-ai/", "published_at": "2025-03-17T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e469ea40cc", "title": "Enhancing ClickHouse Architecture with Distributed Query Engines: A Cost-Effective Transformation", "url": "https://engineering.wingify.com//posts/enhancing-clickHouse-architecture-with-distributed-query-engines/", "published_at": "2024-12-22T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46a7f51bb", "title": "How we are writing modern Javascript with AngularJs", "url": "https://engineering.wingify.com//posts/how-we-writing-modern-javascript-with-angularjs-1-x/", "published_at": "2023-03-22T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46aa70c9b", "title": "Computing Aggregates in VWO", "url": "https://engineering.wingify.com//posts/computing-aggregates-in-VWO/", "published_at": "2023-03-09T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46b6f6f36", "title": "Google BigQuery: Why & How we power our Data Platform with it", "url": "https://engineering.wingify.com//posts/google-bigquery-why-how-we-power-our-data-platform/", "published_at": "2022-12-22T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46bcd879a", "title": "Why functional programming is needed", "url": "https://engineering.wingify.com//posts/why-functional-programming-is-needed/", "published_at": "2022-12-15T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46c7939f5", "title": "Network Mocking in Playwright", "url": "https://engineering.wingify.com//posts/Network-Mocking-in-Playwright/", "published_at": "2022-12-15T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46cd28c24", "title": "Automating Tedious Managerial Tasks", "url": "https://engineering.wingify.com//posts/Automating_Managerial_Tasks/", "published_at": "2022-11-28T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46cff8d30", "title": "Rest Assured - Journey to the end to end API automation", "url": "https://engineering.wingify.com//posts/restassured-journey-to-e2e-api-automation/", "published_at": "2022-10-31T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46d63cc57", "title": "Playwright – The Rightful Heir", "url": "https://engineering.wingify.com//posts/playwright-the-rightful-heir/", "published_at": "2022-09-21T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46e49309d", "title": "The Big Bug Hunt - Wingify", "url": "https://engineering.wingify.com//posts/Big_Bug_Hunt/", "published_at": "2022-03-25T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46f0815cb", "title": "Cypress - A worthy replacement for Protractor?", "url": "https://engineering.wingify.com//posts/Cypress-a-worthy-replacement-for-protractor/", "published_at": "2022-03-24T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46f2a9449", "title": "Kroomsa: A search engine for the curious", "url": "https://engineering.wingify.com//posts/kroomsa-a-search-engine-for-the-curious/", "published_at": "2022-02-14T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e46f5d3a5d", "title": "Finding Bughotspots in Source Code", "url": "https://engineering.wingify.com//posts/finding-bughotspots-in-source-code/", "published_at": "2021-10-05T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4701d7864", "title": "Handling Shadow DOM in Protractor Tests", "url": "https://engineering.wingify.com//posts/handling-shadow-dom-in-protractor/", "published_at": "2021-09-17T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4701fb524", "title": "Designers should understand code", "url": "https://engineering.wingify.com//posts/designers-should-understand-code/", "published_at": "2021-07-21T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e470a2a390", "title": "Wingify CTF 2k21", "url": "https://engineering.wingify.com//posts/ctf-2k21/", "published_at": "2021-05-20T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e470b98290", "title": "Performance Testing a data pipeline at scale", "url": "https://engineering.wingify.com//posts/performance-testing-a-data-pipeline-at-scale/", "published_at": "2020-12-22T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e470c60c8c", "title": "Maths behind Bayesian Duration Calculator", "url": "https://engineering.wingify.com//posts/maths-behind-bayesian-duration-calculator/", "published_at": "2020-12-14T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e471c449e8", "title": "A lua-nginx Client for Pub/Sub", "url": "https://engineering.wingify.com//posts/a-lua-nginx-client-for-pubsub/", "published_at": "2020-12-04T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e472306a54", "title": "Kafka Streams Stateful Ingestion with Processor API", "url": "https://engineering.wingify.com//posts/kafka-streams-stateful-ingestion-with-processor-api/", "published_at": "2020-11-10T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e472a468bb", "title": "Programmatic Authentication under IAP on GCP", "url": "https://engineering.wingify.com//posts/programmatic-authentication-under-iap/", "published_at": "2020-09-25T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47349f281", "title": "Performance improvements in VWO SmartCode", "url": "https://engineering.wingify.com//posts/performance-improvements-in-vwo-smart-code/", "published_at": "2020-01-08T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e473f8bd5e", "title": "Three Wingifighters at the BountyCon", "url": "https://engineering.wingify.com//posts/three-wingifighters-at-the-bountycon/", "published_at": "2019-12-18T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e474587dbf", "title": "Wingify towards Docker and Kubernetes", "url": "https://engineering.wingify.com//posts/wingify-towards-docker-kubernetes/", "published_at": "2019-12-03T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47481f730", "title": "JS13K Games 2K18", "url": "https://engineering.wingify.com//posts/js13k-game-development/", "published_at": "2018-09-26T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e474dc5162", "title": "Shift to Atomic CSS", "url": "https://engineering.wingify.com//posts/shift-to-atomic-css/", "published_at": "2018-08-31T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e475c18b9d", "title": "Demystifying Webpack 4 Split Chunks Plugin", "url": "https://engineering.wingify.com//posts/demystifying-split-chunks-plugin/", "published_at": "2018-08-10T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4761eba76", "title": "Automated Heatmap Verification E2E using Selenium and Canvas", "url": "https://engineering.wingify.com//posts/automated-heatmap-verification/", "published_at": "2018-04-03T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4766530c7", "title": "Animations in VueJS", "url": "https://engineering.wingify.com//posts/animations-in-vue-js/", "published_at": "2017-12-12T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e476a52928", "title": "Why we've removed Inheritance/Extend from SASS & you should do the same!", "url": "https://engineering.wingify.com//posts/sass-inheritance-removal/", "published_at": "2017-11-30T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e476ec443d", "title": "Leveraging Kafka Streams to reduce DB Hits", "url": "https://engineering.wingify.com//posts/leveraging-kafka-streams-to-reduce-db-hits/", "published_at": "2017-10-26T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4771215d5", "title": "Migrating towards Yarn and Webpack", "url": "https://engineering.wingify.com//posts/migrating-towards-yarn-webpack/", "published_at": "2017-10-04T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e477f7bbf2", "title": "The First Wingify DevFest", "url": "https://engineering.wingify.com//posts/the-first-wingify-devfest/", "published_at": "2017-10-03T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47817f03d", "title": "Automated environment deployments", "url": "https://engineering.wingify.com//posts/automated-environment-deployments/", "published_at": "2017-09-22T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47897ebab", "title": "PyData at Wingify - My Experience", "url": "https://engineering.wingify.com//posts/wingify-pydata-at-wingify/", "published_at": "2017-09-12T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e479446a5b", "title": "Demand-driven APIs Using GraphQL", "url": "https://engineering.wingify.com//posts/demand-drive-apis-using-graphql/", "published_at": "2017-08-31T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e479b53832", "title": "Wingify's First Internal CTF", "url": "https://engineering.wingify.com//posts/wingify-capture-the-flag/", "published_at": "2017-05-19T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e479de675c", "title": "Wingify Hackathon - Sum It Up", "url": "https://engineering.wingify.com//posts/wingify-hackathon-sum-it-up/", "published_at": "2017-05-03T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47a46181d", "title": "Wingify Hackathon - VWO X-Ray", "url": "https://engineering.wingify.com//posts/wingify-hackathon-vwo-xray/", "published_at": "2017-04-02T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47ab891b5", "title": "Wingify at Europe/UK Conferences", "url": "https://engineering.wingify.com//posts/wingify-at-europe-uk-conferences/", "published_at": "2016-12-25T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47b7ccc5e", "title": "Heybot! - Our skype bot", "url": "https://engineering.wingify.com//posts/heybot-your-skype-bot/", "published_at": "2016-12-23T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47b8d6ad7", "title": "Speeding Up VWO", "url": "https://engineering.wingify.com//posts/speeding-up-vwo/", "published_at": "2016-09-17T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47bee5822", "title": "Secure Your Web Application @JSChannel Conference ’16", "url": "https://engineering.wingify.com//posts/secure-your-web-apps/", "published_at": "2016-08-25T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47ce45e90", "title": "Automating Web Push Notifications @Selenium Conference 2016", "url": "https://engineering.wingify.com//posts/automating-web-push-notifications/", "published_at": "2016-08-04T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47dd5459c", "title": "Let's talk Security - Engineering Talkies", "url": "https://engineering.wingify.com//posts/lets-talk-security/", "published_at": "2016-05-02T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47dff4659", "title": "Code In the Dark at Wingify", "url": "https://engineering.wingify.com//posts/code-in-the-dark/", "published_at": "2016-04-28T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47ea20d7d", "title": "A layout trick", "url": "https://engineering.wingify.com//posts/layout-trick/", "published_at": "2016-04-04T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47ee25d91", "title": "Free objects - a generalized interpreter pattern", "url": "https://engineering.wingify.com//posts/Free-objects/", "published_at": "2016-02-15T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47f993002", "title": "SuperElasticsearch - More Python goodness in elasticsearch-py", "url": "https://engineering.wingify.com//posts/superlelasticsearch/", "published_at": "2015-10-07T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e47faa4d59", "title": "Wingify at Meta Refresh 2015", "url": "https://engineering.wingify.com//posts/meta-refresh-conference/", "published_at": "2015-06-02T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e48014cff7", "title": "Meta Refresh 2015 Delhi Run-up Event hosted at Wingify", "url": "https://engineering.wingify.com//posts/post-meta-refresh-run-up/", "published_at": "2015-06-01T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e480728e02", "title": "Q-Directives - A Faster Directive System For Angular.js", "url": "https://engineering.wingify.com//posts/q-directives/", "published_at": "2015-05-05T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e480d8dbbf", "title": "Elasticsearch for Analytics", "url": "https://engineering.wingify.com//posts/elasticsearch-for-analytics/", "published_at": "2015-03-27T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e481c3f3bc", "title": "Meta Refresh 2015 Delhi Run-Up Event", "url": "https://engineering.wingify.com//posts/meta-refresh-run-up/", "published_at": "2015-03-09T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e481f164fc", "title": "Open source at Wingify", "url": "https://engineering.wingify.com//posts/opensource-at-wingify/", "published_at": "2015-02-20T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4825f98e1", "title": "Testing AngularJS Apps End to End Using Protractor", "url": "https://engineering.wingify.com//posts/angularapp-e2e-testing-with-protractor/", "published_at": "2015-02-13T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4831b3224", "title": "Overcoming the Challenges of Performance Testing Single-page Apps", "url": "https://engineering.wingify.com//posts/performance-testing/", "published_at": "2015-01-29T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e4838dd254", "title": "Wingify at CSSConf / JSConf Asia 2014", "url": "https://engineering.wingify.com//posts/jsconf-asia-2014/", "published_at": "2015-01-17T00:00:00+00:00" }, { "id": "01a0821b-f53f-7162-a517-d1e483feab43", "title": "JSFoo Delhi Run-up Event @ Wingify", "url": "https://engineering.wingify.com//posts/jsfoo-run-up-event-details/", "published_at": "2014-09-08T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a185e7a1d50", "title": "JSFoo 2014 Delhi Run-up Event + JS Contest", "url": "https://engineering.wingify.com//posts/jsfoo-run-up-event/", "published_at": "2014-08-25T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a185f44b45e", "title": "Open Sourcing DOM Comparator", "url": "https://engineering.wingify.com//posts/open-sourcing-dom-comparator/", "published_at": "2014-08-11T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a185fe5e093", "title": "Wingify at The Fifth Elephant", "url": "https://engineering.wingify.com//posts/wingify-at-the-fifth-elephant/", "published_at": "2014-08-02T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a1860a2ede2", "title": "Dynamic CDN", "url": "https://engineering.wingify.com//posts/dynamic-cdn/", "published_at": "2014-07-23T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a18617c1008", "title": "We are sponsoring The Fifth Elephant 2014", "url": "https://engineering.wingify.com//posts/sponsoring-fifth-elephant/", "published_at": "2014-07-21T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a18623bbecc", "title": "Fast Storage with RocksDB", "url": "https://engineering.wingify.com//posts/fast-storage-with-rocksdb/", "published_at": "2014-06-13T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a1862e138cf", "title": "Automated e2e testing- WebDriverJS, Jasmine and Protractor", "url": "https://engineering.wingify.com//posts/e2e-testing-with-webdriverjs-jasmine/", "published_at": "2013-11-26T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a1863b72423", "title": "Scaling with Queues", "url": "https://engineering.wingify.com//posts/scaling-with-queues/", "published_at": "2013-09-02T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a1863eb0781", "title": "Internship experience @Wingify", "url": "https://engineering.wingify.com//posts/internship-experience-at-wingify/", "published_at": "2013-08-05T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a18643626f0", "title": "Getting 60 FPS using Chrome devtools", "url": "https://engineering.wingify.com//posts/getting-60fps-using-devtools/", "published_at": "2013-07-29T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a18648369b1", "title": "please.js - A simple PostMessage based communication library", "url": "https://engineering.wingify.com//posts/please-js-release/", "published_at": "2013-07-15T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a186533ee92", "title": "How We Made The Animated A/B Testing Guide", "url": "https://engineering.wingify.com//posts/making-of-abtesting-scrollmation/", "published_at": "2013-07-08T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a18656ca677", "title": "jQuery Promises: The answer to PostMessage's asynchrony", "url": "https://engineering.wingify.com//posts/jquery-promises-with-postmessage/", "published_at": "2013-06-17T00:00:00+00:00" }, { "id": "01a0821b-f540-711f-94a7-4a186610a942", "title": "Introduction: Engineering @ Wingify", "url": "https://engineering.wingify.com//posts/introduction/", "published_at": "2013-05-22T00:00:00+00:00" } ] posts Claim your blog
Back to Wingify
Blog · corpus.blog/blogs/engineering.wingify.com/posts

Wingify

engineering.wingify.com

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013