Nathaniel Orange

AI Integration and data automation developer building voice agents, web-data workflows, and operational systems.

I turn messy operational work into usable systems: voice agents that capture and act on customer intent, and web-data pipelines that collect, compare, match, and route records into explainable decisions. The work includes the dashboards, provenance, validation, and human-review boundaries needed to use those systems responsibly.

Jacksonville, FL - available for full-time roles and client work

Portrait of Nathaniel Orange

Selected work

Selected systems and case studies

A selection of work described by what exists in the source repository. Status is stated plainly: a proof of concept is labeled as one.

01Production2022 - Present

Leisure Life Interactive

Travel agency selling cruises and group vacation packages

A travel operations and customer-conversion platform covering deal publishing, group campaign management, and an assisted booking workflow with operator oversight.

The Leisure Life Cruise Concierge voice demo, showing a push-to-talk control in a ready state, a live transcript of the spoken conversation, and a session panel listing the realtime model, skill, and transport status.

Challenge

A small travel agency competes against large booking engines while running on manual quoting and follow-up. Deals need to stay current, group trips need coordination across many travelers, and booking questions arrive around the clock when no agent is available.

Role

Sole developer. Designed and implemented the application architecture, the campaign and booking-assistant subsystems, the voice layer, and the AWS and Vercel infrastructure around them.

What I built

  • Group campaign system with per-campaign landing pages, briefs, email broadcast and scheduling, idea voting, and analytics events
  • Booking assistant with guest flows: availability checks, callbacks, draft state, continue-later, reminders, and agent claim/dismiss handling
  • Operator surfaces including an operator chat copilot, directive review and apply, and booking-change acknowledgement
  • Realtime voice sessions over the OpenAI Realtime API, including a hybrid mode that uses the realtime model purely for speech-to-text and text-to-speech while reasoning runs through the standard chat pipeline
  • Automated cruise deal refresh that stores a generated payload in DynamoDB so production reads never scrape or call AI providers during page render

Verifiable in the source

  • Voice endpoints for session minting, hybrid STT/TTS sessions, tool dispatch, and TTS under app/api/voice
  • Booking-assistant API surface spanning availability, claim, callback, reminders, drafts, and custom email composition
  • Campaign API covering briefs, landing pages, email scheduling, directives, and page-view analytics
  • Deal refresh pipeline documented in the repository, writing to a DynamoDB app cache table

Deployed and under active development. This is my most complete system.

Channels
Web, Browser voice, Email
Stack
Next.js, TypeScript, OpenAI Realtime API, Vercel AI SDK, AWS DynamoDB, AWS S3, Prisma, Clerk, Playwright
02Proof of concept2026

USA Pawn - "The Vault"

Independent pawn and retail shop, Jacksonville, FL

An AI phone and operations system for a pawn shop: a realtime voice agent that answers calls and books visits, plus an owner dashboard covering leads, inventory, staff accountability, and conversation review.

The Merrill Vault Assistant chat surface on the USA Pawn site, showing a live gold, silver, and platinum price ticker, General and Appraisal conversation modes, and quick actions for checking hours, browsing inventory, scheduling a visit, and loan terms.

Challenge

A pawn shop loses customers to unanswered calls and after-hours drift, and has no online inventory or appraisal path. Staff attendance and item intake are tracked manually.

Role

Sole developer. Built the voice relay server, the Next.js application and its API layer, the DynamoDB data model, and the owner and staff interfaces.

What I built

  • Fastify voice relay bridging Twilio Media Streams to the OpenAI Realtime API over WebSocket, with interruption handling, audio truncation, and a mark queue to keep playback in sync
  • Voice tools the model calls during a live call: schedule_visit with field validation and audit persistence, and check_store_status for real-time open/closed answers instead of guessing from the prompt
  • AI appraisal flow accepting up to six labeled photos, returning condition, material and purity assessment against live metal spot prices, and creating a lead from every appraisal
  • Owner dashboard with leads, staff activity, inventory management, conversation review grouped by customer and case, agent configuration, and staged data resets
  • Staff clock-in with daily rotating SHA-256 QR tokens, server-side timestamps, and automated compliance flagging for invalid tokens, long shifts, and missed clock-outs

