As a technology consultant specializing in automation and integration of all things Advent, I have helped hundreds of firms make the financial reports and statements they envision a reality. In the past, those projects may have been slowed to some degree by the more obvious technical challenges: creating the mockups, subsequent report development, and testing/validation, but those aren’t the only things that make revamping statements time-consuming.
This statement mockup was created in about five minutes using Claude. No data provided here is real.
It is also what occurs within an organization as a precursor to any possible statement redesign and in tandem with an ongoing statement redesign that takes time. Changing statements requires that principals buy into the idea and believe that changing the statements, which very likely have been in use for many years, is a priority. Statement redesign doesn’t happen in a vacuum. Along the way, a lot can happen. These types of projects can be put on hold, as firms planning to update their reports may also be considering changing to another platform that might offer better reporting as a feature.
There are several factors that go into choosing a new platform, and I wouldn’t make a generalized recommendation related to that. However, if moving to a new platform is primarily about improved reporting, it is prudent to see what you can do with your existing platform before you change it.
Historical Mockups
Over the years, I have been provided with an assortment of exhibits cut out from other firms’ reports, sketched approximations of what the reports should look like, and entire report packages from other firms with a request to reproduce them. In the past, mocking up reports was something that could take hours or days. If a client didn’t already have something very specific in mind, I would provide them with report samples to review. Working from those samples as general ideas of what we could do, clients would create mockups of the reports they wanted.
Today, creating your next-generation report packages can be quicker than ever thanks to a wide variety of AI tools that are well-suited to the task. In some cases, you can create presentation-quality mockups in minutes. AI should not be used as a substitute for creative human thought and ingenuity, but working with AI tools undoubtedly speeds the process of taking your ideas and transforming them into a presentation-quality visualization that can be shared with your peers.
When done with the proper approach, tools, and infrastructure in place, you can go from having mockups to having live reports you can use in a fraction of the time it would have taken years ago, and you don’t need to change your PMS platform from Axys or APX to get these types of reports.
Data and Reporting Processes
The key is having the underlying data from Axys or APX in a modern data warehouse and access to qualified tech resources to update any additional queries and data feeds you may need for the reports you want to design. That infrastructure, along with workflows that leverage it, empowers you to own your data and reporting processes. The image below illustrates my chosen approach to providing high-end investment reporting solutions to investment professionals for many years.
Next Gen Reports
While that fundamental approach hasn’t changed, the way we create reporting solutions has transformed with improvements in the technology available to us. Traditional report-writing tools could certainly be used to develop reports that are first produced as mockups, but it is no longer necessary. Instead, we can simply prompt the AI tool of our choice to create a program to populate the reports.
So long as you have the Advent data necessary to produce the reports in an acceptable database format, you should be able to populate the new reports almost immediately. If you don’t have the necessary Advent data in a data warehouse yet, that process has also never been easier than it is today. Advent subject matter experts like myself should expedite that process significantly and ensure that the data extracted is correct, but once again, AI tools are making ETL and data warehouse projects much easier than they have been in the past.
That said, pulling the data en masse is a larger, more complex project that, for now, may still be best left to those with specific expertise doing it. A data warehouse isn’t just a bunch of tables. The structure of the tables, queries, and relationships between them facilitates your ability to create additional queries and reports more efficiently.
Reports like the Portfolio Statement included in this blog are just a sample of what is possible. If you can imagine it and create a detailed system prompt describing what you want, AI tools like Claude can help you make it a reality.
There really is no time like the present to update your client statements.
About the Author: Kevin Shea is the Founder and Principal Consultant of Quartare; Quartare provides a wide variety of agile technology solutions to investors and the financial services community at large.
For details, please visit Quartare.com, contact Kevin Shea via phone at 617-720-3400 x202 or e-mail at kshea@quartare.com.
I don’t know who we have to thank at Intuit for the relatively new appearance the invoice emails, but like most of the people I work with I am in the professional services business, doing my best to be professional. Sending out invoices using QuickBooks’ new invoice emails makes that difficult. Invoices sent to clients are a recurring touchpoint and an opportunity to create an impression – good or bad. Intuit’s invoice emails are making everyone using them look like clowns.
I don’t need an invoice email that tells my clients that “Your Invoice is Ready!” Why else would I send an email with their invoice? I also don’t need to tell my clients to please pay their invoice on time. Nor have I ever considered centering the text of an email with a salutation and closing. I can see Intuit’s name on my email, but where is my company name? Why is the day of the week the invoice is due included? That’s superfluous. And last, but not least, why would I want overcooked pea-soup to be the background of my email. Who on earth is responsible for this? Was AI used to assist? I think so.
Intuit QuickBooks’ New Invoice Email
If your firm is still using QuickBooks Desktop or Enterprise, you may be frustrated by the look of the new invoice emails that were implemented and locked-down to some degree regardless of what you might want them to look like. I know I was. Towards the end of last year, the format of the QuickBooks invoice emails changed suddenly and without warning. Look, these emails were never awe-inspiring, but they had a semi-professional … not too awful look that we could work with.
I’ll admit that I sent out a couple of the newer invoice emails with some edits to prevent me from appearing like a complete clown, but it was still embarrassing. In my experience, the invoices reverted back to the old format the next month and I breathed a sigh of relief to regain the stale, but professional-looking invoices I have sent via email for years.
Unfortunately, that relief was short-lived. In February, the invoice emails changed back to the god-forsaken format again (minus the part about paying the invoice on time), and now, if didn’t do something to address the issue, my invoicing was going to look even worse. Not only would I appear to have no design or business sense, but now our invoice-related buffoonery was going to include vacillating between multiple invoice email formats every month. I called Intuit to air my frustration and hoped that they could help resolve the issue.
It turns out I wasn’t alone. There were a lot of people that were unhappy about their inability to control the format of the invoice emails, and Intuit confirmed it. We discussed the issue at length, and the representative told me there was nothing they could do to fix it … so, I fixed it. And if we were dealing with any software company but Intuit that would probably be the end of the story.
The fix that worked until Intuit changed the email invoicing format again in April. 😐
I created Outlook VBA code to remove the day of the week, eliminate red-orange color on the date, remove the “Your invoice is ready!” and replace it with my company name, add logic to remove the cents (.00), left align the text of the message in the body of the email, change the color of the font and the background, and automatically have it adjust the due date to first day of the following month; then I customized the Quick Access Toolbar to create an icon you can click on to run the automation. The code below lets you update the invoices to make them appear more professional.
VBCopy
SubFixQBEmail() LeftJustifyInvoicePara ProofAndCleanEmailEnd SubSubProofAndCleanEmail()Dim oInspector AsInspectorDim oItem AsMailItemDim oDoc AsObjectDim sBody AsString' Get the currently open/active email being composedSet oInspector=Application.ActiveInspectorIf oInspector Is NothingThenMsgBox"No email is currently open for editing.", vbExclamationExit SubEnd IfIf oInspector.CurrentItem.Class <> olMailThenMsgBox"The active item is not an email.", vbExclamationExit SubEnd IfSet oItem= oInspector.CurrentItem' --- Work on the BODY ---' For HTML emails, we modify the plain text representation carefully.' Using Word editor object for rich/HTML body editing is more robust.If oInspector.EditorType= olEditorWordThen' Email is using Word as editor (default in modern Outlook)Set oDoc= oInspector.WordEditorCall CleanWordDocument(oDoc)Else' Fallback: work on plain text bodysBody= oItem.BodysBody=CleanDollarAmounts(sBody) oItem.Body= sBodyEnd If'MsgBox "Email proofing complete!", vbInformationEnd Sub' -------------------------------------------------------' Cleans a Word document (the email body in Word editor)' -------------------------------------------------------SubCleanWordDocument(oDoc As Object)Dim oTable AsObjectDim oCell AsObjectDim oRange AsObjectDim oFind AsObjectDim i AsInteger, jAsInteger, kAsInteger' First try Find/Replace on the whole document contentCall FindReplaceDollars(oDoc.Content)Call ReplaceText(oDoc.Content, "Your invoice is ready!", "Quartare")Call FixDateLineColor(oDoc.Content)Call RemoveDayOfWeek(oDoc.Content)Call UpdateToFirstOfNextMonth(oDoc.Content)'Call ColorDateGreen(oDoc.Content)Call FixHTMLBackgrounds' Then explicitly loop through all tables and cellsFori=1To oDoc.Tables.CountSet oTable= oDoc.Tables(i)Forj=1To oTable.Rows.CountFork=1To oTable.Columns.CountOn Error Resume Next ' some cells may be mergedSet oCell= oTable.Cell(j, k)If Err.Number=0ThenCall FindReplaceDollars(oCell.Range)End IfOn Error GoTo 0Next kNext jNext iEnd SubSubFindReplaceDollars(oRange As Object)Dim oRegex AsObjectDim oMatches AsObjectDim oMatch AsObjectDim sFind AsStringDim sReplace AsString' Use RegEx to identify what needs replacingSet oRegex=CreateObject("VBScript.RegExp")With oRegex .Global= True .Pattern="\$([0-9,]+)\.00"EndWithSet oMatches= oRegex.Execute(oRange.Text)' For each match, do a safe literal Word find/replaceForEach oMatch In oMatchessFind= oMatch.Value ' e.g. $250.00sReplace="$"& oMatch.SubMatches(0)' e.g. $250With oRange.Find .ClearFormatting .Replacement.ClearFormatting .MatchWildcards= False .Forward= True .Wrap=1 .Text= sFind .Replacement.Text= sReplace .Execute Replace:=2EndWithNext oMatchEnd SubSubReplaceText(oRange As Object, sFind As String, sReplace As String)With oRange.Find .ClearFormatting .Replacement.ClearFormatting .MatchWildcards= False .Forward= True .Wrap=1 .Text= sFind .Replacement.Text= sReplace .Execute Replace:=2EndWithEnd SubSubFixDateLineColor(oRange As Object)Dim oPara AsObjectDim oWord AsObjectForEach oPara In oRange.ParagraphsIfInStr(oPara.Range.Text, "| Due ")>0Then' Loop through each word/run in the paragraph and set to whiteForEach oWord In oPara.Range.Words oWord.Font.Color=RGB(50, 50, 50)' KS white?Next oWordEnd IfNext oParaEnd SubSubFixHTMLBackgrounds()Dim oInspector AsInspectorDim oItem AsMailItemDim sHTML AsStringSet oInspector=Application.ActiveInspectorSet oItem= oInspector.CurrentItemsHTML= oItem.htmlBody' Fix background colors - replace with whatever colors you want'sHTML = Replace(sHTML, "bgcolor=""#ECEEF1""", "bgcolor=""#FFFFFF""") ' outer bodysHTML=Replace(sHTML, "background:#F4F4EF", "background:#7D99B6")' top sectionsHTML=Replace(sHTML, "background:#F4F5F8", "background:#F4F5F8")' footer section' Fix the red date color while we're here'sHTML = Replace(sHTML, "color:#D52B1E", "color:#393A3D") ' match surrounding text oItem.htmlBody= sHTML'MsgBox "Background colors updated.", vbInformationEnd SubSubRemoveDayOfWeek(oRange As Object)Dim sDays AsStringDim oDays()AsStringDim i AsIntegersDays="on Mon, |on Tue, |on Wed, |on Thu, |on Fri, |on Sat, |on Sun, "oDays=Split(sDays, "|")Fori=0ToUBound(oDays)Call ReplaceText(oRange, oDays(i), "")Next iEnd SubSubUpdateToFirstOfNextMonth(oRange As Object)Dim oRegex AsObjectDim oMatches AsObjectDim oMatch AsObjectDim sOldDate AsStringDim sNewDate AsStringDim dDate AsDateDim dNewDate AsDate' Use RegEx to find MM/DD/YYYY patternSet oRegex=CreateObject("VBScript.RegExp")With oRegex .Global= True .Pattern="\d{2}/\d{2}/\d{4}"EndWithSet oMatches= oRegex.Execute(oRange.Text)If oMatches.Count=0ThenMsgBox"No date found.", vbExclamationExit SubEnd IfForEach oMatch In oMatchessOldDate= oMatch.Value' Parse the found datedDate=CDate(sOldDate)' Calculate first day of next monthdNewDate=DateSerial(Year(dDate), Month(dDate)+1, 1)' Format back to MM/DD/YYYYsNewDate=Format(dNewDate, "MM/DD/YYYY")' Use safe Word find/replaceCall ReplaceText(oRange, sOldDate, sNewDate)Next oMatchEnd SubSubColorDateGreen(oRange As Object)Dim oPara AsObjectDim oRegex AsObjectDim oMatches AsObjectDim oMatch AsObjectDim oFindRange AsObjectSet oRegex=CreateObject("VBScript.RegExp")With oRegex .Global= True .Pattern="\d{2}/\d{2}/\d{4}"EndWithForEach oPara In oRange.ParagraphsSet oMatches= oRegex.Execute(oPara.Range.Text)ForEach oMatch In oMatches' Create a range for just the dateSet oFindRange= oPara.Range.Duplicate oFindRange.Start= oPara.Range.Start+ oMatch.FirstIndex oFindRange.End= oFindRange.Start+ oMatch.Length' #D86C00 converts to RGB(216, 108, 0) oFindRange.Font.Color=RGB(0, 137, 46)Next oMatchNext oParaEnd SubSubLeftJustifyInvoicePara()Dim oInspector AsInspectorDim oDoc AsObjectDim oCell AsObjectDim oPara AsObjectSet oInspector=Application.ActiveInspectorSet oDoc= oInspector.WordEditorSet oCell= oDoc.Tables(1).Cell(1, 1)ForEach oPara In oCell.Range.Paragraphs' Find the paragraph that contains the invoice messageIfInStr(oPara.Range.Text, "Please remit payment")>0Then oPara.Alignment=0End IfNext oParaEnd Sub
Expand
We also could have eliminated the need to click on button to reformat invoice emails and call the FixQBEmail process from within the existing QuickBooks Outlook integration by intercepting outgoing Outlook email via Application.ItemSend / MailItem.Send event before the message leaves Outlook.
Another alternative to this, if you need a greater degree of control, would be the following workflow:
Batch-create invoices in QuickBooks.
Send them to a mailbox you control.
Use automation to extract the hosted invoice URL from each email.
Generate your own cleaner outbound email using that URL.
Send them out from your own domain/mailbox.
I still believed the invoice emails we sent out before Intuit changed their default appearance were more professional looking, but this code at least succeeded in taking something that looked utterly ridiculous and made it look less so. I was willing to call it a win at the time. However, Intuit had other plans.
The latest QuickBooks change, which nearly restores the original email invoice format from five months ago, does little to reassure me that the invoice emails generated in the future will look similar. Instead, I am convinced that users like me have absolutely no persistent control over how these invoice emails will look when created directly through QuickBooks and that is not acceptable. The updates to invoice emails are occurring without any permission or approval from QuickBooks users and do not appear to be connected in any way to software updates that users perform.
Intuit QuickBooks’ Old Invoice Email
It may be tempting to believe that Intuit has finally resolved this snafu, but after the frustration of dealing with the issue repeatedly over a period of months I doubt many users will be able to trust Intuit further in this regard. Professional services firms need adequate controls on client-facing communications and the only way they will get those controls where Intuit’s invoice emails are concerned is by moving away from QuickBooks altogether or creating their own internal processes to compensate for Intuit’s shortcomings.
About the Author: Kevin Shea is the Founder and Principal Consultant of Quartare; Quartare provides a wide variety of agile technology solutions to investors and the financial services community at large.
For details, please visit Quartare.com, contact Kevin Shea via phone at 617-720-3400 x202 or e-mail at kshea@quartare.com.
I have been creating useful content for Advent users and the financial services firms they work with for many years now. Part of creating the blog is therapeutic for me, part of it is a well-intentioned effort to foster goodwill by sharing the lessons I have learned with other users to reduce pain points, and some part of it is an effort to get the word out about what I do in case users find that they need someone with my unique skillset.
When ChatGPT and similar services arrived on the scene, I was somewhat concerned about what would happen if those engines sucked up the knowledgebase I have created and presented it to my audience as their own information. There are documented ways to discourage AI bots like robots.txt, Cloudflare AI Crawl, WAF blocking and CMS-specific settings. I know this, but early on I made a choice to allow it, rather than fight it.
Initially, I remained most worried that my knowledge would be presented without credit to where it came from, but this past week I realized that there is another issue altogether. In the process of troubleshooting an Advent Software use case, I queried Perplexity. I was rewarded with a page of summary information that cited Advent, AdventGuru and 13 other sources. Some of those sources were relevant, most were not.
As I drilled down on the problem, most of the sources cited were in fact me. So here I was querying Perplexity for assistance, and it was attempting to assist me in troubleshooting the issue using information I provided. Some part of this makes sense and could be helpful if I were losing my faculties or wanted to query my own digital footprint related to the issue. Neither of these apply.
I wound up resolving the issue with the user and their IT consultant in less than an hour with no part of the credit for doing it attributable to using Perplexity with its “best” model. Our solution was collaborative. The client arranged a Teams meeting with me, and their IT consultant. The three of us worked together to try a few things. Eventually, we found a solution as a result of us all working together – not an AI query. We solved it because we found the time to have a meeting and made that a priority.
In the process of writing this, I ran the same query on Opus 4.6 and GPT-5.4. The results were very similar. My blog and other online sources of current and historical information are the data that empowers these engines to respond to practical and esoteric questions with anything relevant beyond their training data. However, as I read though their responses to the query, it became clear that I was heavily cited without any solution being provided to the problem.
While I am flattered that my subject matter expertise is held in such high esteem by AI inference engines, I am concerned that when AI models attempting to utilize what I have written – citing me repeatedly throughout their response as a source of information – fail to provide a solution that reflects poorly on me. In the particular case we resolved, I am almost 100% certain that a solution does not currently exist online. I have already written a separate blog post detailing the problem and its solution, but now the question for me is, do I put that solution up on my blog?
By doing so, I continue to provide access to users that have relied on me as a source of information that may not otherwise be discovered, documented or publicly available, but I am also empowering AI inference to parody my expertise in more meaningful ways that may make users think their favorite AI chatbot is a substitute for getting knowledge directly from the source. The latter is problematic because written works contain meaning and nuance that are lost when information is taken selectively and presented out of context.
Chatbots cannot be trusted to provide the best possible answer – only the best possible answer based on their training, parameters, capabilities, available data, and the prompts we use to query them. My blog posts are representative breadcrumbs of my experience that I have chosen to share. In this case, the chatbots reviewed my blogs to determine if and how something can be done, asserted that it could not be done, and then provided instructions on possible workarounds, but there was a solution that could be found without the assistance of a chatbot all along and it makes a lot more sense than the workarounds that were recommended by Perplexity and its cohorts.
About the Author: Kevin Shea is the Founder and Principal Consultant of Quartare; Quartare provides a wide variety of technology solutions to investment advisors nationwide.
For details, please visit Quartare.com, contact Kevin Shea via phone at 617-720-3400 x202
Gamers are having a rough go of it this year and understandably feeling betrayed by one of their long-time hardware darlings, Nvidia. As you may have heard, Nvidia and other companies like Micron are prioritizing the needs of big business’ AI requirements over gamers and consumers that don’t wield as much sway over their bottom line. This blog post isn’t going to make gamers-at-large any happier, but in my defense, this really isn’t anything new. For as long as I can remember, I have considered buying a decent GPU for a new desktop PC a prudent and reasonable business expense.
Early on, the GPUs I purchased were intended to ensure support for multiple monitors, but as the technology required to support multiple monitors became ubiquitous, I continued to buy GPUs for special circumstances where I knew users like me could benefit from enhanced GPU processing. If you value your time and that of your fellow employees and clients, you need to champion investments that empower and facilitate your team’s ability to not only meet ongoing technology challenges but also provide them with the tools that will enable them to exceed expectations in the future.
There is perhaps no better example of this than the implementation of AI at your office, and I am not talking about using an AIPC with Copilot. I mean real-world implementation: running multiple local LLMs simultaneously, LLM orchestration and coding agents (e.g., Claude Code), building and using AI agents (e.g., OpenClaw), using, creating and hosting MCP servers, implementing REST API integration, et cetera. While AI cloud resources, such as frontier foundation models operating within AI factories, can be dramatically more powerful and appear less expensive than purchasing local hardware, the larger issue of data privacy is the elephant in the room. For me, this issue is twofold: I cannot put my intellectual property or any part of my clients’ private data at the mercy of what may turn out to be false security promises as AI use agreements with providers continue to evolve.
The overriding concern of data security puts users in a situation where they are limited in what they can do while using cloud resources. Users may not feel comfortable attempting certain things on cloud resources due to concerns over security, and rightly so. The answer to these concerns is clear AI use policies and systems – that dictate acceptable use of cloud and local AI resources. Those same policies and systems should simultaneously facilitate the ability to use AI in productive ways and enforce data security without handicapping technological progress. AI is not the be-all and end-all of productivity, but it can be a valuable tool when used responsibly.
Apple Intelligence’s handiwork via Playground clearly illustrating why we need to check AI work.
Game-Changing Technology
It is easy to ignore minor changes in processing power year to year, but when true paradigm-shifting tech becomes available and affordable, we need to act on it. This is the thing that makes me buy new hardware. The Nvidia GeForce RTX 5090 (“5090”) and hardware of its ilk are game-changing. Their affordability may be debatable, but if you aren’t able to use them, or superior tech options, you are operating at a technological and competitive disadvantage to your peers. With these issues in mind, I strongly recommend systems on par with the Alienware Area-51 Gaming Desktop (model AAT2265) or better for complex local AI use cases.
Six Reasons to Consider Buying the Dell Alienware Area-51 Gaming Desktop for Local AI Use Cases
CPU – The AMD Ryzen 9 9950X3D CPU has excellent single-thread processing speed, superior multithreaded processing speed, and a large cache. It offers power without compromise. One of my aims when purchasing a new desktop is to never have to upgrade the equipment during the life of the purchase, and that should be possible with this system. There is an option to get an Intel Core Ultra 9 285K, but I am not a huge fan of using the Arrow Lake architecture for AI. Additionally, being able to select a PCIe 5 NVMe for primary/OS storage means that you can remove the most obvious remaining local processing speed bottleneck.
Market forces – The expectation of constrained future supply due to AI data center demands taking precedence over SMBs and consumers makes buying now more appealing than waiting until later, when scarcity and corresponding increased demand could impact buying power.
5090 availability – This local LLM beast facilitates private use of decent-size LLMs (30B parameter models run very fast; 70B parameter models are useable.). AI is a tool we use to get our jobs done as efficiently as possible. This is simply a cost of doing business. There are other options, but this is currently the fastest GPU you can buy short of enterprise-level hardware, where the cost increases significantly. Due to 5090 availability issues, buying the GPU bundled in a PC gaming build may be the easiest way to get one.
Competitive pricing – Dell’s Alienware pricing is reasonable given the current premiums on 5090 GPUs. You could get similarly configured gaming Desktop PCs for considerably less, but the Alienware price point offers superior build quality. You could also spend a lot more money buying similarly configured “workstation” hardware, which might provide a better upgrade path, but you would likely be paying enterprise prices.
Silence and build quality – When you set it up you should notice a deafening silence in comparison to similar systems. The case is extremely well-designed to keep the system cool and quiet.
Onsite support and hardware/driver continuity – You can be confident that Dell will show up to service the PC if needed. It weighs a ton. Nobody from your office will want to carry it anywhere for service… ever. Dell is also very good at making updated drivers available when they become necessary.
The latest Area-51 build has been out since January of 2025 in Intel CPU options, but Dell added AMD options to the configuration in November of 2025. Based on my experience, even though Dell quoted shipping at roughly a month, they shipped it quicker. The system I ordered in early January 2026 arrived in less than two weeks. It comes with a single year of onsite support, but I added three years to it, and if you buy one, you probably should too. For those curious about the benchmarks, I ran PassMark’s PerformanceTest on it and have included the results below.
Dell Alienware Area-51 Gaming Desktop (model AAT2265) Passmark PerformanceTest results. Compare your PC here.
The Evolution of Local AI Use Cases
Back in 2020, during the crypto boom, I bought a Nvidia GeForce RTX 2060 Super GPU with 8GB VRAM, which cost $500 at the time. It is not a barnburner by today’s standards, but it can run the OpenAI/gpt-oss-20b model well enough on LM Studio. I also have a notebook with an NVIDIA GeForce RTX 4060 Laptop GPU. That too has 8GB of VRAM and can run local LLMs way faster than the old desktop.
These systems enabled me to run, use, and test local LLMs to a certain point, but the results weren’t fantastic. I am short on patience when it comes to waiting for computers to do things. As I tried increasingly complex models and tasks locally, I reached some predictable limitations: context, first token, and tokens per second. Watching my computer render characters in slow motion while using larger LLMs made me wonder how much of a difference running those same models on a 5090 would make. The difference is night and day. I have zero regrets about this purchase.
One interesting takeaway from the experience of using the 5090 and running many tests between the various systems I have is that model results can change when it is run on different hardware. Ideally, they won’t, but your hardware affects how the model is executed by a local AI model runner, which can influence its output. For example, I ran the same version of LM Studio with identical models and settings to provide both my old and new desktop systems with the same prompt. Logically, you might think that you would get the same results, but in fact you get different results.
The result from my old desktop was terse and simple, while the result from my new desktop was comprehensive. Though I theoretically understand how AI works and could have anticipated some differences between the results due to the variability of calculations between hardware, I was admittedly surprised. Seeing the difference firsthand adds context to my understanding.
I wanted to attribute this positive difference to my faster hardware, but that would be incorrect. Mathematically speaking, the output is simply different because the hardware is different, and the fact that the response is comprehensive on my new desktop should be purely coincidental. On closer inspection, the model I used (OpenAI/gpt-oss-20b) likely ran the prompt under constraints when it was run on the 2060 Super with 8GB VRAM. That would have caused GPU offloading (since the model size is 12GB), noise, and numerical degradation in calculations. Those issues likely created a bias towards a less comprehensive answer.
Moving Forward
Given the opportunity cost, ongoing demands of AI data centers for PC memory, storage and GPUs, and a perceived scarcity issue that will persist for years, now seems like a better time to purchase a 5090 than later when it may not be possible. Please note this computer makes sense for me and other power users that can benefit from having a 5090 for local AI use cases, but it wouldn’t be a good choice for users that don’t fit that profile. If you are interested in learning about using local AI resources almost any Nvidia GeForce RTX 50 series GPU with at least 8GB VRAM could be a good starting point.
In the PC/GPU world, VRAM ultimately determines how large a model you can use fully on the GPU and how many models you can use simultaneously. A larger model size typically corresponds with greater training depth, capability, and sophistication, which often equates to less iterative work and greater user productivity in the end. When you run out of VRAM, your system attempts to compensate by offloading portions of the model to RAM and CPU (aka GPU offloading), which slows down processing noticeably due to lower bandwidth and higher latency. If you attempt to use more total memory than is available, the model may fail to load or the system may slow dramatically.
Using a Mac with unified memory instead of a PC with a discrete GPU removes the hard VRAM boundary and reduces the performance cliff associated with GPU offloading, but you are still limited to whatever unified memory your Mac has. Assuming you can fit the model(s) in use and their associated KV (Key-Value) cache — which scales with context length — into the 5090’s 32GB of VRAM, your typical Mac isn’t going to outperform a 5090 in raw inference speed.
If you are serious about working with AI locally, you may want to step up to a Nvidia GeForce RTX 50 series GPU with at least 16GB of VRAM, which would provide a longer runway for experimentation. Either option (8GB or 16GB) shouldn’t break the bank compared to a 5090. Buying a cheaper GPU will allow you to work with local AI resources and become familiar with the tools, but if all goes well, you may wish you purchased a 5090 GPU or something capable of running even larger models concurrently, such as a high-end Mac Studio (M3 Ultra).
About the Author: Kevin Shea is the Founder and Principal Consultant of Quartare; Quartare provides a wide variety of agile technology solutions to investors and the financial services community at large.
To learn more, please visit Quartare.com, contact Kevin Shea via phone at 617-720-3400 x202 or e-mail at kshea@quartare.com.