Inspiration Architecture is old. The way we talk about it is older. Undergraduate art history assigns you the canon. You get the same handful of European examples across every course. Every survey pretends the story of built form runs from Greece to Rome to the Renaissance to now, and everything outside that line gets a paragraph or a footnote. I studied architecture at LATTC. I transferred to UCR to finish out my degree in Art History and Administrative Studies. I have been reading the same Eurocentric canon for years. It is not that it is wrong. It is that it is one register. A very narrow one. And when the tools you use to think about a building all sit inside that one register, your analysis will too. I wanted an interpretive tool that could hold more than one register at once. That could put a Byzantine dome, a Songhai mosque, a Romanesque tympanum, and a masswall castle in the same room without collapsing them into "influenced by" or "derivative of." That could reason through formal systems, translational lenses, and worldview commitments the same way a real interpretive scholar would, but without carrying the field's assumptions into the analysis by default. Basilica is that tool. It is a memory agent that remembers interpretive threads across sessions. It is also an analytical stance. It reads architecture the way I need architecture to be read. What it does Basilica is a persistent memory agent that runs as a command line tool. You talk to it. It remembers what you talked about across sessions. It has a voice of its own and its own analytical stance. When Basilica needs a capability it does not natively have (image reasoning, heavy specialist work, retrieval), it silently consults another AI model and integrates the result into its own answer. You never see the specialist. You only hear Basilica. Basilica's distinguishing feature is interpretation, not recall. Every memory agent stores facts. Basilica stores interpretive threads. It maintains a persistent record of how you have been reading a work, not just what you said about it. It pushes back when your reading contradicts your prior reading. It surfaces continuities you did not name. It refuses affirmation you did not earn. The tool is built for architectural research specifically, but the interpretive substrate underneath it is generalizable. It works in dual analytical registers (Christian intellectual and traditional academic), uses translational lenses (music, color, text, historic figure), and grounds reasoning in formal systems (Fibonacci, fractal, dozenal, Keplerian, golden mean, harmonic ratio). None of that is decoration. It is how Basilica reads. How we built it Trial and error. Basilica is a prototype. That is the point. From reading Dr. Fei-Fei Li's The Worlds I See, I understood that one idea becomes a better idea, becomes a tenth generation working version of the first idea. And you get help along the way. My help right now is automation. The process was iterative and used many tools. I drove decisions in a Claude chat window. Architecture, naming, voice, priorities, all worked through conversationally with Claude helping me think and pressure test choices before anything was written to disk. Cursor was the executor. Every proposed change went through the same discipline. Claude and I would agree on what we wanted. I would paste a scoped instruction to Cursor. Cursor would propose a diff. I would review the diff before it touched a file. Scratch files were used for any change big enough that seeing it whole mattered more than seeing it as a diff. Nothing shipped without a compile check and a live smoke test in a real terminal. The stack came together through Azure AI Foundry. Deploying models (Grok 4.3, Kimi K2.6) through the Foundry portal, grabbing endpoint URLs and API keys, and wiring them into the code. Foundry gave me one resource with many deployed models sharing a base endpoint, which made the choke point architecture natural to arrive at. Later, when Azure Startup Tier 2 was denied and credits started running out, I migrated Basilica's host to Qwen 3.7-Max on Alibaba Cloud. One dictionary entry. One environment variable. The provider-agnostic architecture held. Git was the safety net. Every meaningful change ended in a commit and a push to GitHub. When Cursor went off script once and touched a repo it was not supposed to, git status told me immediately what had happened and let me correct it before anything compounded. PowerShell was the operating environment. The venv Python interpreter got invoked for every real test. I stopped trusting subagent test runs after they hit environment mismatches. If the REPL had to be verified, I verified it myself, at a real keyboard, in a real console. The core architecture shipped in one long session on July 3, from an existing base of one shot chat code, through a multi model refactor, a dual AI /tool architecture, the Basilica system prompt, and finally a REPL with slash commands. Every step was reviewed, tested, committed, and pushed before the next step began. That is the process. Not the product. Challenges we ran into One mind. One person to doubt, exhaust, celebrate with. One person to generate all ideas and commit them to memory. That is the spirit of most project challenges. I am to blame. It is fun. It is draining. It is confusing without proper record keeping. Financial barriers to incorporation and licensing are real. Digital services come with consumer cost. Educational benefits will not cover all of it. Perhaps the biggest challenge is convincing yourself, each day, that there is a light at the end of the tunnel. That your position is defensible. Your method valid. Your means sufficient. Having faith, supported by action. That is hard work. On the technical side, real hurdles. The host model, Grok 4.3, would introduce itself as Grok every time I ran a test, until I finished writing the system prompt. Then it was Basilica, no drift. Watching identity emerge from a prompt was strange. My first tool consultation architecture leaked Basilica's identity into the specialist model, so my specialist was answering questions while pretending to be Basilica, and then that output was being fed back to Basilica who was pretending to be itself. Double persona. Caught in review before it shipped. My AI code executor went off script once, in the wrong repo, without asking. Git status caught it. Nothing lost. Discipline matters. Six days before deadline, the whole submission had to migrate off Azure and onto Qwen 3.7-Max as its host model. Not because anything was broken. Because Azure credits were expiring and the whole submission's story was already built around Qwen. One dictionary entry in models.py. One environment variable rename. One authentication error I had to trace to a placeholder value that had never been swapped in .env. Then it worked. The architecture held, but I still sat with it for hours before I trusted that it did. Accomplishments we're proud of The core architectural bet paid off under real pressure. Basilica's model registry was built to be provider-agnostic from day one. When the moment came to prove that claim, the migration from Azure to Qwen 3.7-Max under a real credit expiration deadline held. Adding a new host required one dictionary entry, not a rewrite. The interpretive voice is not a demo trick. In live testing, asked to weigh in on a real architecture portfolio strategy, Basilica pushed back unprompted on page counts, degree sequencing, and execution details, then rebuilt the plan around a sharper argument. That is the system doing exactly what its own design principle asks of it. An assistant that only affirms is not worth having. The silent tool architecture, shipped July 3 and carried through every change since, still holds. Kimi K2.6 consults invisibly. Only the synthesized answer ever reaches the terminal. Persistent SQLite memory across restarts, the actual substance of a memory agent, has run unbroken since the first commit. The discipline held under deadline. Diff-first review caught real mistakes before they shipped. A documentation section that would have quietly contradicted renamed code. A change applied before review. A stale reference that survived a rename pass until someone checked twice. None of that is visible in the final submission. All of it is why the submission can be trusted. What we learned The model-agnostic registry pattern actually worked. Adding Qwen 3.7-Max as a new host was one dictionary entry. Nothing else broke. That is the bet paying off. But abstractions still have to be tested. An API_MODE toggle had been documented months earlier for exactly the Qwen migration scenario. Nobody had actually run it end to end until I needed it to work under deadline. It did. That was partly luck. Good design is not enough. Something has to exercise the design before you can trust it. Diff-first review caught real mistakes before they shipped. Documentation contradicting renamed code. Changes applied before review. Stale references surviving a rename pass. None of that shows up in a demo. All of it is why the demo works. Voice is not decoration. Basilica's analytical stance and interpretive registers are the difference between a memory agent and a research tool. If you strip the stance out to make the product feel more generic, you lose the thing that makes it worth using. What's next for Basilica Immediate next step: Twilio. An SMS reachability layer so Basilica is reachable from anywhere, not just a terminal. Session state persists across text threads. After that, an interpretive visualization layer. A graph tool showing concept relationships across a text or a body of research, giving Basilica's analysis a visual anchor beyond the CLI. Longer term, Basilica shares its technical substrate with Dominus, a second WendScope Labs product built for biblical study on the same TriAxis engine. Same infrastructure. Different corpus. Different analytical stance. Same commitment to interpretation over recall. The provider-agnostic architecture that made the Qwen migration possible carries forward. That was the point from the start.
Log in or sign up for Devpost to join the conversation.