Leetcode for prompting: Introducing AI Dojo 🥋
As AI tools have become more widespread, and generally better, I’ve seen the rift between those who incorporate these tools into their development process and those who don’t, widen.
Vibe Coding with LLMs: Tips for Building Faster
Large Language Models (LLMs) are transforming the way we build software. Vibe Coding — popularized by tools like Cursor and Windsurf — refers to deeply embedding LLMs into the development workflow. Like all tools, however, it takes time to learn how to use them effectively.
Teaching GPT to Use Tools: Function Calling with OpenAI
Most developers start their journey with language models by prompting them: “Explain this code”, “Summarize this thread”, “Write a SQL query”. But eventually, you hit a wall. You want your model to do something dynamic — like call an API, look something up, or trigger a workflow. This is not data that you can provide in advance, because it is constantly changing, and yet LLMs are trained on a static dataset.
Building an AI Customer Support Agent: A Practical Guide to Prompting, RAG, and Fine-Tuning
Companies are rushing to integrate AI into their customer support workflows, generating a lot of interest in the latest models. However, the power of the model is only truly unlocked if the if system architecture around it is right — how you deliver context, handle private knowledge, and adapt over time are all key factors in building a successful AI customer support system.
From Chaos to Clarity: How Embeddings and LLMs Unlock the Value of Unstructured Data
Every organization today is drowning in unstructured data: support messages, internal chats, user feedback, call transcripts. As our ability to collect more unstructured data within organizations grows, the need to understand that data in a scalable, cost-effective way is outpacing our ability to handle it.
Most AI Benchmarks Don't Measure Intelligence
François Chollet recently introduced a new version of the ARC AGI benchmark during his talk at Y Combinator’s Startup School. It’s one of the more thoughtful discussions on evaluating AI systems — and well worth watching.
IOT Fails: Staging Is For Customer Data, Apparently
As smart pet devices become more common, many of us have come to depend on them without a second thought. Unfortunately, that reliance may be premature, as we’re beginning to understand their limitations over time.
Java Root Certificate Pinning For Microsoft OAuth
TL;DR: We recently began seeing intermittent SSLHandshakeException errors when calling Microsoft login endpoints from our Java service. The root cause turned out to be missing root certificates in the Temurin Java images — even in recent versions. Microsoft had rotated their TLS chain, and the new root wasn’t bundled. We built a tool to dynamically extract the cert chain and patch the JVM truststore during our Docker build.