Verifiable in the source

  • 674-line realtime voice server (backend/realtime_voice/server.js) implementing the Twilio media-stream bridge, tool dispatch, and interruption handling
  • Twilio voice and message webhooks plus a realtime-session endpoint issuing ephemeral browser credentials
  • Twenty API routes including appraise, inventory search, leads, schedule, staff-log, store-status, and agent-config
  • Repository FEATURES.md maintained with a code-accurate corrections section

Built as a working demonstration to pitch the business. Runs on scraped and mock inventory data; not operating as a paid production client system.

Channels
Phone, Web chat, Browser voice, SMS
Stack
Next.js, TypeScript, OpenAI Realtime API, Twilio Voice, Twilio Media Streams, Fastify, AWS DynamoDB, Docker
03Proof of concept2026

LINDA - Cell Phone Repairs

Solo-operator mobile phone repair business, Jacksonville, FL

An AI front desk for a one-person repair shop: it answers calls, texts, and web chat, books real appointments, and adapts what it tells customers based on the owner's current status.

The EmperorLinda agent messaging surface, with a prompt reading "Welcome, need your phone repaired fast?" above a combined text and microphone input for starting a typed or spoken conversation.

Challenge

A solo operator cannot answer the phone while working on a device. Calls go to voicemail, leads go cold, and there is no record of who tried to reach the business or what they wanted.

Role

Sole developer. Built the voice relay, the Next.js application, the AWS Lambda SMS pipeline, the DynamoDB schema, and the owner dashboard.

What I built

  • Realtime voice relay connecting Twilio Media Streams to the OpenAI Realtime API, with interrupt handling and owner-configured voice selection
  • Twilio Programmable Voice webhook path using speech gathering with OpenAI TTS playback and an Amazon Polly fallback when TTS fails
  • Owner dashboard with six status modes that change agent behavior mid-conversation, configurable agent name and voice, and owner bulletins the agent weaves into replies
  • Appointment booking into DynamoDB with collision checks against existing bookings on the requested date
  • Parallel AWS Lambda pipeline for SMS and voice via API Gateway, sharing the same DynamoDB tables and OpenAI function schemas as the web path

Verifiable in the source

  • Realtime voice relay server implementing the Twilio media-stream bridge with interrupt_response enabled
  • API routes for twilio-voice, twilio-sms, chat, tts and tts/stream, state, leads, chat-logs, and realtime-session
  • Lambda handlers dispatcher.py, state_manager.py, and scheduler.py with deployment and IAM setup documented
  • Connection and end-to-end test scripts for OpenAI, Twilio, and DynamoDB with recorded results

Built as a client demonstration, not a paid production deployment.

Channels
Phone, SMS, Web chat, Browser voice
Stack
Next.js, TypeScript, OpenAI Realtime API, OpenAI TTS, Twilio Voice, Twilio SMS, AWS Lambda, AWS DynamoDB, Python

Upwork portfolio

Web data, matching, and decision support

Two public work samples show how I collect, normalize, compare, and match records while preserving provenance and routing uncertainty to a person. Both are portfolio demonstrations, with their limits stated plainly.

04Proof of concept2026

Government Contract Change Monitor

Bid and proposal teams reviewing frequently republished procurement notices

A Python data pipeline and interactive review workbench that separates material contract-notice changes from repeated update labels, then applies editable qualification rules and exports explainable results.

Challenge

A source can label a notice as updated even when no buyer-relevant field changed. Bid teams need to suppress that noise without hiding incomplete records that still require investigation.

Role

Sole developer. Designed the bounded data contract, normalization and comparison pipeline, qualification rules, review interface, test suite, public demo, and evidence package.

