Karthik Veeramalai

mba Aviation • Lead Data Scientist
Arlington, VA, USA

Bio

Applied AI / Forward Deployed Engineer: 7+ years in data science and engineering, ~3 years shipping production LLM and agentic AI on AWS Bedrock (Python, FastAPI, pgvector). Built a multi-step RAG + text-to-SQL agent over 5.76M records for ~150 paying companies, with per-tool authorization, metering, and Ragas evals in CI. Own customer engagements end to end with banks, airlines, and lessors; lead an 8-person team. Published an 87-tool open-source MCP server. Open to relocation.

Work experience

Lead Data Scientist
Feb 2019 - Present

Engineering lead for REDBOOK (aircraft appraisal), AERO (asset management), and JumpseatSMS (safety management), aviation finance SaaS used by 8 of the 10 largest investment banks by AUM. Lead an 8-person product team (6 developers, PM, designer); grew revenue 4x and users 3x over five years. Forward-deployed scope: primary technical advisor to banks, airlines, and lessors — technical discovery with CTOs and engineering leads, solution architecture, pre-sales demos, pilots, onboarding, renewals, and deal support; decide when customer-specific work becomes a product-wide capability. Applied AI delivery: designed and shipped Aerolytics, a Python/FastAPI agent on Amazon Bedrock and PostgreSQL/pgvector combining RAG, text-to-SQL, and valuation tools over 5.76M aircraft records (~60K added weekly); rolled out from ~50 internal users to ~150 paying companies with per-tool authorization, multi-tenant access controls, metering/billing per tool call, execution traces, inference telemetry, and a 25-case Ragas evaluation harness in CI. Built an AI risk-scoring service for JumpseatSMS on Bedrock (Flask, structured JSON outputs, cross-field validation, rules-based fallback) and Bedrock Converse pipelines that turn PDF/Word/Excel lease and specification documents into structured records with versioning and checksum-based regeneration. Platform and operations: own the SDLC end to end (standards, code review, CI/CD, ops); GitHub Actions deployments to ECS via AWS OIDC; administer 100 GB+ PostgreSQL databases; built a PostgREST/plpython3 API serving inflation-adjusted valuations for 45,000+ aircraft; OCR pipeline (Tesseract) that eliminated 2,700+ hours of manual data entry. Led team adoption of Claude Code with pair-programming on live tickets and an MCP server for the team's self-hosted OpenProject.

PythonFastAPIFlaskDjangoPydanticSQLAlchemyasyncpgasynciohttpxPostgreSQLpgvectorplpython3PostgRESTSQLAmazon BedrockAWS ECSAWS ECRAWS LambdaAWS S3AWS IAMDockerGunicornGitHub ActionsRAGText-to-SQLLLM AgentsMCPPrompt EngineeringRagasLLM EvaluationClaude CodepandasNumPyTesseractpytestRuffPyright
Intern, Data Science
May 2018 - Dec 2018

Built an SVM model in R predicting aircraft dry-lease terms; 92% of leases predicted within a 12-month margin. Maintained Pentaho ETL scripts and PostgreSQL across three environments; wrote staging-to-production/test data synchronization procedures.

RSVMPostgreSQLPentahoETLSQL
Graduate Research Assistant
Aug 2018 - Dec 2018
Centre for Health Information and Decision Systems, University of Marylandhttps://www.rhsmith.umd.edu/centers/chids

Trained a Gaussian mixture model for voice-signature identification and speaker diarization of recorded conversations.

PythonGaussian Mixture ModelsSpeaker DiarizationSignal Processing
Embedded Engineer
Sep 2016 - Jun 2017
inkers.ai (Inkers Technology Pvt Ltd)https://inkers.ai

Co-developed the flight stack (C++) for an autonomous single-copter with onboard computer vision, the smallest of its kind at the time. Built a 95%+ accurate sensor-fusion displacement model (Python/scikit-learn) that reduced sensor redundancy; real-time 3D trajectory plotting with OpenGL via vispy; wireless pipelines streaming four 720p video feeds under 10 ms latency. Generated and curated 100K+ image and 10M+ row text datasets for self-driving AI training.

