■ Vader Hairitai
EmailLinkedInGitHub ■

Spandrel, AI deal sourcing for a tax credit investor

Deal Intelligence · 2026

AI deal sourcing for a tax credit investor. It reads government program sites for new projects, scores them against the firm's past deals, and explains every score.

StatusDelivered to client, Feb to Jun 2026
RoleAI Deployment Consultant, Kellogg ACL
SourcesNPS · state SHPO · HFA award lists · program pages
StackClaude API · Python · Next.js
Public rebuild18 closed deals set the rules, 23 live projects scored

Some of the best deals in tax credit investing are announced on government websites that nobody reads systematically. Through Kellogg's Analytical Consulting Lab, I worked with a tax credit investment firm to turn that into a workflow. The system learns what the firm likes from its own past deals, reads the public sources for new projects, and puts a scored shortlist with sources in front of the team.

Tax credits became a traded asset very quickly. The Inflation Reduction Act made clean energy credits transferable in 2022, and according to Crux the transfer market grew from about $32 billion in 2024 to $42 billion in 2025. Energy credits now have marketplaces, but historic, housing and state credits mostly do not.

The federal historic tax credit is worth 20% of qualified rehabilitation costs, and the National Park Service certified 853 finished projects worth $6.8 billion in fiscal 2024. These projects, and the state credits stacked on top of them, show up one at a time. One appears as an approval on a state historic preservation office page, another as a row in a housing agency spreadsheet, another in a city council agenda or a developer's press release. New York has just separated its historic credit from the federal one and made it transferable from 2026, which adds new supply to exactly these kinds of sources.

A firm that buys or syndicates these credits finds deals by having people read those pages. The information is public but scattered, and whoever sees a project first has the advantage. That is a good job for an AI system that reads.

The first conversations taught me the most important thing about the project. The partners knew a good deal the moment they saw one, but they could not write down their criteria, and asking better questions did not really help. The clearest record of what they wanted was the set of deals they had already closed.

So I studied the portfolio instead of my interview notes. The pattern across their closed deals was consistent. They liked layered credits (usually federal and state historic credits, often with low-income housing credits too), a clear path through historic certification, states with a funded and supportive credit program, developers they had worked with before, and deals within a certain size range. Those became the five parts of the scoring rubric, and I checked the weights against deals the team could score from memory before scoring anything new.

Each public source has its own watcher, covering federal certifications, state preservation office pages, housing agency award lists, state program pages, council agendas and press releases. Everything they collect goes through one extraction step that turns a web page, a PDF or an award table into the same kind of record, with the sponsor, address, credit types, stage, estimated size, key dates and a link to the source.

Then the records are merged, because the same project often shows up in an award list, a council agenda and a press release under three different names. Records are matched on address and sponsor, placed on a map, and linked to a profile of the state that knows its credit rate, its program cap and whether the credit can be transferred.

The scorer applies the rubric, and the model writes a short explanation that cites its sources. The team works through a queue sorted by tier, and every time they override a score it gets recorded, because an override is the clearest sign of where the written rules and the partners' judgment disagree.

PUBLIC SOURCESNPS certificationsState SHPO pagesHFA award listsProgram pagesCouncil agendasPress releasesLLM EXTRACTIONsponsor · addresscredit types · stagesize · datessource URLRESOLVEdedupe entitygeocodestate profileCRITERIA FROM CLOSED DEALSread from the firm's own portfolioSCOREcredit stackhistoric readinesspolicy climatedeveloper recorddeal sizeA · ≥ 70term-sheet readyB · 55–69watchlistC · < 55archive with whyHUMAN REVIEWteam overrides → criteria revised
Hover any node for detail.
The firm's own closed deals define the criteria. Public program sources feed an extraction step that turns pages and award lists into one record per project. A transparent rubric scores each record, and the team's overrides flow back into the criteria.

The model does the two jobs people were spending their time on, which are reading and writing. It reads messy government documents into a fixed format and leaves a field empty instead of guessing, and it writes the explanation a partner reads before deciding.

It does not make the decision. The score comes from a transparent weighted rubric and not from the model's opinion, because partners need to be able to argue with one line of a score instead of with a whole answer. Every field carries its source and date, and nobody is contacted until a person approves.

The client's system and data are private, so I rebuilt the logic in public as Spandrel, using a public historic credit syndicator's own announced deals. Eighteen closed deals set the rubric. The credit stack is worth 30 points, historic readiness 20, the state's policy climate 18, the developer's record 15 and deal size 20, with a few bonuses and penalties for special cases. A project that scores 70 or more is ready for a term sheet, 55 to 69 goes on a watchlist, and anything lower is archived with the reason saved.

Before scoring anything new, I tested the rubric on four deals where I already knew the answer. One test was that a big downtown building that is not historic should score low, and it did. The rebuild then scores 23 live projects across Illinois, South Carolina, Ohio, Massachusetts, New York and Wisconsin, with profiles for 16 states and 32 dated policy events.

The build took about sixteen hours, with a coding agent doing a lot of the web research. The review afterwards mattered as much as the build. It removed 11 developer names the research had made up, dropped four projects that were already finished and leased, and corrected a cost estimate that was off by $18 million. Checking the agent's work is part of the product.

RUBRIC WEIGHTSPublic rebuild · set from 18 closed deals · A is 70 or more, B is 55 to 69, C is below 55Credit stack30Historic readiness20Deal size20Policy climate18Developer record15
Weights from the rebuild's rubric file, tested on four deals with known outcomes before any new project was scored.

The same lab paired me with a client that wanted every invoice approved automatically. When I talked with its finance and procurement leads, it turned out the approval step was not the real problem. Invoices were arriving without purchase orders, and for several kinds of spending nobody clearly owned the approval, so automating the click would only have automated the confusion.

I designed two paths instead of one. Standard invoices that match a purchase order go straight through, and everything else goes to an exception path with a named owner. I specified the ERP fields and the sync each path needed, confirmed what was feasible with the engineering team, wrote the requirements and process flows, ran user acceptance testing, and handed the design over for implementation.

When a client cannot tell you their requirements, read their past decisions. A portfolio is a labeled dataset the client has already made for you.

In the first month, being easy to question matters more than being accurate. Partners will use a score they can dispute line by line, and they will ignore a better score they cannot look inside.

Public data is an advantage for whoever reads it first. The hard part is not getting the data but knowing that three different documents describe the same building.

■ 2026
Colophon ■