Technology Expertise
OpenAI Development & AI Integration
We integrate the OpenAI API into products and internal tools with two goals: output your code can validate, and a cost finance can predict. Where the engagement calls for it, a second provider as a fallback turns an outage at OpenAI into an inconvenience rather than a stoppage.
Start a OpenAI project →What OpenAI expertise does Code and Trust have?
We build on the OpenAI API with structured outputs and function calling for typed results, embeddings for search and retrieval over your content, and realtime audio for voice agents. We recommend putting each integration behind one interface in your code, so a second provider can serve as a fallback and each task can use the cheapest model that passes its tests.
What we build with the OpenAI API
Most requests fall into four shapes, and each is judged by a different test: extraction by accuracy against your schema, assistants by whether the right function was called, search by whether the right passage was found, and voice by latency and cost per minute.
- →Extraction from documents, emails and forms into the fields your database already has
- →Assistants inside your product that call your own functions to look things up or make changes
- →Search and question answering over your content using embeddings
- →Phone and voice agents built on realtime audio
Structured outputs and function calling: output your code can trust
Free text is hard to build on. The approach that holds up is to define the shape you need as a JSON schema, ask the model for exactly that, and validate responses in code before they touch a database or trigger an action. A schema guarantees the shape, not the values, so the check has to cover both: a response that fails is retried or sent to a reviewer, not quietly accepted. Function calling follows the same rule: the model proposes a call and its arguments, and your code decides whether to run it. How much of this a feature needs depends on what it touches.
- →Schemas versioned alongside the code that consumes them
- →Validation on every response, not only in testing
- →Irreversible functions gated behind a confirmation step
Embeddings and retrieval
Retrieval quality decides most question-answering projects, and it is usually a data problem before it is a model problem. The decisions are how documents are split, what metadata travels with each piece, and where vectors live: in the database you already run (PostgreSQL with pgvector, for example, which our database design practice sets up) or in a dedicated vector store when volume or latency calls for one. Which fits depends on the project. Retrieval is worth testing on its own, with questions whose correct source passage is known, before judging the answers built on top of it (our RAG answer walks through the steps).
Voice and realtime
Voice is where latency and per-minute cost stop being abstractions. Our comparison of Twilio, Vapi, Retell and self-hosted phone agents works through the latency floor and per-minute cost of a GPT-4o-based stack, and our OpenClaw phone guide covers keeping an agent's tools available during a realtime call. The practical lesson from both: model selection is the biggest cost lever, so a voice project should be priced at your real call volume before the model is chosen.
More than one provider, when it pays
We rarely recommend depending on a single model provider. Having each feature call a small interface in your code rather than the vendor SDK directly lets you route high-volume, simple tasks to a cheaper model, send harder reasoning to a stronger one from whichever provider scores best (see our Claude page), and fail over when a provider is slow or down. Changing a model then means rerunning the evaluation set, not rewriting the feature. Whether a build needs this depends on the engagement; where it does, the shape is:
- →One interface per capability, not per vendor
- →A fallback model tested against the same evaluation set
- →Per-task model choice recorded in configuration, not scattered through code
Cost controls from the first release
Token spend grows with success, so it should be measured before it surprises anyone. The setup we recommend logs every request with the model, token counts and the feature that made it, and gives each feature a budget and an alert.
- →Prompt caching and shorter prompts for repeated context
- →The smallest model tier that passes the evaluation set
- →Usage dashboards per feature, with alerts on unusual spend
Why Code and Trust uses OpenAI
Code and Trust selects OpenAI for projects where it provides a demonstrable engineering advantage: better performance, lower operational overhead, or faster iteration cycles. Every technology choice is justified by requirements, not familiarity.
Production-proven
Our OpenAI implementations run in production at enterprise scale, not greenfield experiments. We understand the failure modes.
AI-native integration
We combine OpenAI with modern LLM APIs and AI tooling, not as an add-on, but as a core architectural decision from day one.
Handoff-ready
Every project ships with inline documentation, automated tests, and a knowledge transfer session, so your team can own and extend it independently.
OpenAI projects: common questions
Do you only build on OpenAI?
No. We work with the major AI providers, and our workflow automation work uses both the OpenAI and the Claude APIs. When the engagement calls for it, candidate models are tested on your examples before the choice is made, and keeping them behind one interface in your code lets a task move between providers without a rewrite.
How reliable are structured outputs in production?
Reliable enough to build on when your code still checks them. A strict JSON schema fixes the shape of the response, not whether its values are right, so responses should be validated before use, failures retried or routed to a reviewer, and the failure rate tracked per feature so a change in model behaviour shows up in monitoring.
Should we fine-tune a model?
Usually not first. Clear instructions, good examples in the prompt and retrieval over your own content solve most problems more cheaply and are easier to change. We consider fine-tuning when an evaluation shows those have been exhausted and the task is narrow, stable and high volume.
What will it cost to run?
Two costs. The build is a fixed-price quote starting from $15,000, and model usage while we build is included in it. Once the AI is part of your product, you pay the provider's usage charges directly; they depend on volume and model choice, and per-feature budgets help keep them in check after launch.
How are OpenAI models accessed, and whose data terms apply?
We use OpenAI's API directly, or reach OpenAI models through your own Azure OpenAI account when your data needs to stay in your cloud. The route is chosen per engagement, and the data-use terms that apply are those of the route you use.
Start a OpenAI project with Code and Trust
Tell us what you're building. We'll scope it, resource it, and give you a fixed-price quote, with no billing-by-the-hour surprises.
Start a OpenAI project →