Archive

Jay Merlan

  • Cross-Functional Data: MCP Servers vs. Standard APIs

    If you’re used to building apps by prompting, you’ve probably heard of the Model Context Protocol (MCP). It’s the magic bridge that lets your AI assistant actually do things like read your local files, browse a database, or trigger actions. It feels like an absolute superpower for open-ended tasks. But as more of us use…

    Cross-Functional Data: MCP Servers vs. Standard APIs
  • Are We Bragging About the Wrong Number?

    One question to ask yourself (and your team) should be, how much of your last 40M tokens produced code that’s still being used? Not code that got written. Code that survived. If you and your agent built a data layer, rewrote it, rewrote it again when feature three exposed a bad assumption, and shipped version…

    Are We Bragging About the Wrong Number?
  • Part 2: How to Deploy the Ephany Framework on a Live Webserver (Beginner-Friendly Guide)

    In Part 1 of this tutorial, we deployed the Ephany Framework onto an $8 DigitalOcean Droplet, configured our settings files, created a virtual environment, and verified the app worked using Django’s development server. Now it’s time to take the next step: Turning your Ephany Framework instance into a real server-side service using Gunicorn and Nginx.…

    Part 2: How to Deploy the Ephany Framework on a Live Webserver (Beginner-Friendly Guide)
  • Part 1: How to Deploy the Ephany Framework on a Live Webserver (Beginner-Friendly Guide)

    This guide walks you step-by-step through deploying the Ephany Framework, using an inexpensive $8 DigitalOcean Droplet. We’re keeping everything as clear and simple as possible so you can follow along…

    Part 1: How to Deploy the Ephany Framework on a Live Webserver (Beginner-Friendly Guide)
  • Connect Claude to Revit Using PyRevit’s MCP Server

    Model Context Protocol (MCP) is a standard way to give an AI assistant access to applications. In the context of Revit, I can have an LLM talk to Revit directly rather than building a Revit addin or macro. In this post, I’ll show you how to create a pipeline with three pieces: Claude → MCP…

    Connect Claude to Revit Using PyRevit’s MCP Server
  • The 100kb Parameter: An Extensible Way To Store BIM Data?

    Story time: I was working on developing a Revit addin for a client which required a JSON blob as an input (generated from another application). Of course the BIM manager in me immediately thought, “I’m going to need a ton of shared parameters for this data.” Then my developer brain questioned, “but wait, is there…

    The 100kb Parameter: An Extensible Way To Store BIM Data?
  • Revit Macro First, Revit Addin Later

    Add-ins are undeniably the gold standard for deploying scalable tools in Revit (yes, even better than Dynamo Player in most cases). But if your goal is rapid automation and getting things done ASAP, going straight to Add-in development can slow you down. Here’s how to start with a macro.

    Revit Macro First, Revit Addin Later
  • PSA: You Can’t move the origin of a generic annotation symbol.

    Did you know that you can’t actually change the origin point of a Generic Annotation family? For example, if you wanted to change the origin reference plane of a Generic Annotation nested into a parent family so that you can constrain it at the end instead of the center of the symbol.

    PSA: You Can’t move the origin of a generic annotation symbol.
  • How to Push to Multiple Git Repositories Simultaneously

    Keeping two distinct Git repositories in sync—like a public GitHub repository and a private internal Git server—can be a tedious chore if you are manually pushing to them one by one. If one push succeeds and the other is forgotten, your codebases immediately drift out of sync. The most elegant solution is configuring a “dual-push”…

    How to Push to Multiple Git Repositories Simultaneously
  • Give Your Windows Apps a Facelift With Our AI-Friendly WPF Theme

    Let’s paint a familiar picture: you spin up a new WPF project, drop a basic Button onto your MainWindow, hit F5, and are instantly transported back to 2008. The default controls are, to put it mildly, visually offensive. Those harsh gray gradients, cramped borders, and rigid shapes make it painfully obvious you are building on…

    Give Your Windows Apps a Facelift With Our AI-Friendly WPF Theme