Consulting and Craft · Group
Hands On
Use this technology, this way. Worked setups and patterns you can lift straight into a project -- local HTTPS that browsers trust, emails that know their own address, and the plumbing that makes development feel like production.
Consulting and Craft · Hands On
Triaging Maintenance Requests with a Bedrock Classifier
The first pilot out of an AI envisioning session is usually a classifier, because classifying is the cheapest, most measurable thing a model does. We take one pick, routing a property agency's inbound maintenance requests, all the way to code: a Bedrock Converse call that returns structured JSON, a schema you can trust, PII guardrails, a confidence threshold that hands the hard ones to a human, and an eval set that tells you whether any of it works.
Read articleConsulting and Craft · Hands On
Answering Tenant Questions from the Lease with Bedrock
The second pick from an AI envisioning session is a retrieve-and-answer pilot: let tenants ask questions and answer them from the lease and handbook, with citations to the actual clause. We build it on Bedrock, and most of the work isn't the model. It's making sure each tenant only ever sees their own lease, that the answer is grounded in a real clause, and that the system says 'I'm not sure, I'll pass this to your property manager' instead of inventing a notice period.
Read articleConsulting and Craft · Hands On
Keeping an AI Pilot Working After It Ships
Launching an AI pilot is the start of the measurement, not the end of it. Models change under you, the inputs drift, and a guardrail that held last quarter quietly stops holding. This is the unglamorous machinery that keeps a shipped pilot trustworthy: the eval set as a merge gate, drift you can see, an adversarial suite you run on purpose, a human-feedback loop that improves the data, and a calm path for when something goes wrong.
Read articleConsulting and Craft · Hands On
Catching Rent Arrears Without a Model
The most useful outcome of an AI envisioning session is sometimes the idea it sends away. A property agency wanted to 'predict' which tenants would fall into arrears; the honest answer was a rule, not a model. This is the boring, reliable thing built in full: a query over the ledger, a few thresholds, an escalation ladder, and the reasons it beats the model nobody needed.
Read articleConsulting and Craft · Hands On
Extracting Lease Terms with Bedrock
An envisioning session parked this one with a single note: no gold answers. Pulling structured terms out of lease PDFs is a clean extraction job, but you can't ship what you can't measure, and there was nothing to measure against. So the build starts where the parking note pointed, building the gold set, and only then wires up the model: structured output, field-level confidence, and a human confirming anything the model isn't sure of before it touches the system of record.
Read articleConsulting and Craft · Hands On
Reading Inspection Photos with a Multimodal Model
The last parked idea from the envisioning session was the most tempting and the least ready: read routine inspection photos and flag the problems. It was parked because thousands of photos sat unlabelled, with no ground truth to measure against. The build turns that weakness into the plan, using the model itself, under a human's eye, to bootstrap the labelled set it lacked, while keeping anything that touches a tenant's bond firmly in human hands.
Read articleConsulting and Craft · Hands On
Monitoring a Bedrock Pilot in Production
Keeping an AI pilot honest is a principle; this is the plumbing. SageMaker Model Monitor watches a tabular model by capturing its traffic to S3 and running a scheduled job that scores it against a baseline. Claude on Bedrock isn't a SageMaker endpoint, so you rebuild the same shape by hand: capture every invocation, replay a golden set on a schedule, measure the live traffic against a profile, and turn the movement into CloudWatch alarms. Here's the wiring at Lodgewise.
Read articleConsulting and Craft · Hands On
Gig Posters From the Listings Database
A five-nights-a-week music venue owes the world a poster per gig, and the listings database already knows everything the poster needs to say. A Stability image model draws the art, code sets the type from the data, and Luma Ray 2 animates the headline act's poster into a loop for the socials. The one rule that carries it is the one that makes gig posters the perfect fit: poster art is supposed to be art.
Read article