MirahLabs Engineering Blog
Technical insights, tutorials, and architectures written by our design and backend engineers.
Implementing OAuth 2.0 and OpenID Connect from Scratch in Flask
OAuth 2.0 and OIDC are the standards powering 'Sign in with Google/GitHub.' This guide explains the flows and implements a complete authorization code flow with PKCE in Flask.
PostgreSQL Full-Text Search: FTS vs pgvector vs Elasticsearch
Full-text search can be implemented several ways in a PostgreSQL-based stack. Compare native FTS, vector semantic search with pgvector, and Elasticsearch for your search requirements.
Nginx as a Reverse Proxy for Flask: Configuration, SSL, and Performance
Nginx sits in front of your Flask app in production, handling SSL termination, static files, request buffering, and load balancing. Learn the optimal Nginx configuration for Flask deployments.
Deploying ML Models to Production: FastAPI + Docker + Kubernetes
Getting an ML model from Jupyter notebook to production requires API serving, containerization, and orchestration. This end-to-end guide covers model serving with FastAPI, containerization, and Kubernetes deployment.
AI Agents and Tool Use: Building Autonomous Workflows with LangGraph
LangGraph enables stateful, multi-step AI agent workflows with cyclic graphs. Learn how to build reliable autonomous agents that use tools, handle errors, and maintain state.
Ethical AI: Bias Detection, Fairness Metrics, and Responsible ML Deployment
AI systems can perpetuate and amplify societal biases. Learn how to audit models for bias, apply fairness constraints during training, and build responsible AI governance frameworks.