← All work

Tenex

Lead engineer on three client engagements at once. Document AI with evals and autonomy gates, retail analytics, a Databricks warehouse.

role
Senior Forward Deployed Engineer
when
2026
stack
TypeScript, Next.js, Python, Google Document AI, Databricks, Postgres
  • 3 client engagements at once, as the lead engineer
  • 1,500+ stores in the placement analytics
  • 96% of 300+ SKUs where the model called the direction of sales
  • Over half of documents run without human review

Tenex is an AI consultancy that puts engineers directly with clients. I was a forward deployed engineer there from March to June 2026, and the lead engineer on three client engagements at the same time. On each one I went from discovery to architecture to delivery, and I ran the demos for the client's executives.

I've left out client names.

Reading forms people used to type in by hand

One client had an outsourced team typing printed and handwritten forms into their system. Hundreds of forms a week.

I built a pipeline that reads them instead. Google Document AI does the OCR, then two LLM passes pull out the fields. Most of the work was deciding when the client could trust the output without a person checking it.

Every document gets checked. Only the ones that pass go through without a person.

I wrote evals for the extraction and an autonomy gate on top of them. A document only skips review when it passes the checks. Everything else goes to a person, same as before. With the gates in place, over half of the documents ran without human review, and the client could start winding down the outsourced data entry.

Retail placement analytics

Another client places products in stores. I built an analytics app over 1,500+ stores and several million historical sales records, in TypeScript and Next.js. Account execs use gondola-level heatmaps to compare stores, field vs. non-field accounts, and how placement affects sales.

To check the model, we held out a real historical placement change and asked it which way sales would move. It matched the observed direction for 96% of 300+ SKUs. The client uses it.

I also worked on RAG pipelines to make search across the platform's data more useful.

Moving a manual data process into Databricks

One client was owned by a private equity firm. Together with the firm we stood up a Databricks warehouse: data moved from SQL Server into Databricks, and I wrote the Python ingestion pipelines. Those replaced a manual, screen-by-screen process that pulled the data with computer use, an AI agent clicking through screens.

Scheduling for 120 reps

The third engagement replaced WhatsApp threads. Reps used to send their availability in chat and someone assembled the schedule by hand. I shipped a mobile scheduling app (TypeScript, Next.js) that collects availability and generates the shifts: hundreds a month for 120 representatives across 425 stores.

Tools I built for myself

Leading three projects at once meant I needed help. I built:

  • a tool to run several Claude Code sessions in parallel
  • a Slack-to-PR flow that turns a bug report into a pull request for review
  • git provenance tracking

I also prototyped a pipeline that takes a product doc to a pull request: plan, grade the plan, write tickets, plan each ticket, grade again, build, open the PR. A person signs off at the steps that matter.