C++Pythonscikit-learnOpenGLvispyComputer VisionSensor FusionEmbedded Systems

Projects

Aerolytics — production analytics agent
Jan 2025 - Present
Lead engineer

Multi-step RAG + text-to-SQL agent on Amazon Bedrock answering fleet, valuation, and lease-rate questions over 5.76M aircraft records for ~150 paying companies.

Owned the agent and tool-execution system end to end at mba Aviation. Custom orchestration loop bounded to six tool-calling iterations with dependent tool calls, error feedback for model-driven recovery, and preserved provider-native tool-call sequences. Metadata-aware RAG over schema docs, aviation nomenclature, and SQL examples in PostgreSQL/pgvector (Cohere embeddings, in-memory cosine retrieval); separate RAG-grounded SQL generation via a forced tool schema; application-level SQL validation, read-only DB path, statement timeouts, and row limits. Provider-neutral chat/embedding interfaces behind a Bedrock Converse adapter with adaptive retries and 503 fallback. Execution traces, token/latency/SQL telemetry in PostgreSQL, 25-case Ragas harness in CI, and an internal frontend for golden-set curation and prompt refinement. Deployed to ECS via GitHub Actions with AWS OIDC. Scaled from ~50 internal users to ~150 paying companies with per-tool authorization, multi-tenant access control, and metered billing.

PythonFastAPIAmazon BedrockPostgreSQLpgvectorasyncpgPydanticRAGText-to-SQLLLM AgentsRagasCohere EmbeddingsDockerAWS ECSGitHub Actions
OpenProject MCP ServerOpen Source

87-tool open-source MCP server (Python/FastMCP) connecting AI coding agents to OpenProject work packages, Git/PR activity, and reporting.

Built and published an MCP server exposing 87 tools, 4 workflow prompts, and 3 resource templates over OpenProject API v3, originally for the team's self-hosted instance so coding agents can read and update work packages from development workflows. Security model for agent actions: read-only mode, admin-gated membership changes, configurable tool-group restrictions, destructive-action confirmation, bearer auth with constant-time comparison, credential redaction. Async httpx HTTP/2 client with pooling, bounded retries with jitter and Retry-After handling, credential-scoped TTL cache that collapses concurrent misses, optimistic concurrency via lockVersion, and form preflight validation with actionable errors. Offline pytest/respx/Hypothesis test suite; CI with Ruff, strict Pyright, Python 3.12–3.14; tag-triggered OIDC Trusted Publishing to PyPI and the MCP Registry.

PythonFastMCPMCPPydantichttpxasynciopytestHypothesisrespxRuffPyrightGitHub ActionsPyPI
AI Risk Assessment for JumpseatSMS
Lead engineer

AI-assisted aviation safety risk-scoring service on Amazon Bedrock integrating incident data and free-text narratives into a production Django SMS product.

Built a Python/Flask service on Amazon Bedrock that scores safety risk from relational incident data and unstructured narratives. Structured JSON output handling, cross-field consistency validation, inference diagnostics and telemetry, a configurable rules-based scoring path, and backward-compatible REST APIs into the existing Django product. Packaged with Docker/Gunicorn and deployed to ECR/ECS through GitHub Actions. Replaced an earlier ANN-based topic-modeling system I had built.

PythonFlaskDjangoAmazon BedrockPostgreSQLSQLAlchemypandasDockerGunicornAWS ECSGitHub ActionsPrompt EngineeringLLM Evaluation

Skills

AWS ECRAWS ECSAWS IAMAWS LambdaAWS S3Amazon BedrockC++Claude CodeCohere EmbeddingsComputer VisionDjangoDockerETLEmbedded SystemsFastAPIFastMCPFlaskGaussian Mixture ModelsGitHub ActionsGunicornHypothesisLLM AgentsLLM EvaluationMCPNumPyOpenGLPentahoPostgRESTPostgreSQLPrompt EngineeringPyPIPydanticPyrightPythonRRAGRagasRuffSQLSQLAlchemySVMSensor FusionSignal ProcessingSpeaker DiarizationTesseractText-to-SQLasyncioasyncpghttpxpandaspgvectorplpython3pytestrespxscikit-learnvispy