Raipur, Chhattisgarh · Applied AI Lab

The Engineering
Stack

Frameworks and languages, cloud and infrastructure, and the craft that holds them together. LangChain and Python. AWS, containers and Amazon Bedrock — or self-hosted inference when the data demands it. Evaluation, testing, monitoring, documentation and full-stack delivery. Built in Raipur for Chhattisgarh and Central India.

What is an AI engineering stack?

An AI engineering stack is the three layers that sit between a model and a working product: the frameworks and languages you build in, the cloud and infrastructure you run on, and the craft — evaluation, testing, monitoring, documentation and full-stack delivery — that makes the result dependable.

Most AI projects fail on the third layer, not the first. Choosing LangChain is easy; proving the system is correct, observable and maintainable is the hard part. This page sets out exactly what we build with, and why.

3 tiers
Managed, hybrid and self-hosted inference
1 codebase
Backend to frontend, one accountable team
Eval-first
Thresholds measured before scale
IaC
Reproducible infrastructure, never console-only

Frameworks & languages

Python and LangChain at the core, wrapped in the APIs, databases and pipelines that turn a working prototype into a production system. We use frameworks where they earn their place, and plain Python where they do not.

LangChain

Retrievers, tool calling, chains, agent loops, memory and structured output. We use it where it accelerates delivery, and replace it with a lighter custom orchestrator when a workflow needs tighter control over routing, retries or latency.

Retrievers Tool calling Agents

Python

The working language of applied AI. Typed interfaces, async pipelines, FastAPI services, clean packaging and dependency hygiene — the parts of Python that keep a system maintainable six months after launch.

FastAPI asyncio Typing

APIs

REST and streaming endpoints, function-calling schemas, authentication and authorisation, rate limiting, retries with backoff, idempotency keys and versioning that does not break the client on release day.

REST Streaming Versioning

Databases

PostgreSQL with pgvector as the default for relational and vector data in one place. Redis for caching and queues, object storage for documents, plus schema design, migrations and indexing tuned for hybrid retrieval.

PostgreSQL pgvector Redis

Data pipelines

Ingestion, parsing, enrichment, chunking, embedding and incremental sync. Idempotent jobs, safe backfills, dead-letter handling and lineage you can actually trace when a document goes missing from an answer.

Ingestion Chunking Backfills

Content pipelines

Structured authoring, metadata, taxonomy, schema and publishing workflows — so the corpus feeding retrieval is consistent, versioned and QA'd rather than scraped and hoped for.

Taxonomy Metadata Content QA

Cloud & infrastructure

AWS-first architecture with an honest path to self-hosted inference — because the right answer depends on your volume, your model choice and your data residency obligations, not on a vendor preference. Every environment we build is reproducible from code, not from a console session.

Foundation

AWS

Account structure, IAM least privilege, VPC design, cost guardrails and tagging from day one — the parts that are painful to retrofit later.

Compute

Compute

Lambda for event work, ECS and Fargate for services, EC2 and GPU instances for inference. Autoscaling and right-sizing against real traffic, not guesses.

Storage

Storage

S3 lifecycle and tiering, EBS and EFS for stateful workloads, encryption at rest, versioning and retention that matches your compliance posture.

Runtime

Containers

Hardened Docker images, ECS or EKS orchestration, registry hygiene, reproducible builds and blue/green deploys with a clean rollback path.

Visibility

Monitoring

CloudWatch and OpenTelemetry. Structured logs, distributed traces, latency and cost dashboards, and alerts routed to a human who can act.

Managed AI

Amazon Bedrock

Managed access to foundation models, Knowledge Bases, Guardrails, model evaluation and provisioned throughput — the fastest credible route to production.

Self-hosted

Self-hosted inference

Open-weight models served on your own GPUs with vLLM or TGI — quantisation, continuous batching, KV-cache tuning, and air-gapped deployment when data cannot leave your boundary.

Design

Cloud architecture

Reference designs, network isolation, disaster recovery, backup strategy, infrastructure as code with Terraform or CDK, and a cost model you can defend.