What I built

  • Allowlisted normalization and consecutive-release comparison with source URL, retrieval time, record identifiers, and SHA-256 fingerprints retained
  • Separate change classification and contractor qualification stages, including an explicit review-needed outcome when decision evidence is missing
  • Interactive workbench for changing qualification rules, inspecting before-and-after fields, downloading JSON/CSV, and running the core test suite

Verifiable in the source

  • Two selected public-record scenarios reproduce noise suppression and cancellation-with-missing-evidence behavior
  • Public demo executes the Python pipeline and its 14 hosted core checks; the complete local and CI suite contains 22 tests
  • Versioned source and three-page reviewer PDF are published in the ws-001-v1.0.0 GitHub release

Published as an Upwork portfolio demonstration with selected public records and synthetic fixtures. It is not a client engagement, scheduled monitoring service, or claim of complete amendment coverage.

Channels
Web data, Reviewer workflow, JSON/CSV exports
Stack
Python, Flask, HTML/CSS/JavaScript, JSON/CSV, Pytest, Vercel
05Proof of concept2026

Product Recall Match Desk

E-commerce, wholesale, and distribution catalog operations

A provenance-preserving matching workflow that compares inconsistent catalog fields with selected recorded openFDA enforcement records and separates decisive matches, unsupported candidates, and cases that need human review.

Challenge

Recall and catalog records can describe the same product with incomplete or conflicting UPC, NDC, strength, lot, and manufacturer evidence. A shared identifier should not override a material contradiction.

Role

Sole developer. Built the source contract, deterministic matcher, reviewer workbench, exports, benchmark, automated tests, public demo, and release evidence; a separate non-builder validator executed the frozen validation plan.

What I built

  • Deterministic cross-schema matcher using normalized UPC, NDC, lot, manufacturer, product-token, and strength evidence
  • Explainable match, no-match, and review-needed queues with explicit conflict handling, provenance, input fingerprints, and executed JSON/CSV exports
  • Bounded reviewer workbench that demonstrates an ambiguous row becoming a decisive match only after supporting evidence is added

Verifiable in the source

  • Fixture benchmark reproduced all 20 predeclared labels across 20 synthetic catalog rows and 10 selected recorded enforcement records
  • A fresh non-builder validation passed the seven frozen checks and recertified the portable release map
  • Public demo, source, and three-page reviewer PDF are published in the ws-002-v1.0.0 release

Published as an Upwork portfolio demonstration using a synthetic catalog and a recorded source fixture. It does not provide current recall status, medical or safety decisions, alerts, or production catalog integration.

Channels
Web data, Catalog review, JSON/CSV exports
Stack
Python, Flask, Entity resolution, openFDA fixture, JSON/CSV, Pytest, Vercel

Capabilities

What I can take on

Web data and decision workflows

Bounded collection, normalization, change detection, record matching, and explainable review queues that retain source provenance and make uncertainty visible.

  • Python
  • Web scraping
  • Data normalization
  • Entity resolution
  • JSON/CSV
  • Pytest

Realtime voice and conversational systems

Phone and browser agents that hold a live conversation, handle interruption cleanly, and call tools mid-call to check real state or book something.

  • OpenAI Realtime API
  • Twilio Voice
  • Twilio Media Streams
  • WebRTC
  • WebSockets
  • OpenAI TTS

AI workflow and tool integration

Giving models a defined set of tools and the validation around them, so an assistant can act on business data instead of describing what it would do.

  • OpenAI API
  • Anthropic Claude
  • Vercel AI SDK
  • Function/tool calling
  • Structured output

Business operations and internal dashboards

The operator side of an AI system: lead capture, conversation review, inventory and scheduling, staff accountability, and configuration owners can change without a developer.

  • React
  • Next.js App Router
  • AWS DynamoDB
  • Prisma
  • SQL Server
  • Role-based access

Full-stack and cloud implementation

Building and shipping the whole system - application, data layer, background jobs, and the infrastructure it runs on.

  • TypeScript
  • Node.js
  • Python
  • C#
  • AWS Lambda
  • AWS S3
  • Vercel
  • Docker

Experience

