Projects
I build the tools I want to teach with. Most of what follows started as something I needed for a course and grew from there — open-licensed, free to adopt, and written so that other instructors can pick them up without asking my permission.
Open Educational Tools and Interactive Learning Builds
I build the tools I want to teach with. Most of what follows started as something I needed for a course and grew from there — open-licensed, free to adopt, and written so that other instructors can pick them up without asking my permission.
An open educational resource for introductory logic, built to replace the commercial textbook in PHIL 151 at UMW and to be adoptable by other Virginia institutions and beyond. The book is drafted in full — four parts, fifteen chapters, four appendices — and was piloted in a credit-bearing course in Summer 2026. Accessibility is a hard requirement rather than a finishing touch: WCAG 2.1 AA throughout, in both the text and the tools.
The book is licensed CC BY-SA 4.0 and the tools MIT, so any instructor can adopt, remix, or self-host them. Project funding is being sought through the VIVA Open Creation Grant.
Each is a self-contained browser application — no install, no account, no data collection — linked directly from the relevant chapter and usable on its own by anyone. All four are free and openly licensed.
Build and verify proofs in sentential logic using Copi notation, with the eighteen implication and replacement rules plus conditional and indirect proof. Operators can be clicked or typed as shortcuts, lowercase atomics are capitalized automatically, and two problem generators supply unlimited practice.
Live
Open the proof checker (opens in a new tab)Three modes: classify a single statement, compare a pair, or test an argument for validity. Students can choose to be corrected as they go or only when they ask, load practice problems, and return to saved work.
Live
Open the truth table checker (opens in a new tab)Categorical logic on the modern interpretation — two-circle propositions and three-circle syllogisms. Students shade and mark regions, diagram the conclusion separately, and then rule on validity; the tool compares their diagram against the correct one. Regions are keyboard-navigable, not mouse-only.
Live
Open the Venn checker (opens in a new tab)The step before formalization. Paste a messy passage, break it into statement cards, then split, merge, and tag each one by role until a standard-form reconstruction emerges. Students add implicit premises, record which claims support a conclusion and whether they do so independently or jointly, and run a structural health check before submitting.
Live
Open the reconstruction editor (opens in a new tab)An AI speech coach built for my Aesthetics course. Students give a “Theory & Object” presentation — a persuasive talk connecting a physical object to theory read in the course — and are required to show evidence of a practice session beforehand. The university's Speaking & Writing Center is the human option, but its hours don't reach everyone, particularly commuter students. This tool is the always-available alternative.
Students record their presentation, upload the audio, and receive narrative feedback as a PDF. Three design decisions matter more than the code. The model processes the audio directly rather than working from a transcript, so it can hear cadence, pauses, monotone delivery, and filler words instead of inferring them from text. The actual assignment rubric serves as the system instruction, which means the feedback is answerable to the same standard the presentation will be graded against rather than dispensing generic speaking advice. And the output is deliberately qualitative — narrative coaching, no scores or numbers, nothing grade-like — because the tool is for practice, not assessment.
It was built through conversational prompting with an AI model over several sessions rather than written line by line, which is the subject of the talk below. Across the semester it logged more than twenty-five submissions, with several students returning to iterate on feedback they had received.
Reception was genuinely mixed, and I think that matters to report. Some students found it useful and said so; commuters especially. Others declined to use it, on grounds I take to be legitimate design constraints rather than noise: they did not want a machine to have their voice, or objected to the environmental cost of inference, the labor practices behind model training, or the risk of their own skills atrophying. One thought the whole thing was out of touch in an art-theory course. The tool was optional from the start and stayed that way, with the Speaking & Writing Center alongside it.
View the source (opens in a new tab) Live app (opens in a new tab)
The live app is password-protected for enrolled students; the source is public.
Reading tutors I build for my own courses, each tied to a single difficult primary text. The point is not to summarize the reading — it is to give students something that will push back while they work through it, at whatever hour they are actually reading. Students are told to start the text first and bring the bot in partway, not to use it instead of reading.
The Hegel bots work differently from the others: rather than explaining a position, they occupy one, and students find its limits by pressing on it. Each AI exercise is paired with a short piece of writing done without AI, on what the encounter did and did not demonstrate.
Built for Heidegger's “The Question Concerning Technology” in the technology-and-nature unit. It draws students into a discussion aimed at getting clear on the essay's key ideas — standing reserve, enframing, and what a free relation to technology would amount to.
Live
Open the Heidegger tutor (opens in a new tab)Built for Part II of Beyond Good and Evil, which closes the unit on identity and technology — where questions about enhancement, biohacking, and self-modification run into Nietzsche's account of what a free spirit is.
Live
Open the Nietzsche tutor (opens in a new tab)Built for the opening moves of Hegel's Phenomenology of Spirit, in 19th Century European Philosophy. It speaks only from within sense-certainty — it will describe bare particularity and will not step outside that standpoint — so its language runs into exactly the limits Hegel says it must.
Live
Open the sense-certainty bot (opens in a new tab)Built for the self-consciousness chapter of the same text. It performs the life-and-death struggle rather than describing it — students argue with a self-consciousness that aims at the death of the other, and only after several exchanges does it break character to explain the point.
Live
Open the mastery and servitude bot (opens in a new tab)Two further Hegel bots are in use but not yet public: a reference bot running against the full Pinkard translation, and a final-exam bot that replaces the in-class essay exam with a Socratic dialogue on Hegel, Marx, and Nietzsche. The Playlab bots open with no account needed; the Nietzsche tutor is a custom GPT and requires a free OpenAI account.