Managed or self-hosted? The decision, side by side

Dimension Amazon Bedrock (managed) Self-hosted inference
Time to first deploy Hours to days Weeks — GPU capacity, serving stack, tuning
Cost profile Per-token, predictable, scales to zero Lowest marginal cost under sustained load
Data residency Region-pinned within AWS Entirely inside your VPC, or on-premises
Model choice Curated catalogue of foundation models Any open-weights model you can serve
Operational burden Low — managed scaling and availability High — GPU capacity, upgrades, on-call
Best fit Fast production starts, variable or unproven load Steady high volume, sensitive data, custom models

Start managed, measure honestly

Begin on Bedrock, instrument token spend and latency per request from the first week, and let real numbers — not opinions — tell you when self-hosting becomes cheaper.

Design for a swap

Keep the model behind an internal interface. The cost of changing inference provider later should be a configuration change, never a rewrite.

Sensitive data changes the answer

When DPDP obligations or contractual constraints mean data cannot leave your boundary, self-hosted inference stops being a cost question and becomes the only compliant option.

Craft: how the work is actually done

Frameworks and cloud are the what. Craft is the how — and it is the layer that separates a system that demos from a system that runs. This is where most AI projects quietly fail, so this is where we spend the most care.

Evaluation

A golden dataset before a feature. Retrieval metrics — context precision and recall — alongside generation metrics such as answer relevance and faithfulness. Thresholds enforced in CI so quality cannot silently regress.

Testing

Unit, integration, contract and load tests for deterministic components. Prompt regression suites, tool-schema validation and adversarial cases for the non-deterministic ones. Tests that fail loudly, not tests that pass politely.

Monitoring

Latency, token spend, retrieval hit rate, refusal rate and escalation rate tracked in production. Drift detection on inputs and outputs, and alerting that reaches someone who can actually fix the problem.

Technical documentation

Architecture decision records that explain the why, runbooks for the 3 a.m. pager, API references, data dictionaries and a handover pack written for the engineer who inherits the system — not for the slide deck.

AI-assisted development

We build with Cursor, and we hold the line that generated code is reviewed code. Spec-first prompting, deliberate diff review, AI-assisted test generation and the same standards applied to every line, whoever or whatever typed it.

Full stack

Backend and frontend owned by one accountable team — Python services and pipelines behind streaming interfaces, admin consoles and evaluation dashboards your team can actually read and use.

A model is not a product. The product is the pipeline, the tests, the dashboards and the documentation around it.

How a system gets delivered

Six stages, fixed sequence, no stage skipped — because the stages that feel optional are the ones that decide whether the system survives contact with production.

Stage 01

Scope & data audit

Define the decision the system must support, then audit the data behind it — sources, formats, access rights, quality and compliance constraints. Most scope problems surface here, which is exactly when they are cheapest to solve.

Stage 02

Architecture & reference design

Choose the retrieval architecture, the inference path — Bedrock, self-hosted or hybrid — the database stack and the cloud topology. Written down as a decision record, so the reasoning outlives the meeting.

Stage 03

Build

Python services, data and content pipelines, APIs, containers, infrastructure as code and the frontend interface — developed in vertical slices so something useful works early and keeps working.

Stage 04

Evaluate

Build the golden set, run retrieval and generation metrics, establish the baseline and wire the thresholds into CI. From this point forward, no change ships without clearing the same bar.

Stage 05

Harden

Guardrails, input and output filtering, escalation triggers, monitoring, tracing, alerting and cost controls. Load testing against realistic concurrency, and failure modes rehearsed rather than assumed.

Stage 06

Operate & hand over

Runbooks, architecture records, API references, dashboards and team training — so your engineers can run, extend and eventually own the system without us in the room.

Chhattisgarh’s Self-Sufficient AI Ecosystem

Chhattisgarh is building its own AI infrastructure, with Raipur at the centre—creating a self-sufficient AI ecosystem driven by local talent, cost advantages, and direct access to state AI programmes. Raipur offers a strong independent foundation for AI growth while complementing India’s established tech hubs.

