Skip to main content

Posts

OpenAI Apps SDK and ChatGPT Integration: Building the Ham Radio Practice Exam at Project TouCans

 Everything’s moving fast in AI again! Yesterday, OpenAI announced the ChatGPT Apps SDK, a framework that lets developers build full-featured web apps right inside ChatGPT. For Project TouCans, that’s a huge step forward. Just last month, I built two prototypes of the AI-enabled Ham Radio Practice Exam—one running Python inside GPT-5’s Code Interpreter, and another in a JavaScript canvas embedded within ChatGPT. Back then, those two couldn’t talk to each other. Now, with the new Apps SDK, they finally can—and that means real-time, interactive AI help during exams is finally within reach. You can try out the latest version of the extra class practice exam here (sans the Apps SKD so far.)
Recent posts

AI Help Enabled Ham Radio Extra Class Practice Test| FCC Element 4 Question Pool 2024–2028

  Extra Class Practice Exam Get ready for the FCC Extra Class license exam with this free online ham radio practice test. Our interactive exam tool uses the official FCC Element 4 Question Pool (valid July 2024–2028) and automatically tracks your performance. See your score history, review stacked bar charts of correct vs wrong answers by subelement, and drill down into specific group stats with a single click. This version of the exam is identical to the first release with a single exception. This version has an AI help facility. To see a demo of how to us it, please see this post and associated video. To use the AI features, you'll need to have your own OpenAI API key. You'll input that in a dialog that is not visible to anyone but your browser. One of the points of these exam practice pages was to demonstrate that they could be deployed without needing server-side code, and they don't. This is the first practice run of the free online ham radio practice exams. I fully e...

How I Cut GPT Input Costs 10× by Turning Off the Vector Store on the Ham Radio Practice Exams

I finally found out why my Extra Class AI Tutor was spending nearly ten times more on input than output tokens. It wasn’t the math, the cache, or the prompt—it was the vector store. Turning it off cut token usage from 17021 to 1743 in a single move.

Lab Notebook: GPT-5 Help Agent for Ham Radio Exams Debug

 Debug notes from getting the AI help feature of the free ham radio exams to work today. Grabbing a text answer from OpenAI still works: That's from this method async function retrieveTextWithFileSearch ({ system , user }) {   const vsId = localStorage . getItem ( 'vector_store_id' );   if (! vsId ) throw new Error ( 'No vector_store_id found.' );   answText = answText + " " + user ;   const resp = await openai ( '/responses' , {     body : {       model : 'gpt-4.1-mini' ,       input : [         { role : 'system' , content : system },         { role : 'user' ,   content : answText }       ],       tools : [{ type : 'file_search' , vector_store_ids : [ vsId ] }]     }   }); With the agent  flow, it doesn't work async function retrieveTextWithAgent ({ system , user }) {   // 0) Make sure we have ...