Skip to main content

Posts

Architecting an AI Video Assessment Engine in Oracle APEX with Google Gemini Multimodal

Architecting an AI Video Assessment Engine in Oracle APEX with Google Gemini Multimodal A deep technical breakdown of handling binary media streams, two-stage AI orchestration, database state machines, and relational JSON parsing natively within Oracle APEX. In enterprise applications, evaluating human communication—such as analyzing body language, vocal modulation, facial expressions, and speech relevance—has traditionally required standalone microservices built in Python or Node.js. Many development teams assume that because Oracle APEX is a database-centric platform, it is ill-suited to orchestrate heavy multimedia processing and multimodal artificial intelligence. In Speech Nova , we challenged that convention. By leveraging the native capabilities of Oracle Database, APEX's internal web service engine, and Google Gemini's multimodal vision and speech processing, we engineered an end-to-end evaluat...
Recent posts

AI-Powered Resume Builder Architecture in Oracle APEX

Introduction Building an enterprise AI application requires more than just embedding a chat widget. It demands structured data ingestion, strict relational persistence, dynamic server-side document compilation, and high-resolution export. This guide provides a comprehensive, step-by-step implementation blueprint. Any Oracle APEX developer or architect can follow these component specifications and design patterns to replicate an AI-Powered Multi-Template Resume Builder & Vector Export Engine from scratch. Core Architecture: User Chat → APEX AI Assistant → Declarative Tool Contract → 11-Table Relational Schema → Server-Side HTML CLOB Generator → Vector PDF Engine. System Architecture & Component Flow 1. Chat Intake → 2. APEX AI Assistant → 3. Tool Calling → 4. 11 Relational Tables → 5. Dynamic Content (CLOB) →...

How to Upload Multi-Sheet Excel Files into Oracle APEX

Oracle APEX · Step-by-Step Guide Importing one Excel sheet is easy with the built-in wizard. Importing a workbook with related parent and child sheets — and keeping the keys straight — takes a bit more care. Here's the full pattern. Excel is still the undisputed king of business data. As Oracle APEX developers, we're frequently asked to build import utilities. While importing a single-sheet Excel file in APEX is straightforward using the built-in wizard or APEX_DATA_PARSER , things get trickier when a single workbook contains multiple worksheets with relational data — like a parent header and child lines. In this post, we'll parse a multi-sheet Excel file, assign separate database sequences for primary keys, maintain the parent-child relationship, and stage everything into APEX Collections for reporting. The Scenario A user uploads a single workbook containing two worksheets: Parent_Department — a single row defining the main departm...

Dynamic Report - Part 2

Dynamic Report Introduction In many Oracle APEX applications, different reports require different SQL queries. Instead of hard-coding these queries into the application, users can store multiple SQL queries in a database table. These queries may contain bind variables (for example, :P_DEPTNO or :P_EMPNO ). When a user selects a report, the application automatically: Identifies the bind variables used in the selected SQL query. Dynamically generates input fields for those parameters. Prompts the user to enter the required values. Executes the query using the provided inputs. Refreshes the report with the filtered results. This approach allows a single report region to execute multiple dynamic queries without requiring any code changes. Step-by-Step Implementation Step 1 Create the QUERY_MASTER Table This table acts as our repository for SQL queries. We will...

Oracle APEX - Dynamic Reporting

Oracle APEX • PL/SQL • Dynamic Reporting Have you ever needed to build a dashboard where users select a report from a dropdown list, and the page dynamically renders the query results? A common design pattern is to centralize your report queries in a database table: REPORTS_TABLE ( QUERY_ID , REPORT_NAME , QUERIES , CREATE_BY , CREATE_DATE ) However, if you've tried implementing this with an Interactive Report or Interactive Grid , you likely ran into database metadata conflicts or compilation errors when switching between reports. In this post, we will explore why standard reports struggle with dynamic structures and provide a step-by-step guide to building a fully dynamic report viewer using Classic Reports and Generic Columns in Oracle APEX. The Challenge: Fixed Metadata vs. Dynamic Columns Oracle APEX Intera...

Google Sign-In (SSO) with Oracle APEX: Full Step-by-Step Integration

Google Sign-In (SSO) with Oracle APEX: Full Step-by-Step Integration This guide walks through every single step of wiring up Google Sign-In for an Oracle APEX app on apex.oracle.com — starting from creating the Google Cloud project, all the way through configuring the APEX Authentication Scheme. No steps are combined or skipped. 🏗️ Architecture Overview User Browser Clicks "Sign in with Google" → APEX App Redirects to Google OAuth2 → Google Consent Screen User authenticates → APEX Callback URL apex_authentication.callback → APEX Session Created User logged into app Part 1 — Google Cloud Console PROJECT SETUP 1 Sign in to Google Cloud Console Go to console.cloud.google.com and sign in with the Google account that will own this OAuth integration. 2 Create a new project Click the project dropdown (top bar) → New Project → give it a name (e.g. apex-google-sso ) → Create. Wait for the project to finish provisionin...