What we publish
162 articles on buying, building and running software, AI and data systems. Written by the engineers doing the work, for the people paying for it. Nothing here is gated and nothing asks for your email.
Buying technical work
19 articles- Vendor Lock-In You Did Not NoticeLock-in is almost never in the contract. Five kinds, what each costs to unwind, the AI-specific ones being signed right now, and the export test to ru
- When You Need a Data Engineer and When You Need a DashboardThe same request covers two different problems with a tenfold cost difference. A short test that tells you which one you have before you spend anythin
- Onboarding an Outside Engineer in a WeekFive working days from signature to a merged, deployed change is achievable and mostly depends on the buyer, not the engineer. The access list, the on
- Do You Need a Discovery PhaseDiscovery is sold as risk reduction and is sometimes a way to bill for the sales process. The test for whether you need one, what a real discovery del
- A Mobile App for a Business That Has NoneThe three reasons a business genuinely needs an app, what one costs to build and to carry, the install-rate arithmetic, and why the backend is the rea
- How to Read a Software ProposalThree bids, three shapes, and the cheapest is cheapest because something was left out. Where to look, in what order, and how to make the comparison re
- How software work should be pricedWhy three quotes for the same project come back at $48K, $130K and $310K, what you are actually paying for, and how to make competing bids comparable.
- What you get in the first two weeksThe artifacts that should land in the first fortnight of an engagement, how to grade them in thirty minutes, and what it means when week two is all sl
- Agency, Freelancer, or Engineering PartnerThree ways to buy software and data work, what each one is actually selling, the rates you will be quoted, and the failure mode of each.
- What we need from you to startThe short list of inputs a software or data project actually needs on day one: a decider, real data, access, the process as performed, and a definitio
- Support and Maintenance, HonestlyWhat you are actually buying in a support contract, the three different jobs hidden under one word, what each pricing model does to behavior, honest m
- Scoping an AI Project When You Do Not Know What Is PossibleHow to size an AI project under technical uncertainty: separating the feasibility question from the build, finding the ceiling, and buying the answer
- Working with an engineering partner across time zonesOverlap hours, decision latency, on-call across an offset, and the written habits that decide whether distributed engineering works for your company.
- What Internal Tools Should CostReal price bands for internal software, what actually drives the number, the costs a quote leaves out, and how to compare two bids that differ by ten
- What a Custom AI Feature Costs to BuildReal ranges for a production AI feature inside an existing product, the seven cost lines behind the number, and the four things that double a quote.
- How to Write a Brief for Software You Cannot Specify YetWhat to put in a software brief when you know the problem and not the solution: current-state numbers, a measurable outcome, constraints, data owners
- How to Evaluate an AI Vendor's ClaimsAccuracy numbers, demos, benchmarks, logo walls and ROI figures, and the small set of questions that tell you which of them mean anything.
- AI for a Professional Services FirmA firm that bills time loses revenue when the work gets faster. Which hours to automate first, what confidentiality rules actually permit, and what it
- Does Your Business Actually Need AIA practical way to decide whether an AI project is worth funding: the task, the volume, the current cost, the tolerable error, and the arithmetic unde
AI systems and economics
20 articles- Search That People TrustTrust is a different property from relevance. Known-item failures, staleness, unstable ranking, permission confusion and unexplained results, and how
- Agent Architectures That Survive Contact With UsersDurable state, context that degrades, tool design, blast radius, interruption and the circuit breakers that stop a loop before it stops itself.
- When to Build Your Own Inference StackSelf-hosting is four decisions, not one. The layers you can own separately, the five conditions that justify running your own serving layer, and the c
- RAG that works on real enterprise documentsSix versions of the same policy, tables that matter, permission boundaries and a format zoo. What changes when the corpus is real.
- Caching for LLM ApplicationsFive different caches get called one thing. Prefix caching, exact-match, semantic, embedding and tool caches — what each saves, and what each can get
- Explainability for a Regulated ModelFour different questions hide under one word. Which technique answers which, why stability beats fidelity, and how to test an explanation on the perso
- Batching and Cost Control for LLM PipelinesThree kinds of batching, what each is worth, and the cost accounting that turns an unpredictable inference bill into a number per unit of work.
- Your Eval Suite Is Measuring the Wrong ThingA rising eval score and a flat complaint rate can coexist for a long time. The six gaps between a benchmark number and a business outcome, and what to
- Model Risk Management for Machine LearningInventory, tiering, independent validation and change control for models that retrain themselves — and the honest test of whether the whole discipline
- Building an eval set that catches regressionsAn eval set that never goes red is a ceremony, not a test. Where cases come from, how many you need, and how to slice so the average stops hiding dama
- Long Context, and When It Beats RetrievalMillion-token windows changed the arithmetic, not the answer. The cost, latency and accuracy math that decides whether to stuff the corpus or retrieve
- Search Over Your Own DocumentsFour different products get requested under one sentence. What decides quality is the corpus, not the model. Chunking, hybrid retrieval, permissions,
- What It Costs to Serve a Frontier ModelWhere the money goes when you host inference yourself: memory bandwidth, KV cache, batching, utilization, and the payroll line that never appears in t
- Context engineering beyond the promptWhat reaches the model on a real request is assembled by code: retrieval, history, tool results, state. Assembly is where the quality is.
- An Internal Chatbot People Actually UseMost internal chatbots are abandoned within six weeks. Start from the question log, not the documents, and build the boring parts nobody demos.
- Evaluation Harnesses for Agent SystemsTrajectory scoring, fixture design, judge calibration, sample sizes that can actually detect a regression, and what a full agent eval run costs to ope
- Building with Claude in ProductionTimeouts, retries, stop reasons, prompt caching, tool loops, evals and cost accounting: what a demo skips and the second month of production does not.
- Tool-use design for LLM agentsTool names, schemas, error strings and return shapes are prompt surface. They decide most of what teams blame on model reasoning.
- Multi-Model Routing and When It PaysRouting traffic across models saves real money in a narrow band and costs more than it saves outside it. The arithmetic, the signals, and the failure
- Causal Questions an A/B Test Cannot AnswerInterference, long horizons, non-compliance and changes already shipped: the decisions randomization cannot reach, and the observational designs that
Data and reporting
23 articles- The Analysis That Changes a Board's MindMost analysis that reaches a board is received, thanked for and filed. The difference between that and analysis that moves a decision is structural, a
- Your Data Is Not Ready, and That Is NormalEvery company apologizes for its data. Readiness is a relationship between data and a question, not a property of the data. The six conditions that ma
- Integrating Two Systems That Were Never Meant to TalkIntegration is rarely a protocol problem. Two systems disagree about what a customer is, what a date means and when a fact is true. Here is the order
- Stress Testing Data PipelinesData pipelines rarely fail because of volume. They fail on shape: late records, duplicates, skew, a changed column, a dependency that got slow. How to
- Workforce Planning With the Data You HaveYour system overwrites position history, your titles are a mess, and you can forecast how many people will leave far better than who. Plan around that
- Property data that is never cleanParcels, addresses, buildings and owners do not map one to one, and no national key exists. How to build property data whose error is measured and bou
- Resume Screening Without Making It WorseRank and route, never auto-reject. Why a fit score is indefensible, how censored outcome data breaks validation, and what to monitor after launch.
- File Processing at VolumeWhat breaks when a file pipeline goes from thousands to millions: the size distribution, hostile inputs, partial success, and designing for reprocessi
- Churn Models and What to Do With ThemRanking who will leave is the easy half. Label definition, leakage, calibration, and why a retention budget aimed at the highest-risk accounts usually
- Marketing Attribution You Can DefendWhy three tools give three answers, what a holdout test costs, when a media mix model cannot identify anything, and how to report a number with an int
- A Single Source of Truth People Actually UseMost single-source-of-truth projects finish and get ignored. What decides adoption is not the warehouse. It is definitions, freshness and who owns eac
- Usage Analytics for a SaaS ProductDefining a value event, measuring the account rather than the user, what client-side tracking loses, what event volume costs, and when you do not need
- What a Data Pipeline Costs to Build and RunBuild ranges by pipeline shape, the three monthly bills, why freshness is the most expensive word in the requirement, and the maintenance line nobody
- Time Series at Financial ScaleStorage layout, as-of semantics, corporate actions and the three timestamps every observation carries. The engineering that decides whether a market d
- Segmentation That Changes a DecisionClustering never fails, which is the problem. The three tests a segmentation has to pass before it is worth building, and the supervised alternative t
- Load Forecasting for a UtilityWhy average error is the wrong target, how behind-the-meter solar broke the temperature relationship, late-arriving meter data, and the backcast that
- Demand and Labor Scheduling for RestaurantsWhy the posting deadline sets the forecast horizon, why check-close timestamps staff you an hour late, and what a point of labor accuracy is actually
- A Dashboard Executives Actually OpenWhy executive dashboards get abandoned by the second quarter, and the design decisions — decisions first, delivery over login, a real drill path — tha
- Your Reporting Is Wrong and Nobody Knows WhyTwo dashboards disagree and nobody can say which is right. The four places a business number actually goes wrong, and how to find out which one you ha
- Underwriting models for a smaller insurerCredibility limits, loss development, submission triage and the underwriter override. What modeling actually works on a book that is large enough to m
- Reporting That Finance Signs Off OnAnalytics teams build reports. Finance signs numbers. The definition layer, reconciliation, as-of snapshots and restatement policy that close the gap.
- Forecasting a Business Can Act OnHorizon set by lead time, grain set by the decision, quantiles instead of a point number, and the baseline you have to beat before any of it counts.
- Entity Resolution Across Financial DatasetsIdentifiers that look like keys and are not, the grain problem, point-in-time correctness, and how to measure a match rate when nobody owns a truth se
Software and platforms
8 articles- Integrating a CRM With Everything ElseField ownership, account identity, one-way versus two-way sync, API budgets, merges and deletes, and the silent failure nobody notices for eleven days
- Notifications People Do Not Turn OffDelivery rate is the wrong metric. Action rate, mute rate and an alert budget are what decide whether a notification channel survives its first quarte
- Streaming UX for LLM ApplicationsStreaming is a UX contract, not a transport choice. The five states you must render, partial markdown, scroll behavior, cancellation, and accessibilit
- An API for Your PartnersWhat changes when the developer calling your API works for someone else: onboarding time, auth your partner can implement, versions they will never up
- Feature Stores, and Whether You Need OneA feature store solves training-serving skew and point-in-time correctness. If you do not have both problems, here is the cheaper thing that covers mo
- A Design System for an Internal ToolTokens, the five components that carry an internal tool, density, table behavior, the six states every screen owes, and when a design system is the wr
- Building an Internal Platform Your Team Will UseInternal platforms fail at adoption, not engineering. Picking the first workflow, beating the spreadsheet, owning migration, and measuring use honestl
- A Customer Portal Worth Logging IntoWhy most customer portals get built and then ignored, and what to measure, model and ship so yours takes real work off the phone.
Industry work
16 articles- Claims Processing AutomationCount touches, not claims. Where automation actually pays in a claims operation, why the pilot succeeds and the rollout stalls, and how to set confide
- Route optimization for a real fleetThe solver is the easy part. Service times, unwritten constraints, driver acceptance and whether saved miles ever become saved money decide if a routi
- Billing and Invoicing AutomationRating, proration, approvals, customer purchase order rules, immutable invoices, dunning and the leakage nobody measures — what actually makes billing
- Automating a Process Nobody Has DocumentedThe missing process document is not a blocker, it is the first deliverable. How to recover a real specification from artifacts and observation, why th
- Voice and Phone Automation That Does Not Infuriate PeopleWhat makes callers angry is not the robot. It is the loop with no exit. Call reasons, latency budgets, readback, escalation and the numbers to measure
- Patient Scheduling That Reduces No-ShowsLead time drives most of the no-show rate, a waitlist beats a model, and prediction is only useful if it produces a call list somebody works. A practi
- Quoting and Estimating ToolsWhy the estimator's spreadsheet keeps winning, the two different jobs called quoting, margin floors and approvals, and the handoff that decides whethe
- Automating Back-Office Work at a Mid-Size CompanyThe exception rate decides the economics. Which back-office work automates, why fixing upstream beats automating downstream, controls, cost, and the s
- Returns, and What the Data Actually Tells YouReturns arrive weeks late, reason codes lie, and net-of-returns margin is the only unit economics that count. What a retailer can actually learn from
- Dispatch Software for a Field-Service BusinessWhat the dispatcher is really optimizing, why routing helps planned work more than emergencies, and where custom software earns its cost in a service
- Software for a Company With Field CrewsOffline sync, photos, timesheets that become legal records, and why adoption by crews decides everything. What to buy, what to build, and what it cost
- Contract review at volumeTwo different jobs get called contract review. One needs a written playbook more than software. The other needs a document set nobody has assembled. H
- Migrating Off Spreadsheets Without Breaking the BusinessWhen a workbook that runs a real process should become software, what the rewrite always underestimates, and the parallel-run method that keeps the bu
- Utilization and Pricing for a Professional Services FirmHow to define utilization so it means something, why realization is where the money leaks, and how to build a rate you can defend and price above.
- Automating email triageWhat is really inside a shared inbox, how to measure it before you build anything, and where automated routing helps a business and where it quietly m
- KYC and Onboarding AutomationWhere onboarding time actually goes, which of the three decisions can be automated, how vendors inflate straight-through rates, and the evidence file
Engineering practice
76 articles- When a Data Vendor Should Be ReplacedMost vendor replacements are decided on anecdotes and regretted. How to measure a data vendor against your own universe, price the switch honestly, an
- Replacing the Spreadsheet That Runs a DepartmentHow to read a business-critical workbook as a specification, find the rules hidden in hardcoded cells, run in parallel, and keep the people who depend
- Predictive maintenance for plant equipmentWeak failure labels, historian compression, operating regimes, required lead time and the alert budget a reliability team can actually work. What hold
- Guardrails that do not break the productEvery guardrail has two error rates and most teams measure one. What over-blocking costs, and where a control actually belongs.
- Fraud Detection for a Growing FintechYour review team's capacity is the real threshold, chargebacks arrive months late, and the leaked-feature bug makes offline results look wonderful. De
- Fair Lending Analysis in PracticeThe data you are not allowed to collect, the proxies that stand in for it, the control variables that quietly destroy the analysis, and the less discr
- Experiment Design When Traffic Is ThinA ladder of designs for low-volume products: choosing the randomisation unit, staged rollouts, offline replay, deciding by expected loss, and reportin
- Audit Trails That Survive a DisputeMost audit logs record what changed. A dispute asks who decided, on what evidence, and what the system showed them at the time. That is a different de
- Reference Data and the Golden-Record ProblemOne canonical value per attribute collapses time, provenance and legitimate disagreement. What to build instead, and how to migrate without a big bang
- Data Lineage That Satisfies an AuditorAn auditor asks three questions and most lineage tools answer one. Column-level capture, coverage you can state honestly, and evidence that survives b
- What a Private Equity Operating Partner Should Ask About TechnologyFive questions that produce artifacts instead of assessments, how to price technical debt, the gross-margin question asked too late, and what the firs
- What a Fractional CTO Actually DoesThe title covers three different jobs. What each one buys, what a day a week really gets you, rates, the conflict of interest nobody mentions, and how
- SOC 2 for an AI Company, MinimallyYou write the controls and an auditor tests what you wrote. The smallest honest scope, what actually takes engineering time, and the questions about y
- Prompt Versioning and RollbackA prompt is a deployable. What belongs in the versioned bundle, how to gate a change, and why most rollbacks do not roll anything back.
- Donor Analytics for a NonprofitWhy donor-advised funds break retention math, what duplicate records really cost, why RFM is hard to beat, and where a model earns its keep on a calli
- Your First Data Hire: Analyst, Engineer, or ScientistThree roles that get confused, what each one actually produces, the diagnostic questions that tell you which one you need, salary ranges, and why the
- What good looks like at handoverHandover is not a document review. It is a test: can two of your people run, change and fix the system without the team that built it. Here is how to
- What an MVP Should Cost, and What It Should Not IncludeHonest price and time ranges for a first version, the eleven things routinely built that should be cut, and the six cheap things nobody should ever cu
- Reference Data Change ManagementReference data changes constantly, and most systems store only its current state. What that costs, how bitemporal storage fixes it, and how to run cha
- Model Monitoring in the Real WorldA model in production fails quietly and the dashboards stay green. What to watch when the truth arrives weeks late, why drift alerts get ignored, and
- Maintenance Records Nobody Fills InA CMMS full of blank failure codes is not a discipline problem. It is an exchange with nothing on one side. How to make the record worth making, and w
- What an AI Proof of Concept Should ProveA proof of concept is a purchase of information, not a demonstration. Name the uncertainty, write the decision rule before you start, build the evalua
- Running a Paid Pilot That Answers a Real QuestionMost pilots demo well and decide nothing. Write the question with a number and a decision attached, measure the baseline first, and precommit to stopp
- Red Flags in a Software Statement of WorkThe argument you will have in month four is already written into the SOW, in a sentence nobody objected to. Eleven clauses to find before you sign.
- Handling Customer Data You Must Not Train OnThe promise is easy to make and hard to prove. Where copies of restricted data actually land, which controls survive an audit, and how to make the cla
- What to Send an Engineering Partner in the First EmailThe six things that make an outside firm able to answer you usefully, why saying your budget helps you, what not to send first, and how to read the re
- Turning a Manual Review Into a ModelSomebody reads a thing and makes a call. Replacing that with software works more often than people think and less often than vendors say. What it cost
- Mobile or Web for an Internal ToolA decision usually framed as a technology choice and rarely one. What only a native app can still do, what offline really costs, and why the honest de
- Software for a Business That Runs on EmailWhen the inbox is the system of record, most software projects fail by trying to replace it. What actually works: keep email as the interface, put a r
- Pricing Models and Their Blast RadiusThe unit you bill on becomes a schema the whole company depends on. Metering as a ledger, cost-following units, elasticity you cannot estimate, and gr
- Augmenting a Team That Is Already BehindAdding engineers to a late project usually makes it later. The three kinds of behind, the seam test that decides whether outside help works, and what
- When to Fine-Tune and When to PromptDiagnosing which gap you actually have, the five-rung ladder from prompt to preference tuning, how much data each rung needs, and the maintenance bill
- What Happens When Your Model DegradesModels do not fail like servers. Nothing goes red, the answers just get worse. The four mechanisms, what to watch when you cannot measure accuracy, an
- Visual inspection on a production lineThe human baseline, unstable labels, false-reject economics, shadow mode and the operator who turns it off at 2am. What decides whether line inspectio
- Private Company Data CompletenessMissing rows in a private company file are not random. They are correlated with size, funding and jurisdiction, which is exactly what you are trying t
- Multi-Tenant Architecture From Day OneChoosing an isolation model, propagating tenant context, migrating across thousands of tenants, per-tenant limits and cost, single-tenant restore, and
- Fixed Price Versus Time and Materials for Software WorkWhat a fixed price really costs you, what time and materials really costs you, the one variable that decides, and the hybrid most software work should
- Cost Per Successful Task, Not Per TokenToken price is the numerator. The denominator is how many tasks actually finished. Why a cheaper model can cost more, and how to instrument the number
- Content Tagging for a Media LibraryWhy the real cost is the reshoot, what machines can honestly tag, why generic visual labels hurt, and why the most valuable tag in the archive is whet
- Backtesting That Does Not Lie to YouLeakage and selection are the two families of backtest failure. Five sanity tests, the cost model that decides the result, and how to run a holdout th
- When to stop a projectStopping is a decision, not a failure. The signals worth acting on, the ones that only look like failure, and how to close a project down without losi
- ESG Data and Its Provenance ProblemMost ESG figures are not measurements. They are reported values, vendor estimates, industry averages and inherited proxies, flattened into one field.
- Classifying Support TicketsAuto-tagging and routing tickets looks like a model problem and is mostly a taxonomy problem. Measure agent agreement first, name categories after act
- What a Data Warehouse Costs at Your SizeThe warehouse bill is the smallest of three cost lines. Build, run and maintain, with realistic ranges by company size and where the surprise charges
- Yield Prediction from Field and Imagery DataWhy you have far fewer observations than pixels, what satellite imagery can and cannot see, cleaning yield monitor data, and how to test a yield model
- Who Owns the Code You Paid ForIn the US, paying for software does not by default make you its owner. What the statute actually says, the four ownership layers, and the clause langu
- Quantity takeoffs from drawingsScale calibration, symbol drift between design firms, vector versus scanned sheets, schedule lookups and the reviewable overlay that decides whether a
- Lease abstraction without a team of analystsAmendments, option notice windows, expense caps and the reconstructed rent schedule. What machine abstraction can do across a lease portfolio, and whe
- Inference Cost Per Token, HonestlyThe seven multipliers between a price sheet and an invoice, how prompt caching really pays, and why cost per completed task is the only planning unit
- Evaluating Alternative DataHow to run a data trial that tells you something: coverage as a function, point-in-time delivery, effective sample size, orthogonality and what a fair
- Document Processing at VolumeSplitting, classification, extraction, validation and the exception queue. Why field accuracy is the wrong number and straight-through rate is the rig
- Build Versus Buy for an Internal AI ToolThe seat math that decides it, the four options instead of two, what neither quote includes, and the honest test for when building an internal tool is
- Authentication and Permissions, Done OnceWhy auth gets rebuilt three times, how to buy authentication and own authorization, choosing between role, attribute and relationship models, and the
- Recommendations for a Store With a Small CatalogWhich surfaces earn money, why co-purchase data is thinner than it looks, and the merchandising rules that beat a model on a few hundred products.
- Workflow Engines and When You Need OneThree different products are called workflow engines. Which problem each solves, the cheaper fixes to rule out first, and the versioning trap nobody w
- The Handoff Problem: What Happens When the Contractor LeavesThe code is the easy half. What actually leaves with an outside team, the clean-machine test that proves a handoff is real, and the clauses to write b
- Structured Output from a Language ModelConstrained decoding, tool schemas and repair loops: how to get JSON out of a model reliably, and why valid JSON is not the same thing as a correct an
- Replacing a Legacy Internal AppHow to replace the old internal application the business runs on: finding the real requirements, the three replacement shapes, what data migration cos
- Questions to Ask Before Hiring a Data Science ConsultantThe questions that predict whether a data engagement works are mostly not technical. Who does the work, what done means, what you owe them, and what y
- Latency Budgets for Conversational AIWhere the milliseconds go in a chat or voice turn, how to write a budget in percentiles before you build, and the levers that actually move the number
- How much of your team's time a project really needsThe half of a software budget nobody prices: your own people. What each internal role actually spends, when it peaks, and what happens when you underf
- Extracting data from PDFs nobody standardizedSupplier invoices, carrier statements, lab certificates and rent rolls arrive in a hundred layouts. What actually works, what the accuracy numbers rea
- Document Extraction at Scale for Financial FilingsUnits, signs, period alignment and amendments are where extraction pipelines lose money. The architecture, the accuracy measurement and the real cost
- Data Work for a ManufacturerFour plant systems disagree about the same shift. Where the joins break, why OEE is usually wrong, what the OT network costs you in schedule, and hone
- Data Migration Without DowntimeMoving a system of record without stopping the business: profiling, what not to move, mapping decisions, reconciliation tolerances, timed rehearsals a
- Construction scheduling that survives the fieldWhy the CPM schedule and the three-week lookahead never agree, what data a jobsite actually produces, and where software helps a superintendent instea
- Where LLMs Are Worth the Money, and Where They Are NotToken prices are the small number. Review cost is the large one. A task-by-task read on where a language model earns its keep and where cheaper method
- Anomaly Detection That Does Not Cry WolfBase rates, alert budgets, seasonality, per-entity baselines and incident grouping: how to build a detector whose alerts a team will still read in mon
- What Happens After LaunchLaunch day is the start of the expensive part. The first 72 hours, the shape of the defect curve, why adoption stalls at 20 percent, what hypercare co
- Inventory Forecasting for an E-Commerce BusinessLead time sets the horizon, stockouts corrupt the history, and the purchase order is the real deliverable. What actually moves in-stock rate for an on
- The meeting where the project goes wrongMost software projects are decided in one early meeting where a hard question gets a soft answer. Here are the sentences to listen for and what to ask
- Knowledge Graphs for Enterprise DataWhat a graph model buys over a relational schema, what it costs, and why identity and edge history decide whether the project works at all.
- Why Software Projects Slip, and What to Do About ItMost schedule slip is decided in the first two weeks, not the last two. Where the time actually goes, the signals that show it six weeks early, and wh
- When to Hire In-House Versus ContractThe choice is settled by how long the work will exist and whether it is the thing you sell, not by comparing a salary to an hourly rate.
- When an LLM Is the Wrong ToolA language model will produce a plausible answer to almost anything, which is exactly the trap. The four questions that decide the tool, the jobs a ch
- Freight visibility across carriersJoining loads across dozens of carriers and four modes: identifiers, event lag, geofences, ETA stability, and the coverage number nobody puts on the d
Have one of these problems?
Describe it in an email and you get a written read inside two business days — what we think is going on, what we would do first, and what it would cost.