This site started as a way to organize links to my various projects and place them under a single domain. With more thought, I decided to convert it into a portfolio page that showcases my research, my growing interest in software development, and other hobbies or curiosities related to AI, cryptocurrencies, etc. Thus, tophertech.org was born.
I don't have formal training in code or software development, but large language models like Claude make it possible to build real, functional software anyway. The projects on this site, as well as the site itself, are all built through conversations with AI. My original goal was to learn how to interact with AI by 'vibe-coding', as I always enjoy learning through experimentation. Yet in the process, the projects actually developed value, leading me to become more ambitious with time.
The PDF keyword search was born out of a real need to ensure that grant applications were not flagged for containing specific keywords. It started as a python script, and then grew into a full webapp. Similarly, Battery Required was built on a Saturday morning, because I was manually calculating the required battery percentage for my EV. Later, I added a separate section for minor help during a recent trip to Korea. Finally, the most significant project to date is an AI-Assistant to help complete IACUC (Institutional Animal Care and Use) forms, which, if successful, will help both the user/PI and the reviewers. This site is the same; I needed to organize links and projects, which led me to a place where I was considering design philosophy, aesthetics, etc. Each new project has required me to learn something new, which is the fun part.
I've built these primarily with Claude Code, with some experimentation with Factory Droid and Figma. I started using Claude Code in GitHub Codespaces, but I am now also using a dedicated Linux machine I can connect to via SSH that runs Claude Code locally. This setup allows me to have an "AI-assistant" with access to all of my files, ideas, and notes, and I can connect to it from anywhere.
Since those early apps, the projects have grown significantly in scope. I've moved from simple web tools to full-stack dashboards with financial modeling, and from there to autonomous AI agents that run 24/7. The Faculty Budget Dashboard, for example, required me to learn component-based architecture, interactive charting, and responsive design patterns. But the most ambitious project has been building a dual-agent system where two AI agents — a personal assistant and a communications director — operate on separate infrastructure with a security boundary between them.
The communications director monitors scientific literature, scores hundreds of abstracts weekly against my research interests, and publishes curated digests automatically. The personal assistant handles scheduling, email, and daily briefings from a local machine. Neither agent can reach the other directly — all data passes through a staging layer with human review. Building this required learning containerized deployment, webhook architecture, email protocols, and security compartmentalization — none of which I had experience with before.
Alongside the agents, I've built a research knowledge pipeline that converts scientific papers into searchable markdown, enriches them with PubMed metadata, and uses an LLM to extract key findings and map relationships across the collection. Around 1,000 papers are indexed into a semantic search engine with 35+ evolving topic clusters, a cross-paper synthesis engine for grant writing, and an automated review process that proposes how the knowledge map should evolve as new papers arrive. A separate inbox pipeline turns quick phone captures into researched, organized project notes — with the same security compartmentalization that separates internet access from write access. The whole system — agents, dashboards, research pipeline, and this site — is built and maintained entirely through Claude Code conversations.
It's an exciting time, as each new model provides more power to build for someone like me. Hands-on experimentation helps me understand what's actually possible versus what's hype, and where these tools shine and where they fall short.
Send me an email ([email protected]) if you are curious about the site, have suggestions, or are interested in doing something similar.
Chris