Career history

  1. 2024 - Present

    Founder & Lead Developer

    Halimede AI

    Build AI integration and data-automation systems for small and mid-sized businesses. Current work includes realtime voice agents and owner dashboards, plus public web-data portfolio systems for change detection, qualification, record matching, provenance, and human review.

    OpenAI Realtime API · Twilio · Next.js · TypeScript · AWS · Python · Web data pipelines

  2. Aug 2022 - Present

    Full Stack Developer

    Leisure Life Vacations LLC

    Sole developer of the Leisure Life Interactive platform. Built the group campaign system, the assisted booking workflow with operator oversight, the realtime voice layer, and the automated deal refresh pipeline. Responsible for the application architecture and the AWS and Vercel infrastructure.

    Next.js · TypeScript · AWS DynamoDB · Prisma · Clerk · Vercel

  3. May 2016 - Jan 2022

    Systems Automation Developer

    Fidelity National Financial Group

    Built automation scripts and workflow tooling for title and mortgage operations using VB.NET, C#, BPA Automate, and SQL Server. Worked with QA teams to refine and maintain automated workflows across internal line-of-business systems.

    VB.NET · C# · SQL Server · BPA Automate

  4. 2012 - 2014

    Lead Developer

    Halimede Technology LLC

    Lead developer on several web applications including MixTape Machine and Meter Masters. Built full-stack solutions with ASP.NET MVC and SQL Server, and a Gear SMS app for the Samsung Gear 2 smartwatch using the Tizen SDK.

    ASP.NET MVC · C# · SQL Server · JavaScript · Tizen SDK

  5. 2010 - 2012

    IT Administrator & Web Developer

    Winners Inc.

    Managed network infrastructure and built and maintained company websites and databases using PHP, MySQL, and JavaScript.

    PHP · MySQL · JavaScript · jQuery

  6. 2008 - 2016

    Freelance Developer

    Self-employed

    Built web applications and sites for music artists and small businesses.

    • Full-stack ASP.NET MVC website with a content management system
    • Online audio mixing service platform with automated scheduling
    • Custom e-commerce solutions with payment integration

Earlier work

Experiments and prototypes

Smaller projects that show range in generative and multi-agent systems. These are experiments, not client systems.

  • Prototype2026

    Concept Alchemy

    A lyric exploration tool that navigates concepts by semantic similarity rather than keyword match, using vector search over embedded phrases.

    Next.js · TypeScript · pgvector · OpenAI embeddings

  • Prototype2026

    Devil's Advocate

    A multi-agent debate system that runs opposing agents against a claim to surface counter-arguments and gaps, with debate history persisted to DynamoDB.

    Next.js · TypeScript · Multi-agent orchestration · AWS DynamoDB

  • Proof of concept2025

    Blockarized AI Lab

    A visual node editor for composing prompt chains from reusable blocks, routing steps across multiple LLM providers with step-by-step execution tracking.

    Next.js · TypeScript · OpenAI · Anthropic · Together AI

About

About

I build operational software where communication or messy data would otherwise slow a business down. My current work spans realtime voice systems and bounded web-data workflows: collecting and normalizing records, detecting meaningful changes, matching inconsistent identifiers, and routing uncertain cases for human review.

Before AI work, I spent six years in systems automation at Fidelity National Financial Group, writing automation and workflow tooling against SQL Server and internal line-of-business systems. That background shapes how I approach AI projects: the model is one component, and the operational plumbing around it decides whether the thing is useful.

Earlier still, I built web applications for music artists and small businesses. That creative work is where the interest in generative systems started, and a few experiments from that period are included below.

Education

  • Bachelor of Science in Information Technology

    University of Phoenix

    2026 · Expected conferral

  • Associate of Science in Information Technology

    University of Phoenix

    2026 · Completed

  • Certificate in Website Development

    American Public University

    2015 - 2016

  • Information Technology

    Kaplan University

    2013 - 2014

Contact

Let's talk about what you need built

Whether you need an AI integration developer, a web-data workflow, or a practical system for work that is slipping through, I'm glad to walk through any of the projects above.