Chhattisgarh AI Infrastructure
A ₹500 crore, five-year initiative establishing 100 AI Data Labs, five AI Centres of Excellence, support for 300+ AI startups, training for six lakh students and 1.5 lakh government employees, and more than 50 AI-powered government services.
Local AI Talent in Raipur
IIIT Naya Raipur's AI Centre of Excellence and the state's AI and Robotics Clubs produce engineers who can build production AI systems locally, without relaying across distant metros.
Cost Advantage for AI Businesses
Raipur-based engineering teams deliver 40–60% substantial cost savings against metro-based teams, with materially lower attrition volatility than Bengaluru, Hyderabad or Pune.
Complementary to India's Tech Hubs
Raipur builds its own AI strengths while collaborating with established tech hubs like Bengaluru and Hyderabad, adding a strategic central India AI corridor.

Build, embed or train

Build — we deliver the system end to end. Embed — we work inside your AWS account and team, following your conventions. Train — we upskill your engineers on the same stack and standards, so the capability stays after the engagement ends.

Frequently asked questions

Straight answers to the questions engineering leaders ask us most often about the stack.

What makes Raipur a strong AI destination?

Raipur anchors Chhattisgarh’s AI infrastructure, offering local talent, cost advantages, and direct access to state AI programmes, creating a self-sufficient AI ecosystem.

How does Raipur complement India’s major tech hubs?

Raipur builds its own AI strengths and can collaborate with established hubs like Bengaluru and Hyderabad, adding a central India AI corridor.

Do you build on LangChain or a custom orchestration layer?

Both, chosen on merit. LangChain is the default for retrievers, tool calling, chains and agent loops because it is well understood and fast to build on. When a workflow is latency-sensitive, unusually shaped, or needs tight control over retries and routing, we write a lighter custom orchestrator in plain Python. The framework is a means, not a requirement.

When should we use Amazon Bedrock instead of self-hosted inference?

Use Bedrock when you need to reach production quickly, when load is variable or hard to forecast, when managed guardrails and knowledge bases help, and when your data may reside in a supported AWS region. Move to self-hosted inference when sustained volume makes marginal cost dominant, when you need a model outside the managed catalogue, or when data residency and DPDP compliance require inference inside your own VPC or on-premises.

Which database stack do you recommend for an AI application?

PostgreSQL with pgvector is our default for relational and vector data together, because it keeps one operational surface and performs competitively for local deployments. Redis handles caching and queues; object storage handles documents and artefacts. We move to a dedicated vector engine such as Qdrant or Weaviate when scale, filtered-search volume or managed-cloud requirements justify the extra infrastructure.

How do you test a non-deterministic AI system?

You test it at the seams. Deterministic components get conventional unit, integration, contract and load tests. Non-deterministic components get an evaluation harness — a golden dataset, retrieval metrics such as context precision and recall, generation metrics such as answer relevance and faithfulness, and pass thresholds enforced in CI. Prompts and tool schemas get their own regression suites, and guardrails are tested across multi-turn conversations rather than single queries.

Do you deliver the frontend as well as the backend?

Yes. We deliver full stack — Python services and pipelines on the backend, and the interface your users actually touch on the frontend, including streaming chat interfaces, admin consoles and evaluation dashboards. One accountable team owns the system from database schema to screen.

Can you work inside our existing AWS account and team?

Yes. We work in your AWS account under your IAM and network policies, follow your infrastructure-as-code conventions, and can operate in build, embed or train mode depending on how much of the work you want to retain in-house.

Talk to an engineer, not a sales deck

Bring us the awkward part — the pipeline that keeps breaking, the inference bill that keeps climbing, the evaluation set nobody has built yet, or the system that works in a demo and nowhere else.

We will tell you what we would build, what it would cost, and where we think the real risk sits. If the honest answer is that you do not need us, we will say that too.

Pure Applied Labs

Raipur, Chhattisgarh 492001, India
contact@pureappliedlabs.com

Request a technical consult

Share a few details and we will respond within one business day.

Direct WhatsApp
Chat with our Systems & Stack Architects
+91 94255 40216