How I work with AI

Claude Code is my main tool for research and for building software. Here is how I use it, in outline.

01

Vibe coding

Describing software in plain language and letting an AI coding agent write the code. I decide what gets built and how to check it.

Spec first

The agent interviews me before any code, and my answers become the spec.

Check every step

After each change I run the app or the numbers, rather than trusting code that reads well.

Known answers

Methods are tested on simulated data with a known effect, and LLM labels against a second model.

Secrets stay local

API keys stay out of git, and I read every public repository before it goes out.

02

A paper from question to submission

A working paper on generative AI and tourism jobs. Claude Code worked on every stage and I kept the decisions. Results and data details stay off this page until the paper is published.

  1. 1

    Question and literature

    AISearches the literature, summarises papers and checks whether a term I plan to use already means something else in the field.

    MeThe question and what the paper adds.

  2. 2

    Design

    AIDrafts alternative designs and lists the threats to each.

    MeThe identification strategy.

  3. 3

    Data and code

    AIWrites the scripts and re-estimates the main results a second, independent way.

    MeDefinitions, the sample, and what a result must survive before I trust it.

  4. 4

    Writing

    AIDrafts sections from my outline, following a style guide and a fixed glossary.

    MeThe argument and every claim.

  5. 5

    Revision

    AITurns supervisor comments into task cards; a fresh session audits each change.

    MeWhich comments to act on, and how.

  6. 6

    Submission

    AIBuilds the journal's Word files and traces every number back to a script.

    MeThe final read and the AI-use statement.

The AI shock arrived while in-person services were still recovering from the pandemic. Comparing tourism with other service industries keeps the two apart.

03

Matching effort to the task

With Claude Opus 5.5, Claude Code lets me set how hard the model thinks and checks before it answers. I switch it several times on one task: low while we work out what to do, high when the result needs checking. More effort catches edge cases; it does not fix a wrong approach.

  1. Interviewlow effort
  2. Buildlow or medium
  3. Reviewby me
  4. Verifyhigh effort

In research

Drafting a section from my outline; a cleaning script or a figure built to a clear spec.

In web coding

A feature built to a clear spec.

Adapted for research and web work from Thariq Shihipar, “Using Claude Code: Spending your effort” (September 2026).

04

Running a project with a team of AI sessions

A paper outgrows a single chat, so I run it like a small team.

  1. Coordinator

    Plan

    Splits the work into task cards and sends me short briefings. It never does the tasks itself.

  2. Worker sessions

    Do

    Each card runs in its own session: the strongest model for judgement, a faster one for mechanical work.

  3. Fresh reviewer

    Check

    A new session checks the result against the card's acceptance criteria.

  4. Task board

    Record

    One file holds every card's status, so progress survives across sessions and devices.

Some decisions never leave me: the research design, how the main results are defined, the hypotheses and the structure of the paper.

05

Errors that don't announce themselves

The costliest mistakes in my AI-assisted work showed no error message. Most produced a plausible number that was wrong. The usual fix: the session that wrote something is never the only one that checks it.

06

Tools and limits

Tools

  • Claude Code is my main tool. Each project has a rules file and a memory that syncs across my devices; a few custom skills handle recurring research tasks, and connected tools search the literature and check citations.

  • I have tried OpenAI's Codex on side tasks, for comparison.

  • In measurement work, one model labels the text and a second model checks the labels.

Where I draw the line

  • The research question and the design are mine, and so is every claim in print.

  • I check every reference against its DOI before it goes into a paper.

  • Public code runs on simulated or public data. Confidential research data stays out of public repositories.

  • I declare AI use as each journal requires.