Blog Posts
Codemancers is an AI-first engineering and product consulting company. We design, build, and ship intelligent products — combining deep software craftsmanship with modern AI to solve real-world problems at scale.
AI / MLRuby / RailsDevOps / SRE / infrastructureSoftware / engineering practice
- Posts
- 177 from 8 May 2012 to 30 Oct 2026
- Posting
- monthly (23 in the last year)
- Kind
- company blog
- Feed
- https://crypt.codemancers.com/rss.xml
2026 19
- Building our own infra using our office hardware
- What Is an AI Harness?
- The Design Philosophy Behind Our AI Products
- Yuva · 22 Oct 2026The Design Philosophy Behind Our AI ProductsThree patterns that shape how Gather AI and Zuko look and feel, and why we believe they're the future of AI products.Read article
- The Saga Design Pattern: Safe Multi-Step Operations
- Puneeth kumar · 08 Oct 2026The Saga Design Pattern: Safe Multi-Step OperationsWhat do you do when a card is charged but the order never ships? A friendly guide to the Saga pattern: compensating steps, choreography vs orchestration, and the mistakes that are easy to make.Read article
- K3s Architecture: Kubernetes Fundamentals
- Nitturu Baba · 24 Sep 2026K3s Architecture: Kubernetes FundamentalsA beginner-friendly guide to Kubernetes and K3s: core concepts, cluster architecture, and how to spin up your own cluster to test and play around with.Read article
- Agent Auth Protocol: How AI Agents Get Permission to Act
- A Folder and a Markdown File: How Agent Skills Actually Work
- How Claude's Text Watermark Works (And Where It Breaks Down)
- Agentic Memory: A Practical Guide to How AI Agents Remember
- What is `llms.txt`, Why It Matters, and How to Use It
- Protecting Your LLM Applications from Prompt Injection Attacks
- How to Read a Flame Graph in Chrome DevTools
- Ruby's JIT Journey: From MJIT to YJIT to ZJIT
- Evaluating LLM Agents: Confidence Through Pre-Production Testing
- Evaluating LLM Agents: Building the Design Phase Right
- Reverse Proxying over WebSockets: Building a Production-Ready Local Tunnel
2025 22
- Getting Started with DeepAgents: Building Structured, Long-Running AI Agents
- Operating Kafka in Rails with Karafka: Production Architecture, Consumers, and DLQs (Part 2)
- Operating Kafka in Rails with Karafka: Production Architecture, Consumers, and DLQs (Part 1)
- Understanding the Browser's Layout Engine: Formatting Contexts, Stacking, and Compositing Explained
- OAuth Proxy Server: Handling Dynamic Redirect URIs in Development Environments
- From State to Edges: How LangGraph Connects the Dots
- Step One in RAG: Building Your First Knowledge Retrieval Pipeline
- LangGraph Explained: Building Smarter, More Reliable AI Agents
- Real-Time Event Streaming in Rails with Apache Kafka and Karafka
- Turn Data into Insights with Apache Superset
- Data Made Simple with Metabase
- Map Client Roles to User Groups in Keycloak
- Turbo Morphing —A Cleaner Way to Update Your Rails UI
- Convert Figma design to code
- Keycloak with Google Login
- What is TimescaleDB? A Beginner's Guide to Time-Series Data
- Rails Inflections: The Magic Behind Singular and Plural Transformation
- Unleash the Power of Hotwire(Part 2): Getting Started with Stimulus
- Auth0 actions
- Understanding AI Orchestrators, Agents, Tools, and Workflow Automation
- Enhancing AI Capabilities with Tool Calling
- Understanding the Rails Asset Pipeline
2024 28
- Next.js 15
- Row level security in Postgres
- Keycloak Single Sign-On Integration with Rails using omniauth-keycloak gem
- Mock External Services in Rails with WebMock and Rack
- Implementing Retrieval-Augmented Generation with LangChain, Pgvector and OpenAI
- Understanding Retrieval-Augmented Generation (RAG) with OpenAI
- Managing Server State in React Application using React-Query
- Organizing ActiveRecord Models into a Tree Structure with the Ancestry Gem in Rails
- Passwordless Authentication Flow in Cognito User Pool
- Understanding Database Connections in Rails
- How to Convert a React App to Native Mobile Apps Using Capacitor.js
- Unleash the Power of Hotwire(Part 1)
- Rails Autoloading - Classic and Zeitwerk
- How to setup vitest in Next.js 14
- NextJS Integration with Contentful
- Next js 14 intercepting routes
- Setting Up Google Sign-In in a Next.js App
- Running GitHub Actions Locally with act - A Comprehensive Guide
- Exploring Auth0 Custom Actions
- How to implement react hook form with headlessui
- Data Fetching Strategies in Next.js and Their Impact on Page Rendering and Performance
- Streamlining Development
- Using AWS S3 with Rails ActiveStorage for File Uploads
- Server Actions in Next.js 14
- An Introduction to Caching
- npm vs Yarn vs pnpm
- Exploring the GlideApps Data Grid React Package
- Asynchronous programming in Dart - Streams (Part II)
2023 18
- Asynchronous programming in Dart (Part I)
- Unlocking Global Reach
- A Guide to Efficient Website Management
- Understanding How Strapi Works
- Understanding basic CSS Units for web design and bridging the gap between Designer and Developers.
- Command the Command Line
- Next MDX vs Next Contentlayer
- How do we automate OTP using gmail tester in cypress & playwright e2e test
- How Does Gatsby Work ?
- Typescript 5
- Percentiles in Performance Testing
- Chrome Profiler, A Complete Guide
- Testing Simplified
- Streamlining User Access To OpenVPN A Step-by-Step Guide To Setting Up SSO For Your OpenVPN Server with Keycloak
- XSS attacks
- How to Test Received Emails with Cypress, Ethereal, and ImapFlow
- What is the Difference between Server Side Rendering and Client Side Rendering
- A Beginners Guide to A/B Testing
2022 10
- How Asynchronous JavaScript Works
- Developing a design system, a design developer collaboration
- The Way of the Frontend Debugging
- Exploring the power of Redux-Saga by implementing cancellable polling.
- Overcoming the challenges associated with Parallax Scrolling
- Secret Injection for Github Actions using AWS Secret Manager
- Integrate Sentry With Strapi
- Authenticated Requests to Strapi
- Tagged Templates
- Netlify Deployment Previews for Self-hosted GitLab on Private Network
2021 8
- Strapi Local Plugin Development
- How to Release Artifacts Using Gitlab CICD
- Test cases using Jest and React Testing Library
- Batching in React
- Understanding how Redis eviction policies work
- Guide to set up Gitlab CI for Rails tests
- Working around rate limiting external apis with Elixir
- Using Index of an array as KEY Can Lead to Bad Consequences
2020 16
- Real world usecase for GenServer and Agent in Elixir
- What I Learned while working on an Elixir App
- Poor Man's High Availability Vault Server With Auto Unseal Using KMS
- Nuances of Elixir Releases for Phoenix Applications
- Diving into the internals of Gem packaging
- A real world use case with Elixir Recursion
- A Full Stack Guide to Graphql
- Auto Deploy to Heroku Using Gitlab CI
- SSH Access Management - Control SSH Access With Vault OTP Engine (PART 2)
- SSH Access Management - Control SSH Access With Vault OTP Engine (PART 1)
- Encrypting and storing Kubernetes secrets in Git
- A Full Stack Guide to Graphql
- The Full-Stack guide to GraphQL
- Extract data from a QR code in Elixir
- A quick introduction to parallelism in JavaScript
- Overlap an image over a QR code using Mogrify
2019 2
2018 7
2017 2
2016 8
- Autodeploy from github using AWS CodeDeploy
- Elixir/Phoenix deployments using Distillery
- React.js
- APIs supporting snake_case and camelCase with Rails
- Continuous Deployment using Docker Cloud
- Working with Rails, Webpack and Heroku
- Understanding Exit Signals in Erlang/Elixir
- Visualizing Parallel Requests in Elixir
2015 6
2014 9
- Cake walk
- What you need to know about software process and tools as a non-tech product owner - Part 2
- Using Git for Knowledge sharing
- An Introduction to JSON Schema
- What you need to know about software process and tools as a non-tech product owner - Part 1
- Form object validations in Rails 4
- Design and Development Process
- Making an Indian agency work for your startup
- Random Ruby tips from trenches #1
2013 20
- CSS3 Box Model behaviour
- Rendering images for Retina or any high DPI screens.
- Setting up Emacs as Ruby development environment on OSX
- How rails reloads your source code in development mode?
- Isolate Namespace in Rails Engines - A hack in itself
- Setting up Source Maps for CoffeeScript in Rails
- Redefine rake routes to add your own custom tag in Rails
- Non native fullscreen for OSX on emacs 24.3
- Introducing Invoker - Manage processes in development envionment
- All you need to know about writing a mountable Rails Gem with rspec
- Profile Ruby 2.0 apps using DTrace - part 2
- Vim tab completion for RubyMotion
- Rails Autoload Path
- Profile Ruby 2.0 apps using DTrace - Part 1
- Using Backbone JS in multipage application
- Zoom pane in tmux
- Poor man's rspec mode for emacs
- Bundler
- Git checkout previous branch
- Remove branches merged into master