BERKELEY Berkeley City College, 2022–24 IRVINE UC Irvine, 2024–26 N 50 mi

Theodore Markopoulos

Computer science, UC Irvine. Co-founder, Crestfora.

I’m Theo. I study computer science at UC Irvine and run Crestfora, a B2B appointment-setting agency, with my co-founder Mark Phouiphiphath. I also build Python tools for machine learning and language models. Every project below links straight to its code.

Companies

Oct 2026 – now Co-founder

Crestfora

Crestfora helps B2B companies get meetings with the decision-makers they want to reach. We research the right contacts, start the conversation with personalized outbound email, qualify the replies, and book sales meetings onto our clients’ calendars.

Mar – Aug 2026 Co-founder

HVACNow

Co-founded HVACNow, an AI automation business focused on helping HVAC companies recover missed revenue.

Built the initial version of our AI-powered phone system, including bilingual English/Spanish call handling, emergency escalation rules, lead qualification, and CRM integrations. Worked alongside my co-founder to develop the product, speak directly with business owners, and refine the offer based on what we learned.

Led the early sales and customer discovery process, from prospect research and cold calling to testing our positioning and identifying where automation could provide real value.

HVACNow was founded in 2026 in Irvine, California by Theo Markopoulos and Mark Phouiphiphath. The founders later wound the company down and pivoted into Crestfora.

Projects

Apr 2026 Python, PyTorch, Hugging Face Transformers

HalluScope

Trains lightweight classifiers on a language model’s internal activations to flag likely hallucinations while the model is still generating, with no retrieval step. It implements the method from a 2026 research paper and trains on SQuAD v2 with weak-supervision labels.

halluscope/src/extraction/hooks.pyCaptures hidden states during generation
75handle = layer_module.register_forward_hook(_hook)
Read the code on GitHub
Apr 2026 Python, pandas, scikit-learn, Transformers, Alpaca, Twilio

StockSentinel

Watches a stock watchlist and scores signals from live market data, technical indicators, machine-learning anomaly detection and news sentiment, then texts an alert when a signal is strong. It recommends; it doesn’t trade.

stocksentinel/calibration/kelly_sizer.pyKelly criterion for a suggested position size
45raw_kelly = (b * p - q) / b
Read the code on GitHub
Apr 2026 Python, LangGraph, LiteLLM, scikit-learn, DuckDB

AgentRouter

A routing layer for multi-agent LLM pipelines. It classifies each sub-task and uses a bandit algorithm to pick the cheapest model likely to handle it, logging every decision so the choices improve over time.

agent-router/src/bandit/arm_elimination.pyBest-scoring model the budget can afford
126return max(affordable, key=lambda k: self._ucb_score(k)).model_id
Read the code on GitHub
Apr 2026 Python, FastAPI, Redis, Prometheus, Docker

ReasonGuard

A FastAPI service that scores how reliable a reasoning model’s answer is from its reasoning trace alone. It counts hedging and verification phrases to compute a Hedge-to-Verify Ratio and a confidence score, then returns accept or defer. It can also sit in front of any OpenAI-compatible API as a proxy. It implements the scoring method from a 2026 research paper.

reasonguard/src/reasonguard/scoring/hvr.pyThe Hedge-to-Verify Ratio
19hvr = h / (v + 1)
Read the code on GitHub
Apr 2026 Python, LiteLLM, Pydantic

BlindSpot

An evaluation suite that measures how often language models refuse legitimate requests involving rules that are defeated, unjust or absurd. It builds a 95-scenario test matrix across 5 defeat families and 19 authority types, runs it through LiteLLM, and scores both over-refusal and whether the model recognizes why the rule doesn’t apply. It implements the method from a 2026 research paper.

blindspot/src/blindspot/dataset.pyBuilds the scenario matrix
604for family, authority in itertools.product(families, authorities):
Read the code on GitHub
Apr 2026 Python, PyTorch, Hugging Face Transformers

unlock

Extracts a capability, such as chain-of-thought reasoning, as a direction in one language model’s residual stream and transfers it into another model in the same family through linear alignment, with no fine-tuning. It implements the method from a 2026 research paper.

unlock/src/unlock/transfer.pyFits the map between two models’ hidden spaces
113w, *_ = np.linalg.lstsq(src_acts, tgt_acts, rcond=None)
Read the code on GitHub

Experience and education

Sep 2024 – Dec 2026 Expected graduation

UC Irvine

B.S. in Computer Science. Coursework in data structures, algorithms, systems programming and MIPS assembly.

Sep 2022 – Sep 2025 Shift lead, part-time

Panda Restaurant Group

Led shifts of up to 10 people and trained new hires. Built an Excel labor report that saved about three hours of reporting a week, and introduced a handoff check that cut order errors by about 20%.

Nov 2024 – May 2025 Project developer

FUSION ICS Project

Built ZotLabs, a research-matching platform for UCI students and researchers, in a nine-person team. I implemented role-based routing and core UI components, and debugged auth and session edge cases. React, Vite, Supabase and Tailwind.

2022 – 2024 Computer science

Berkeley City College

Started on a pre-med track, switched to computer science, and transferred to UC Irvine.

2015 – 2022 Boy Scouts of America

Eagle Scout

For my Eagle project I planned and led eight volunteers in building a shade structure at a nonprofit animal shelter.

Contact

Crestfora Business inquiries

hello@crestfora.com

Everything else Internships, projects, questions

theo.markopoulos7@gmail.com

Elsewhere

LinkedIn and GitHub