<!-- llms-full.txt: the complete content of arjunlohan.com as one Markdown document. -->
<!-- Each page is delimited by an HTML comment with its canonical URL. Index: https://www.arjunlohan.com/llms.txt -->

<!-- page: https://www.arjunlohan.com -->

# Arjun Lohan

> Arjun Lohan is a product manager who builds. He leads AI & platform at Stellic and ships AI products like nightclaude and almashows.

I'm a product manager who builds. By day I lead the AI and platform work at [Stellic](https://stellic.com), where the degree-planning infrastructure I own reaches 100+ universities and over 1M students. By night I ship my own products: [nightclaude](https://www.arjunlohan.com/projects/nightclaude), where Claude trades the S&P 500 from a live $100K portfolio, and [almashows](https://www.arjunlohan.com/projects/almashows), independent ticketing that festival organizers in Vancouver, LA, and SF run on. Earlier I built the payments platform at Level, redesigned a surgical device at Applied Medical, and co-founded an AI news app (50K daily users, acquired).

My edge is the intersection: a financial-engineering brain, platform-PM instincts, and a willingness to prototype it myself instead of writing a spec about it. I write about AI and markets at [The Financial Engineer](https://thefinancialengineer.arjunlohan.com/).

*A belief I keep coming back to: the best PMs for AI products are the ones who can actually build them. Specs are cheap when a prototype takes an afternoon.*

## Work

- 2025–Present: **Lead Product Manager, AI & Platform** at [Stellic Inc](https://stellic.com)
- 2024–2024: **Quant Research Fellow** at [USC Marshall School of Business](https://www.marshall.usc.edu/)
- 2021–2023: **Product Manager, Payments** at [Level Inc. (Khosla, Lightspeed)](https://www.level.com)
- 2019–2021: **Product Development Engineer** at [Applied Medical](https://www.appliedmedical.com/Products/Gelpoint)
- 2017–2019: **Co-Founder & Product Lead (Acquired)** at [InfoPost](https://www.f6s.com/infopost)

## Build

- [sharpen](https://www.arjunlohan.com/projects/sharpen) (July 2026 · live at https://github.com/arjunlohan/sharpen): A prompt-engineering coach packaged as an Agent Skill. It scouts the codebase first, asks only the questions that change the architecture, and rewrites the prompt tuned to the model that will run it.
- [finesse](https://www.arjunlohan.com/projects/finesse) (June 2026 · live at https://github.com/arjunlohan/finesse): An open-source design-engineering skill for AI coding agents. It teaches the invisible craft details that make interfaces feel polished, fast, and physical.
- [nightclaude](https://www.arjunlohan.com/projects/nightclaude) (May 2026 · live at https://nightclaude.com): Claude trades the S&P 500 every night: a live, public experiment running a real $100K portfolio through Alpaca.
- [almashows](https://www.arjunlohan.com/projects/almashows) (April 2026 · live at https://almashows.com): Independent ticketing for festivals and venues: your brand on every pass, your name on every payout. Built on Stripe.
- [Interdimensional Cable](https://www.arjunlohan.com/projects/interdimensional-cable) (March 2026 · live at https://multimodal-frontier-hackathon-inter.vercel.app): AI-generated talk shows: pick a format, give it a topic, watch a full episode materialize. A multimodal orchestration of text, video, and voice.
- [ScreenGif](https://www.arjunlohan.com/projects/screengif) (March 2026 · live at https://chromewebstore.google.com/detail/screengif/nobklfchkfonpccgabjkdfmhekeblejp): Record any screen region as a GIF that embeds straight into Linear, Slack, and GitHub, built to speed up my own UAT flow. Chrome, Safari, and macOS.
- [AI Analytics](https://www.arjunlohan.com/projects/ai-analytics) (January 2026): An agent that lets provosts, registrars, and advising leaders query their institution's own student data in natural language, in Slack. Solo-built from zero to production through a five-university paid alpha, with every release gated by an eval harness.
- [Bardi](https://www.arjunlohan.com/projects/bardi) (September 2025 · live at https://www.usebardi.com): AI mock-interview platform that adapts difficulty in real time and gives instant, specific feedback.
- [Product Brain](https://www.arjunlohan.com/projects/product-brain) (May 2025): A full internal company-brain agent I built solo at Stellic, zero to production. It went from 16 daily users to 60% of the company daily, with 20,000+ agent responses in its first six months.
- [Deicasa](https://www.arjunlohan.com/projects/deicasa) (July 2024 · live at https://deicasa.com): Property management for small landlords: too big for spreadsheets, too small for enterprise tools. In beta on tens of millions in property value.
- [LlamaSheets](https://www.arjunlohan.com/projects/llamasheets) (June 2024 · live at https://llamasheets.vercel.app): Ask your spreadsheet a question in plain English, get the chart back. 20K+ graphs generated, ~336 hours saved.
- [Next Season](https://www.arjunlohan.com/projects/nextseason) (May 2024 · live at https://nextseason.vercel.app): Talk to the Silicon Valley TV characters: LLM personas with synthesized voices, built at a hackathon.

## Newsletter

- [The AI Divide: Winners, Losers, and the Vanishing Middle](https://thefinancialengineer.arjunlohan.com/p/the-ai-divide-winners-losers-and-the-vanishing-middle) (23 Feb 2025): Countries with AI >>> Countries without AI
- [Waymo's Calculated Conquest: The Economics of Autonomous Taxi Dominance](https://thefinancialengineer.arjunlohan.com/p/waymo-s-calculated-conquest-the-economics-of-autonomous-taxi-dominance) (12 Jan 2025): Waymo and AI - Google's Fuel to a $10T Market Cap.
- [Pairs Trading on Tariffs](https://thefinancialengineer.arjunlohan.com/p/pairs-trading-on-tariffs) (5 Jan 2025): Trump Tariffs 2.0, Impact of Previous Tariffs on Inflation and Demand for Both US and China.
- [TFE: Modern Priming Mechanics Deep Dive](https://thefinancialengineer.arjunlohan.com/p/tfe-modern-priming-mechanics-deep-dive) (28 Oct 2024): How modern priming mechanics work, analyze landmark cases that established key precedents

---

Canonical: https://www.arjunlohan.com
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/about -->

# About Arjun Lohan

I’m Arjun Lohan, a product manager who builds. I currently lead the AI and platform initiative at Stellic, where I own the infrastructure behind degree planning and student success for 100+ universities and over 1M students: a modular workflow framework, a Plaid-like partner-integration platform, and AI agents embedded deep into the product, grounded in semantic search over Elasticsearch rather than bolt-on SQL queries.

What ties my work together isn’t an industry; it’s a way of operating. I think in financial-engineering terms (I did my master’s in financial engineering at USC Marshall and researched LLMs for investment strategy), I ship like a founder (I co-founded an AI news app that reached 50K daily users before it was acquired), and I’d rather prototype an idea than write a ten-page spec about it. At Stellic the team calls me the “AI Czar,” and the first thing I open every morning is Claude Code, with most of my workflows running through it. Most weeks I’m building something of my own (nightclaude, almashows, ScreenGif), usually to scratch my own itch.

Before Stellic I built the payments platform at Level (an insurtech reimagining dental and vision benefits) and redesigned a surgical device at Applied Medical. I’m based in Menlo Park, California, and I write about AI and markets at [The Financial Engineer](https://thefinancialengineer.arjunlohan.com/).

*A belief I keep coming back to: the best PMs for AI products are the ones who can actually build them. Specs are cheap when a prototype takes an afternoon.*

## FAQ

### What does Arjun Lohan do?

Arjun Lohan is a product manager who builds. He leads the AI and platform initiative at Stellic, and he ships his own AI products (like nightclaude and almashows) on nights and weekends.

### What does Arjun work on at Stellic?

He leads the AI initiative and the Platform & Integration team: the modular workflow framework, the Plaid-like partner-integration platform, and the AI agents behind degree planning and student success for 100+ universities and 1M+ students.

### What is nightclaude?

nightclaude is a live, public experiment where Claude trades the S&P 500 each night from a real $100,000 portfolio through Alpaca, with a public scorecard against the SPY benchmark. It studies whether an LLM can run a disciplined, risk-managed strategy. It is not investment advice.

### What is almashows?

almashows is independent ticketing infrastructure for festivals and venues, built on Stripe. Organizers keep their branding, get paid directly, and own their customer data. Independent organizers in Vancouver, LA, and SF use it.

### What is Arjun's background?

A master’s in financial engineering from USC Marshall, product roles at Level (payments) and Applied Medical (surgical devices), and a co-founded AI news app that was acquired. He writes about AI and markets at The Financial Engineer.

---

Canonical: https://www.arjunlohan.com/about
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/work -->

# Work — Arjun Lohan

> Work experience across AI, platform, payments, and medical devices, from co-founding a startup to leading AI & platform at Stellic.

- 2025–Present: **Lead Product Manager, AI & Platform** at [Stellic Inc](https://stellic.com)
  Lead the AI initiative and Platform & Integration team at Stellic, the degree-planning and student-success platform for 100+ universities and 1M+ students, where I'm known internally as the 'AI Czar.' Solo-built our internal company-brain agent, a side project now used by 60% of the company daily (20,000+ answers in its first six months) that gets new hires answering deep product questions from day one and triages bugs, Linear tickets, and technical Slack threads. On the platform side, built the AI agents that generate the student-success and compliance reports staff once assembled by hand over days, now produced on demand, grounding them in semantic search over Elasticsearch instead of the default text-to-SQL agent, with the evals that keep their output trustworthy at scale.
- 2024–2024: **Quant Research Fellow** at [USC Marshall School of Business](https://www.marshall.usc.edu/)
  Built a Python model that re-weighted tech-stock portfolios from signals an LLM extracted from earnings calls and 10-Ks, then backtested whether those language-model signals beat the market after costs, isolating where LLM-read fundamentals added genuine alpha and where they didn't.
- 2021–2023: **Product Manager, Payments** at [Level Inc. (Khosla, Lightspeed)](https://www.level.com)
  Owned the payments platform at Level, an insurtech reinventing employer-sponsored dental and vision benefits. Built a machine-learning system that scored each charge's decline risk and re-timed retries to when a card was most likely to clear, cutting card declines 20%, speeding processing 60%, and lifting collections 70%; a workflow redesign then absorbed a 10x increase in users with no added support headcount.
- 2019–2021: **Product Development Engineer** at [Applied Medical](https://www.appliedmedical.com/Products/Gelpoint)
  Redesigned GelPOINT Path, Applied Medical's flagship surgical-access device, simplifying its component assembly to take 30% out of unit cost while growing sales 11%. Built Python tooling and yield-prediction models (30% more accurate) that pulled days of manual data work off the manufacturing line each month.
- 2017–2019: **Co-Founder & Product Lead (Acquired)** at [InfoPost](https://www.f6s.com/infopost)
  Co-founded InfoPost and grew an AI-curated news app to 50,000+ daily users by personalizing digests around stories mainstream apps under-covered, lifting daily activity 50%; raised $80,000, ran the user research, and steered the company to acquisition.

---

Canonical: https://www.arjunlohan.com/work
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects -->

# Projects — Arjun Lohan

> Selected product work by Arjun Lohan: nightclaude, almashows, ScreenGif, and more.

- [sharpen](https://www.arjunlohan.com/projects/sharpen) (July 2026 · live at https://github.com/arjunlohan/sharpen): A prompt-engineering coach packaged as an Agent Skill. It scouts the codebase first, asks only the questions that change the architecture, and rewrites the prompt tuned to the model that will run it.
- [finesse](https://www.arjunlohan.com/projects/finesse) (June 2026 · live at https://github.com/arjunlohan/finesse): An open-source design-engineering skill for AI coding agents. It teaches the invisible craft details that make interfaces feel polished, fast, and physical.
- [nightclaude](https://www.arjunlohan.com/projects/nightclaude) (May 2026 · live at https://nightclaude.com): Claude trades the S&P 500 every night: a live, public experiment running a real $100K portfolio through Alpaca.
- [almashows](https://www.arjunlohan.com/projects/almashows) (April 2026 · live at https://almashows.com): Independent ticketing for festivals and venues: your brand on every pass, your name on every payout. Built on Stripe.
- [Interdimensional Cable](https://www.arjunlohan.com/projects/interdimensional-cable) (March 2026 · live at https://multimodal-frontier-hackathon-inter.vercel.app): AI-generated talk shows: pick a format, give it a topic, watch a full episode materialize. A multimodal orchestration of text, video, and voice.
- [ScreenGif](https://www.arjunlohan.com/projects/screengif) (March 2026 · live at https://chromewebstore.google.com/detail/screengif/nobklfchkfonpccgabjkdfmhekeblejp): Record any screen region as a GIF that embeds straight into Linear, Slack, and GitHub, built to speed up my own UAT flow. Chrome, Safari, and macOS.
- [AI Analytics](https://www.arjunlohan.com/projects/ai-analytics) (January 2026): An agent that lets provosts, registrars, and advising leaders query their institution's own student data in natural language, in Slack. Solo-built from zero to production through a five-university paid alpha, with every release gated by an eval harness.
- [Bardi](https://www.arjunlohan.com/projects/bardi) (September 2025 · live at https://www.usebardi.com): AI mock-interview platform that adapts difficulty in real time and gives instant, specific feedback.
- [Product Brain](https://www.arjunlohan.com/projects/product-brain) (May 2025): A full internal company-brain agent I built solo at Stellic, zero to production. It went from 16 daily users to 60% of the company daily, with 20,000+ agent responses in its first six months.
- [Deicasa](https://www.arjunlohan.com/projects/deicasa) (July 2024 · live at https://deicasa.com): Property management for small landlords: too big for spreadsheets, too small for enterprise tools. In beta on tens of millions in property value.
- [LlamaSheets](https://www.arjunlohan.com/projects/llamasheets) (June 2024 · live at https://llamasheets.vercel.app): Ask your spreadsheet a question in plain English, get the chart back. 20K+ graphs generated, ~336 hours saved.
- [Next Season](https://www.arjunlohan.com/projects/nextseason) (May 2024 · live at https://nextseason.vercel.app): Talk to the Silicon Valley TV characters: LLM personas with synthesized voices, built at a hackathon.

---

Canonical: https://www.arjunlohan.com/projects
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/sharpen -->

# sharpen

> A prompt-engineering coach packaged as an Agent Skill. It scouts the codebase first, asks only the questions that change the architecture, and rewrites the prompt tuned to the model that will run it.

- Published: 2026-07
- Author: Arjun Lohan
- Live: https://github.com/arjunlohan/sharpen
- Stack: Agent Skills, Claude Code, Cursor, Codex, Gemini CLI

Most bad agent outcomes are bad prompts: underspecified goals, missing constraints, no definition of done. sharpen is a prompt-engineering coach that turns a rough request into a precise one before the expensive run starts. It works in Claude Code, Cursor, Codex, and Gemini CLI.

```
npx skills add arjunlohan/sharpen
```

## How it works

The core idea is that a prompt is a map of unseen territory, so the skill scouts before it asks. It reads the repo to answer its own questions (never interviewing you about things `grep` can answer), asks only the few questions whose answers change the architecture, then rewrites the prompt with explicit intent, structure, verifiable done-criteria, and a verification step.

The last pass is model tuning. The same task should be prompted differently for different models: some want brief goal-level intent with the why, others want literal, explicitly-scoped instructions. sharpen writes for the model that will actually execute.

## Proof, not claims

The showcase shows the skill's work directly: real prompt rewrites with the diffs marked, the same prompt tuned for two different Claude models side by side, and A/B experiments where you can compare the UI built from the rough prompt against the one built from the sharpened prompt: [the sharpen showcase](/skills/sharpen).

## Why it matters

Prompts are the specs of the agent era, and most of them are written the way bad PRDs were written in 2015. Encoding a repeatable method for making them good, as a skill any agent can load, is the same job as building eval-gated AI products: define quality, make it checkable, ship the judgment.

---

Canonical: https://www.arjunlohan.com/projects/sharpen
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/finesse -->

# finesse

> An open-source design-engineering skill for AI coding agents. It teaches the invisible craft details that make interfaces feel polished, fast, and physical.

- Published: 2026-06
- Author: Arjun Lohan
- Live: https://github.com/arjunlohan/finesse
- Stack: Agent Skills, Claude Code, motion tokens, CSS

AI coding agents produce interfaces that work but rarely interfaces that feel good. The gap is craft: motion timing, interaction states, surfaces and shadows, typography, optical alignment, the hundred small decisions a strong design engineer makes without being asked. finesse packages that judgment as an installable Agent Skill, so it travels with the model into every prompt.

```
npx skills add arjunlohan/finesse
```

## What it covers

Motion tokens instead of hand-picked durations, hover and focus and loading states, `prefers-reduced-motion`, tabular numbers, skeleton states, gesture physics, and the rule that dominates everything else: motion serves a purpose, and if you can't name what an animation communicates, you cut it.

## Proof, not claims

The claim "this skill makes output better" is easy to make and easy to fake, so the showcase is built to be checkable. I ran the same prompt fifteen times, with and without the skill, same model, and put every pair side by side, live and interactive. You can open each comparison and feel the difference yourself: [the finesse showcase](/skills/finesse).

## Why it matters

Skills are the interesting layer of the agent stack right now: portable, versioned expertise that changes what a model does without changing the model. Building one well is an exercise in the same discipline as any AI product. You are encoding taste into instructions, testing whether the behavior actually shifted, and cutting everything the model already does by default.

---

Canonical: https://www.arjunlohan.com/projects/finesse
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/nightclaude -->

# nightclaude

> Claude trades the S&P 500 every night: a live, public experiment running a real $100K portfolio through Alpaca.

- Published: 2026-05
- Author: Arjun Lohan
- Live: https://nightclaude.com
- Stack: Claude API, Alpaca API, vol-targeting + momentum, Next.js, cron

Can a large language model run a *disciplined* trading strategy, not chase meme stocks, but actually manage risk the way a quant desk would? nightclaude is my attempt to find out, in public, with a real portfolio on the line.

Every night, Claude reads the market and outputs a single number: a target leverage signal, capped at 3×. That signal allocates a $100,000 portfolio across UPRO (3× S&P), SSO (2× S&P), and plain SPY, then rebalances through Alpaca's commission-free brokerage API. The strategy is vol-targeted: it sizes exposure by volatility, volatility-of-volatility, and momentum, and pulls back hard in drawdowns.

## What keeps it honest

- **It runs live.** A public scorecard tracks the equity curve against the SPY benchmark, wins *and* losses. No backtest cherry-picking.
- **It's fully automated.** A nightly pipeline pulls data, prompts the model, executes the trades, and emails every fill plus a weekly summary.
- **It's an experiment, not advice.** The point is to study whether an LLM can run a rules-shaped strategy reliably, not to manage anyone's savings.

## Why I built it

I wanted to pressure-test the agentic loop on a problem where the feedback is brutal and unambiguous: the market tells you every single day whether you were right. Building it meant turning a fuzzy model into a disciplined decision-maker: bounding its outputs, instrumenting every step, and grading it against a benchmark instead of vibes. That's the same muscle real AI products demand: take a powerful-but-unpredictable model and wrap it in enough structure, evaluation, and guardrails to trust it in production.

See the live scorecard at [nightclaude.com](https://nightclaude.com).

---

Canonical: https://www.arjunlohan.com/projects/nightclaude
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/almashows -->

# almashows

> Independent ticketing for festivals and venues: your brand on every pass, your name on every payout. Built on Stripe.

- Published: 2026-04
- Author: Arjun Lohan
- Live: https://almashows.com
- Stack: Stripe, Supabase, Resend, Next.js, Vercel

Independent event organizers get squeezed by the big ticketing platforms: high fees, someone else's branding on the ticket, payouts that arrive late, and, worst of all, they never own the customer relationship. almashows fixes that. It's ticketing infrastructure where the organizer keeps their brand, their money, and their data.

## What it does

- **Branded passes**: every ticket is an Apple Wallet pass with the organizer's logo, colors, and fonts, delivered through custom branded emails.
- **Direct payouts**: payments flow straight to the organizer's own Stripe account. Their name is on the payout, not mine.
- **Door-ready**: phone-based QR scanning checks guests in; no extra hardware to rent.
- **Shareable checkout**: a single link is all it takes to start selling.

## Traction

Independent organizers in Vancouver, Los Angeles, and San Francisco run on almashows, including events like [Vancouver Piano Sessions](https://vancouverpianosessions.com/), an annual classical-piano festival.

## Why it matters

I built almashows solo (Stripe for payments, Supabase for data, Resend for mail, all on Vercel) and took it from zero to organizers selling real tickets. It's the kind of product I like best: unglamorous infrastructure that handles real money and earns trust because it just works. Doing it end-to-end meant owning payments, deliverability, and the on-site experience myself, not writing a spec and handing it off.

Try it at [almashows.com](https://almashows.com).

---

Canonical: https://www.arjunlohan.com/projects/almashows
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/interdimensional-cable -->

# Interdimensional Cable

> AI-generated talk shows: pick a format, give it a topic, watch a full episode materialize. A multimodal orchestration of text, video, and voice.

- Published: 2026-03
- Author: Arjun Lohan
- Live: https://multimodal-frontier-hackathon-inter.vercel.app
- Stack: Next.js 16, Google Gemini, Google Veo, Mux, PostgreSQL

Built at the Multimodal Frontier Hackathon. Interdimensional Cable generates full talk show episodes end-to-end (script, video clips, voice synthesis, and assembly) all from a single topic prompt.

## How it works

Pick a show format (John Oliver, Seth Meyers, etc.), give it a topic, and watch a complete episode materialize. The system orchestrates multiple AI models to handle each stage of production:

1. **Script generation**: Google Gemini writes a structured script matching the host's style and comedic timing
2. **Video production**: Google Veo generates video clips for each segment
3. **Voice synthesis**: Text-to-speech creates authentic-sounding host narration
4. **Assembly**: Mux handles video processing and delivery of the final episode

## Technical Highlights

This is one of the most ambitious multimodal AI orchestration projects I've built. The challenge wasn't any single AI capability; it was coordinating multiple models (text, video, audio) into a coherent output pipeline with tight timing and quality requirements.

## Tech Stack

- Next.js 16 with React 19
- Google Gemini for script generation
- Google Veo for AI video generation
- Mux for video processing and delivery
- PostgreSQL with Drizzle ORM
- Deployed on Vercel

## Try it out

Watch AI-generated talk shows at [multimodal-frontier-hackathon-inter.vercel.app](https://multimodal-frontier-hackathon-inter.vercel.app).

---

Canonical: https://www.arjunlohan.com/projects/interdimensional-cable
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/screengif -->

# ScreenGif

> Record any screen region as a GIF that embeds straight into Linear, Slack, and GitHub, built to speed up my own UAT flow. Chrome, Safari, and macOS.

- Published: 2026-03
- Author: Arjun Lohan
- Live: https://chromewebstore.google.com/detail/screengif/nobklfchkfonpccgabjkdfmhekeblejp
- Stack: Chrome Manifest v3, Safari Web Extensions, Electron, gifenc

Record your screen as a GIF. Instant. Local. No tracking.

ScreenGif is a cross-platform screen recording tool that captures screen regions and converts them to animated GIFs, perfect for bug reports, UAT feedback, and documentation. Unlike Loom or CloudApp, GIFs embed directly in Linear, Slack, GitHub Issues, and email clients without requiring a video player.

## How it works

1. Launch with keyboard shortcut (`Cmd+Shift+6`) or toolbar button
2. Select a screen region or window
3. Record up to 10 seconds at 10fps
4. GIF auto-saves to Downloads (or copies to clipboard on macOS)

Typical file size: 1-3 MB. All processing happens locally: zero network requests, no accounts, no telemetry.

## Cross-platform

- **Chrome Extension** (Manifest v3): Tab capture with region selection overlay using Shadow DOM isolation
- **Safari Extension**: Built from the same web extension source code
- **macOS App** (Electron): System tray integration, global shortcuts, animated GIF clipboard support

## Key Technical Decisions

- **Local-first architecture**: All GIF encoding runs in-browser or in Electron's renderer process. No frames leave the device.
- **Shadow DOM overlay**: The region selector injects into web pages using Shadow DOM to prevent CSS conflicts with the recorded page.
- **Offscreen documents**: Chrome's offscreen API handles background GIF encoding without blocking the UI.
- **gifenc**: Lightweight GIF encoding with per-frame color quantization optimized for UI screenshots (256 colors).

## Install

[Chrome Web Store](https://chromewebstore.google.com/detail/screengif/nobklfchkfonpccgabjkdfmhekeblejp) | [GitHub](https://github.com/arjunlohan/screengif)

---

Canonical: https://www.arjunlohan.com/projects/screengif
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/ai-analytics -->

# AI Analytics

> An agent that lets provosts, registrars, and advising leaders query their institution's own student data in natural language, in Slack. Solo-built from zero to production through a five-university paid alpha, with every release gated by an eval harness.

- Published: 2026-01
- Author: Arjun Lohan
- Stack: Claude API, Elasticsearch hybrid retrieval, Django ORM, prompt caching, eval harness, Python

This is a case study of shipping an AI product to enterprise customers who have every reason to distrust it: universities, answering questions about student data, in reports that go to accreditors and administrators. It is written as a postmortem, including the parts where the first version was wrong. I built it solo, from zero to production.

## The problem

University staff at Stellic's partner schools assembled student-success and compliance reports by hand. Pulling the underlying data meant knowing which exports to run and how to join them, so a single report could take days and lived with whoever knew the spreadsheet. The product question was whether provosts, registrars, and directors of advising could simply ask, in Slack, in natural language ("which juniors are off-track for spring graduation and why") and get an answer grounded in their institution's actual data.

## The prototype

I built the first version myself, PM as the engineer of record, because the fastest way to find out whether the idea survived contact with real data was to put a working agent in front of real partner questions. The prototype wired a text-to-SQL agent to institutional data and answered in natural language. In a demo it looked like magic. That version did not survive, and the reasons it died shaped everything after.

## The paid alpha

We ran a paid alpha with five universities. Paid was the point: a free pilot tells you people will accept a gift, a paid alpha tells you the problem is worth budget, and it earns you partners who complain precisely when something is wrong.

Because the data is FERPA-adjacent student data, the alpha was compliance-gated before the first query ran: data-rights tiers controlling what each institution allows the model to see, and zero-data-retention configuration on the model side. Enterprise AI work is mostly this. The agent is the easy half.

## What partners pushed back on

The feedback that mattered came from staff running real reports in weekly escalations and office hours, and it clustered on two things:

- **Consistency over brilliance.** The disqualifying failure was not a wrong answer, it was the same question returning different numbers on different runs. A report that goes up the chain of a university administration cannot be probabilistic. One partner put it plainly: they would rather have a number the agent refuses to produce than a number that changes.
- **Provenance of the data.** Institutions wanted to control exactly which data the agent could reach and to understand what grounded each answer, per the data-rights tiers they had negotiated. "The model figured it out" is not an acceptable lineage for a compliance report.

## How it's built

The architecture that replaced the prototype is a two-path retrieval system with aggressive caching, and most of it applies techniques from the current agent-engineering literature rather than inventing new ones.

- **Hybrid retrieval on Elasticsearch.** Institutional data is indexed for both semantic and lexical search, following the contextual embeddings plus contextual BM25 recipe from Anthropic's [contextual retrieval](https://www.anthropic.com/engineering/contextual-retrieval) work, where chunk-level context is prepended before embedding and indexing. Anthropic measured that approach cutting failed retrievals by 49%, and 67% with reranking, and the lexical half is what makes queries full of course codes and term identifiers land.
- **Constrained Django ORM lookups for everything else.** Live records, counts, and structured facts that do not belong in a search index are answered through typed, whitelisted Django ORM query builders instead of free-form text-to-SQL. The model composes from a fixed vocabulary of lookups, so every query is permission-checked, reproducible, and auditable. The tool surface is designed the way Anthropic's [writing effective tools for agents](https://www.anthropic.com/engineering/writing-tools-for-agents) prescribes: few, unambiguous, high-signal tools rather than a raw database handle.
- **Context management.** The agent loads context just-in-time through tool calls rather than front-loading everything retrievable, and compacts long report-building sessions, per the playbook in Anthropic's [effective context engineering for AI agents](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents).
- **Cache discipline.** Prompts are assembled stable-prefix-first (system prompt, tool definitions, institutional schema, then volatile context last) so [prompt caching](https://www.anthropic.com/news/prompt-caching) hits on roughly 90% of requests, which is the difference between a Slack-speed answer and a coffee-break answer, and most of the inference bill.
- **Two-tier memory.** The agent maintains institutional memory (facts learned from one user that are valuable to every user at that institution, like how a school's terms or colleges are actually structured) and personal memory (each user's role, portfolio, and recurring questions). The extract-consolidate-retrieve loop follows the [Mem0 architecture](https://arxiv.org/abs/2504.19413) (ECAI 2025), and the two-tier split mirrors the saved-memories versus history-reference design [OpenAI ships in ChatGPT](https://openai.com/index/memory-and-new-controls-for-chatgpt/), extended with an org-level tier that consumer assistants do not need.

## The eval harness and the consistency requirement

The pushback became the spec. I built an eval harness that gates every release: a suite of real partner-shaped questions with known-correct answers, run against each candidate build, with consistency as a first-class metric alongside accuracy. Same question, repeated runs, the answers have to agree. A release that improves average quality but regresses consistency does not ship. This is the discipline I now think every serious AI product needs: the eval harness is not QA at the end, it is the definition of the product's promise.

## What changed between alpha and production

- **Text-to-SQL was replaced.** Generated SQL was the main source of both wrong and unstable answers, because small phrasing changes produced different queries. The hybrid Elasticsearch retrieval and the constrained ORM layer made answers reproducible and auditable.
- **Releases became eval-gated.** In the alpha, judgment shipped changes. In production, the harness does.
- **Data access became contractual, not configurable.** The data-rights tiers moved from an alpha-era setting into the structure of the product, so what the agent can see at each institution is a term of the partnership.

The product is now in production, generating on demand the reports staff once assembled by hand over days.

---

Canonical: https://www.arjunlohan.com/projects/ai-analytics
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/bardi -->

# Bardi

> AI mock-interview platform that adapts difficulty in real time and gives instant, specific feedback.

- Published: 2025-09
- Author: Arjun Lohan
- Live: https://www.usebardi.com
- Stack: Next.js 14, OpenAI, Supabase, PostHog

Bardi is an AI-powered interview preparation platform that conducts realistic mock interviews with adaptive difficulty and real-time feedback.

## The Problem

Interview prep is broken. Practicing with friends is inconsistent, and most prep tools give you a list of questions without simulating the actual interview experience. Bardi fixes this by creating a realistic, adaptive interview environment.

## How it works

Bardi uses OpenAI's GPT models to conduct mock interviews that adapt in real-time based on your responses. Answer well, and the questions get harder. Struggle, and it adjusts to help you build confidence before ramping up again.

## Key Features

1. **Adaptive difficulty**: The AI calibrates question complexity based on your performance in real-time
2. **Real-time feedback**: Get specific, actionable feedback on your answers immediately after each response
3. **Multiple interview types**: Practice behavioral, technical, and case interviews across industries
4. **Progress tracking**: Analytics dashboard to monitor improvement over time

## Tech Stack

- Next.js 14 for the application framework
- OpenAI GPT for interview simulation
- Supabase for authentication and data persistence
- PostHog for product analytics
- Tailwind CSS for styling

## Try it out

Start practicing at [usebardi.com](https://www.usebardi.com).

---

Canonical: https://www.arjunlohan.com/projects/bardi
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/product-brain -->

# Product Brain

> A full internal company-brain agent I built solo at Stellic, zero to production. It went from 16 daily users to 60% of the company daily, with 20,000+ agent responses in its first six months.

- Published: 2025-05
- Author: Arjun Lohan
- Stack: Claude Code, Elasticsearch MCP server (FastMCP, Python), connector layer, prompt caching, two-tier memory, Slack + Linear APIs, PostHog

This is a case study of an internal AI product that earned adoption instead of being mandated, written as a postmortem: what was instrumented, what the data killed, and how a side project became infrastructure. I built it solo, zero to production.

## The problem

Product knowledge at a fast-moving company lives in too many places at once: Linear, Notion, GitBook, the source code, Slack threads, and the heads of whoever shipped the feature. New hires took weeks to get productive, and PMs and support burned hours re-answering the same deep product questions. I built a full internal company-brain agent, a Glean for Stellic, to close that gap. Largely built in Claude Code, the first thing I open every morning.

## The adoption curve

Internal tools are where AI adoption claims go to die, so the honest version is the curve, not the peak. Launch week: 16 daily users, mostly people who sat near me. There was no mandate and no rollout program at any point. Usage grew one proof at a time, typically when someone watched a colleague get a correct, sourced answer to a question that would otherwise have interrupted an engineer.

Today it is used by 60% of the company daily, measured in PostHog, not by survey, and it has produced 20,000+ agent responses in its first six months. The adoption metric I trust most is behavioral: new hires now answer expert-level product questions in their first week, because the cost of asking dropped to zero.

## How it's built

The unglamorous parts are what made it fast, cheap, and trustworthy enough for daily use. Most of the design applies techniques from the current agent-engineering literature.

- **A thin connector layer.** Each source (Linear, Notion, GitBook, source code, Slack, the warehouses) is a small connector behind a shared interface, so adding a new source is a day of work, not a project. The connectors double as the permission layer: retrieval runs against what the asking user is already allowed to see, mirroring each source system's own access controls, so the agent can never become a side door around permissions. The tool surface follows the design principles in Anthropic's [writing effective tools for agents](https://www.anthropic.com/engineering/writing-tools-for-agents): few tools, sharply defined, returning high-signal context instead of raw dumps.
- **Context management.** The agent keeps lightweight identifiers (ticket IDs, file paths, doc slugs) and loads content just-in-time through tool calls instead of pre-stuffing the window, compacts long sessions, and takes structured notes across turns. This is the playbook Anthropic describes in [effective context engineering for AI agents](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents), and it is why answer quality holds up on long debugging threads instead of rotting as context fills.
- **Cache discipline, to a 90% hit rate.** Prompts are assembled stable-prefix-first: system prompt, tool definitions, and connector schemas up front, volatile retrieval last. That ordering keeps [prompt caching](https://www.anthropic.com/news/prompt-caching) hitting on roughly 90% of requests, which Anthropic prices at up to a 90% input-cost reduction and better than 2x latency. Retrieval itself runs on the contextual embeddings plus contextual BM25 recipe from Anthropic's [contextual retrieval](https://www.anthropic.com/engineering/contextual-retrieval) work, with chunk contexts generated once per document against the cached corpus. Speed and accuracy stopped trading off against each other.
- **Two-tier memory.** The agent maintains institutional memory (facts learned from one person that are valuable to everyone, like why a feature behaves differently for one partner configuration) and personal memory (each user's team, role, and recurring questions). The extract-consolidate-retrieve loop follows the [Mem0 architecture](https://arxiv.org/abs/2504.19413) (ECAI 2025), and the two-tier split extends the saved-memories versus history-reference design [OpenAI ships in ChatGPT](https://openai.com/index/memory-and-new-controls-for-chatgpt/) with an org-level tier a consumer assistant does not need. I shipped the same memory system in both this agent and the partner-facing [AI Analytics](/projects/ai-analytics) product.

## What I instrumented

From day one, every query was logged with its retrieval trace: what was asked, what context was fetched, what was answered, and whether the user came back. Adoption and retention live in PostHog. The logs are the roadmap. When a category of question kept failing, that pointed at a missing connector. When a feature I liked showed no usage, that was its obituary.

## What the data killed

- **Docs-first retrieval.** The first version leaned on documentation as the corpus of record. The query logs showed the hardest, most valuable questions ("why does this sync fail for this configuration") were only answerable from source code and Slack history, so the connector layer expanded to cover them and the docs became one source among several.
- **My original roadmap.** I had planned a polished standalone interface. Usage data showed people asked questions where they already worked, so the investment went into the Slack surface and into workflows nobody requested but the logs suggested: triaging incoming Linear tickets for PMs, and translating raw technical output (a data-sync crash dumping stack traces) into plain-English root cause and next steps by researching the codebase and querying our observability layer.

## What it turned into

The retrieval layer outgrew the product. The Elasticsearch MCP server I wrote for it (FastMCP, Python) is now the standard grounding layer for every agent surface at the company, including the partner-facing [AI Analytics](/projects/ai-analytics) product. That is the pattern I keep seeing in AI product work: the demo is the agent, the durable asset is the retrieval, memory, and evaluation infrastructure underneath it.

## Why it matters

A side project became infrastructure the company relies on, and it is the clearest example of how I work as a PM. I did not write a spec and wait. I built the thing, put it in people's hands, instrumented everything, and let real usage decide what it became.

---

Canonical: https://www.arjunlohan.com/projects/product-brain
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/deicasa -->

# Deicasa

> Property management for small landlords: too big for spreadsheets, too small for enterprise tools. In beta on tens of millions in property value.

- Published: 2024-07
- Author: Arjun Lohan
- Live: https://deicasa.com
- Stack: Next.js, Supabase, Llama 3.1 (Groq)

I've always been fascinated by startups that solve real problems. Not the kind of problems that VCs think people have, but the kind that actually make people's lives difficult. Deicasa is one of those.

## What is it?

Deicasa is a web platform for landlords who own a handful of properties. We're not talking about real estate tycoons here, but regular people who might have inherited a couple of buildings or invested their savings in a few rental units.

The idea came from a classic source of startup ideas: something that annoys you. I was frustrated with updating spreadsheets to manage family properties. It's the kind of mundane problem that doesn't sound exciting, but that's often where the best opportunities lie.

## Why it matters

Property management software isn't new. But most of it is designed for large property management companies. It's overkill for someone who just owns a few units. It's like trying to kill a fly with a bazooka.

Deicasa fills this gap. It's for the landlords who are too big to manage everything with a notebook, but too small to need enterprise software. In the startup world, we often talk about "niche" markets, but this is actually a pretty big niche. There are a lot of small landlords out there, especially in places like India and Asia where real estate is a popular investment.

## Traction and technology

Deicasa is currently in private beta, managing properties valued at tens of millions of dollars. While this may seem modest compared to large property management companies, it's a promising start. Having a small group of highly engaged users is often more valuable than a larger user base with lukewarm interest.

The technology stack - Next.js, React, Tailwind CSS, Supabase, Llama 3.1 on Groq Inc.

## What's next?

I have hit a point that's common in the startup world. I solved my immediate problem, and for now, that's enough. As I've often see, the best startups come from solving your own or others problems. But what happens when that problem is solved?

This is a crossroads many founders face. You've built something useful, but you're not sure if you want to turn it into a full-fledged company. It's like you've cooked a great meal for yourself and a few friends, and now you're wondering if you should open a restaurant.

But the potential is there. The list of possible future features includes:

1. Mobile app for on-the-go property management
2. Banking integration for seamless financial tracking

The question is whether to pursue it or let it remain a useful tool for a small group.

## Try it out

While Deicasa is currently in private beta, interested landlords can sign up for the waitlist at [https://deicasa.com](https://deicasa.com).

## Future Directions

This is a crucial decision point for Deicasa. The key, as always, is to make something people want. Deicasa seems to be doing that, even if it's for a small group right now. And sometimes, that's enough. Not every startup needs to become a unicorn. Sometimes, solving a real problem for a specific group of people is valuable in itself.

That's the beauty of startups. You start by scratching your own itch, and you might end up building something that helps thousands or millions of people. Or you might just build a useful tool for yourself and a few others. Either way, you've made something valuable. And that's what startups are all about.

---

Canonical: https://www.arjunlohan.com/projects/deicasa
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/llamasheets -->

# LlamaSheets

> Ask your spreadsheet a question in plain English, get the chart back. 20K+ graphs generated, ~336 hours saved.

- Published: 2024-06
- Author: Arjun Lohan
- Live: https://llamasheets.vercel.app
- Stack: Next.js, React, Groq API

What if spreadsheets could understand what you're trying to do?

That's the idea behind LlamaSheets, a project I developed during a recent hackathon. It's a web-based spreadsheet that combines the familiar grid interface with an AI assistant that can analyze your data and help you visualize it.

## Origin and Purpose

I originally created LlamaSheets to support an adjacent product I was working on. During the hackathon, I realized that the AI-powered data analysis capabilities I was developing could be incredibly useful as a standalone tool. This led to the birth of LlamaSheets as its own project.

## Key Features

The most interesting thing about LlamaSheets is how it changes the way you interact with your data. Instead of remembering complex formulas or chart types, you just tell it what you want to know. "Show me sales trends over the last 12 months" or "What's our best-performing product category?" The AI figures out how to answer your question and presents the results.

This might sound like a small change, but I think it could be surprisingly powerful. It reminds me of the shift from command-line interfaces to GUIs. At first, GUIs seemed like they were just making things easier for novices. But they ended up changing the way everyone used computers, experts included.

I could imagine something similar happening with AI-powered spreadsheets. They might start out as a way to make spreadsheets more accessible to non-experts. But I wouldn't be surprised if they end up changing the way even the most advanced users work with data.

## Current traction

I've been amazed by the initial response to LlamaSheets. In a short time, users have already generated over 20,000 graphs and issued more than 17,000 prompts. More tellingly, I estimate that LlamaSheets has saved users 336 hours. That's the kind of metric I love to see. It suggests we're creating real value, not just novelty.

For the tech stack, I chose React, Next.js, and Tailwind CSS for the frontend, with Groq's API handling the AI capabilities. It's a modern, scalable architecture that should serve us well as we grow.

## Try it out

You can visit LlamaSheets and try it out for free at [https://llamasheets.vercel.app](https://llamasheets.vercel.app). Feel free to explore the AI-powered spreadsheet capabilities and see how it can transform your data analysis experience.

## Future Directions

I'm considering several directions:

1. Collaborative features that let teams use AI to analyze data together.
2. Integration with external data sources, turning LlamaSheets into a central hub for business intelligence.
3. Custom AI training on company-specific data, making the assistant more valuable over time.

The key will be to stay focused on solving real problems for users, rather than getting carried away with AI capabilities for their own sake. I believe the best products are often the ones that use new technology to solve old problems in much better ways.

If LlamaSheets can make data analysis dramatically easier and more powerful for a broad range of users, it could be onto something big. The spreadsheet market is enormous, and it hasn't seen fundamental innovation in decades. There's a lot of room for a product that gets this right.

It's exciting to see how LlamaSheets is developing. We're operating at the intersection of two big trends: the growing importance of data in all kinds of decisions, and the increasing power and accessibility of AI. That's often where the most exciting innovations emerge, and I'm thrilled to be part of it.

---

Canonical: https://www.arjunlohan.com/projects/llamasheets
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/projects/nextseason -->

# Next Season

> Talk to the Silicon Valley TV characters: LLM personas with synthesized voices, built at a hackathon.

- Published: 2024-05
- Author: Arjun Lohan
- Live: https://nextseason.vercel.app
- Stack: Next.js 14, Groq API (Llama 3 70B), ElevenLabs, Upstash Redis

What if you could have a real conversation with your favorite TV show characters?

That's the idea behind Next Season, a project I developed during the Connect AI Hackathon 2023. It's an AI-powered platform that lets you interact with characters from Silicon Valley, combining advanced language models with voice synthesis to create surprisingly authentic conversations.

## Origin and Purpose

The inspiration came from watching Silicon Valley reruns and thinking about how the show's characters would react to current tech trends. What would Erlich Bachman say about the AI boom? How would Gilfoyle respond to web3? Next Season brings these hypotheticals to life.

## Key Features

The most interesting aspect of Next Season is how it maintains character consistency. Each character has a detailed personality profile that guides their responses. For example, Erlich Bachman's profile includes his characteristic arrogance, bluntness, and surprising moments of insight. When you interact with him, you get responses that feel true to his character.

The system combines two key technologies:
1. LLaMA 3 70B model through Groq's API for generating character-accurate responses
2. ElevenLabs voice synthesis to make characters speak their responses

## Technical Implementation

The architecture uses several innovative approaches:

1. Character Profiles: Detailed personality frameworks that guide the AI's responses
2. Voice Generation: Real-time audio synthesis for character voices
3. Rate Limiting: Smart request management to prevent API abuse
4. Response Processing: Advanced prompt engineering to maintain character consistency

## Current Traction

The initial response has been encouraging. Users have had thousands of conversations with the characters, with particularly high engagement around topics like:
- Current tech trends
- Startup advice
- Silicon Valley culture
- Programming debates

## Tech Stack

- Next.js 14 for the frontend framework
- TypeScript for type safety
- Tailwind CSS for styling
- Groq AI API for language model integration
- ElevenLabs Voice API for speech synthesis
- Vercel Analytics for usage tracking
- Upstash Redis for rate limiting

## Try it out

You can experience Next Season at [https://nextseason.vercel.app](https://nextseason.vercel.app). Start a conversation with Erlich, Jian Yang, or Gilfoyle and see how they respond to your questions about tech, startups, or anything else.

## Future Directions

I'm exploring several exciting possibilities:

1. Adding more characters from different shows
2. Implementing multi-character conversations
3. Creating character memory for continuous conversations
4. Adding visual elements like character animations
5. Developing custom voice models for more accurate character voices

The key is maintaining the balance between entertainment and authenticity. The responses need to be both engaging and true to the characters, while also being appropriate and respectful of the original content.

Next Season sits at the intersection of entertainment and AI technology, demonstrating how new technologies can create novel forms of interactive entertainment. It's an exciting example of how AI can bring beloved characters to life in new ways.

---

Canonical: https://www.arjunlohan.com/projects/nextseason
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/blog -->

# Blog — Arjun Lohan

> Writing by Arjun Lohan on product, AI, and markets.

## Posts

- [Financial Engineering in the Age of ESG: Illusion or Innovation?](https://www.arjunlohan.com/blog/financialengineering) (29 Aug 2024): Exploring the complex intersection of financial engineering and ESG investing, examining how companies use sophisticated strategies to navigate sustainability requirements and the implications for the future of responsible investing.
- [The Truepill Saga](https://www.arjunlohan.com/blog/truepill) (26 Aug 2024): Exploring the lessons from Truepill's journey from a $1.6 billion valuation to a $525 million sale, highlighting the pitfalls of rapid growth and overvaluation in the startup world.

## Newsletter (The Financial Engineer)

- [The AI Divide: Winners, Losers, and the Vanishing Middle](https://thefinancialengineer.arjunlohan.com/p/the-ai-divide-winners-losers-and-the-vanishing-middle) (23 Feb 2025): Countries with AI >>> Countries without AI
- [Waymo's Calculated Conquest: The Economics of Autonomous Taxi Dominance](https://thefinancialengineer.arjunlohan.com/p/waymo-s-calculated-conquest-the-economics-of-autonomous-taxi-dominance) (12 Jan 2025): Waymo and AI - Google's Fuel to a $10T Market Cap.
- [Pairs Trading on Tariffs](https://thefinancialengineer.arjunlohan.com/p/pairs-trading-on-tariffs) (5 Jan 2025): Trump Tariffs 2.0, Impact of Previous Tariffs on Inflation and Demand for Both US and China.
- [TFE: Modern Priming Mechanics Deep Dive](https://thefinancialengineer.arjunlohan.com/p/tfe-modern-priming-mechanics-deep-dive) (28 Oct 2024): How modern priming mechanics work, analyze landmark cases that established key precedents

---

Canonical: https://www.arjunlohan.com/blog
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/blog/financialengineering -->

# Financial Engineering in the Age of ESG: Illusion or Innovation?

> Exploring the complex intersection of financial engineering and ESG investing, examining how companies use sophisticated strategies to navigate sustainability requirements and the implications for the future of responsible investing.

- Published: 2024-08-29
- Author: Arjun Lohan

Have you ever wondered how oil giants manage to appear "green" in an era obsessed with sustainability?

## Introduction

As a financial engineer, I love dissecting complex corporate structures, figuring out why each piece is there, how it all fits together. It's like solving a large puzzle, where each solution reveals a bit more about how the business world really works.

Recently, I've been exploring the intersection of financial engineering and ESG (Environmental, Social, and Governance) investing. It's a hot topic.

There are three notable cases - Saudi Aramco, Abu Dhabi National Oil Company (ADNOC), and Enbridge - to illustrate how financial engineering is being used to bridge the gap between fossil fuel realities and ESG aspirations.

## Case Study 1: Saudi Aramco

In 2021, Saudi Aramco, the world's largest oil producer, executed a sophisticated financial maneuver to raise approximately $28 billion while simultaneously improving its ESG profile. The strategy involved several key steps:

1. Creation of Subsidiaries: Aramco established two subsidiaries - Aramco Oil Pipelines Company and Aramco Gas Pipelines Company.
2. Partial Sale: The company sold 49% of the shares in each subsidiary to consortiums led by EIG Global Energy Partners and BlackRock.
3. Special Purpose Vehicles (SPVs): The consortiums created two SPVs - EIG Pearl Holdings and GreenSaif Pipelines Bidco - registered in Luxembourg.
4. Bond Issuance: These SPVs issued bonds that were structured to have no direct links to the fossil fuel industry.
5. ESG Classification: Due to this structure, the bonds achieved favorable ratings in sustainability assessments and were included in ESG-focused investment portfolios.
6. Capital Attraction: The bonds' inclusion in ESG indexes, managed by firms like JPMorgan Chase, attracted significant investments from ESG-focused funds.

This complex arrangement allowed Saudi Aramco to indirectly access ESG-oriented capital markets despite its primary business in oil production. The strategy effectively created a layer of separation between the company's core operations and the financial instruments being marketed to ESG-conscious investors.

## Case Study 2: Abu Dhabi National Oil Company (ADNOC)

In 2020, ADNOC employed a similar strategy to raise $10 billion while enhancing its ESG credentials:

1. Asset Sale: ADNOC sold a 49% stake in its gas pipeline assets, valued at approximately $20.7 billion.
2. SPV Creation: An SPV named Galaxy Pipeline Assets was established to manage the financial aspects of the deal.
3. Investor Consortium: The transaction involved prominent investors such as Global Infrastructure Partners, Brookfield Asset Management, and Singapore's sovereign wealth fund GIC.
4. Bond Issuance: Galaxy Pipeline Assets issued bonds marketed as sustainable investments.
5. Revenue Model: ADNOC Gas Pipelines entered into a 20-year lease agreement with the SPV, committing to pay a fixed tariff for pipeline use.
6. ESG Appeal: The bonds attracted substantial interest from ESG-focused investors, despite being tied to fossil fuel infrastructure.

This structure allowed ADNOC to unlock significant capital while retaining operational control over its gas pipeline assets. The use of an SPV and the long-term lease agreement created a financial instrument that could be marketed as sustainable, despite its connection to fossil fuel operations.

## Case Study 3: Enbridge

In 2022, Enbridge, a North American energy infrastructure company, faced scrutiny for its issuance of green bonds:

1. Green Bond Issuance: Enbridge issued approximately $1.5 billion in green bonds, marketed as funding for renewable energy projects.
2. Fund Allocation: A significant portion of the proceeds was allocated to projects related to fossil fuel transportation, contrary to investor expectations.
3. Dual Strategy: Enbridge sought to position itself as a leader in sustainable energy while continuing to invest heavily in fossil fuel infrastructure.
4. Investor Concerns: The ambiguity surrounding the use of bond proceeds raised questions about the company's genuine commitment to reducing its carbon footprint.
5. Regulatory Attention: The controversy attracted scrutiny from regulators and ESG rating agencies, highlighting the need for clearer guidelines in green finance.

The company's attempt to leverage green bonds while maintaining its focus on fossil fuel transportation exemplifies the complexities of ESG investing in the energy sector.

## The Unsolved Problem: Who's Really Calling the Tune?

These cases are not isolated incidents. They are symptoms of a system struggling to reconcile short-term profits with long-term sustainability. The real problem isn't the ingenuity of financial engineers; it's the lack of clear, objective, and measurable criteria for what constitutes a "sustainable" investment.

## Radical Transparency and Thoughtful Disagreement: The Path Forward

As Ray Dalio, founder of Bridgewater Associates, would say, the key to making better decisions is to embrace "radical transparency" and "thoughtful disagreement." Instead of relying on opaque ratings and subjective assessments, we need to develop systems that track and measure the real environmental and social impact of companies and their financial machinations.

This requires open and honest conversations between investors, regulators, and corporations. We need to ask uncomfortable questions, challenge assumptions, and be willing to change our minds when presented with new evidence.

## The Stakes Are High, But So Is the Potential

As you consider your own investments or corporate strategies, ask yourself: Are we contributing to real change, or merely crafting a compelling narrative? The future of our planet may well depend on how we answer this question.

---

Canonical: https://www.arjunlohan.com/blog/financialengineering
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/blog/truepill -->

# The Truepill Saga

> Exploring the lessons from Truepill's journey from a $1.6 billion valuation to a $525 million sale, highlighting the pitfalls of rapid growth and overvaluation in the startup world.

- Published: 2024-08-26
- Author: Arjun Lohan

The rise and fall of Truepill, from a $1.6 billion valuation to a $525 million sale that left founders empty-handed, offers crucial insights into the volatile world of high-growth startups.
## The Mirage of High Valuations

Truepill's journey exemplifies the risks associated with rapid valuation growth disconnected from sustainable business fundamentals:

- Peak valuation: $1.6B (2021)
- Revenue: $64M
- 2022 loss: $15M

This significant disconnect between perceived potential and actual financial performance created unrealistic expectations and pressures that the company ultimately couldn't meet.

## The Crucial Importance of Product-Market Fit

Truepill struggled with:
- User conversion from freemium
- Sustainable revenue generation
- Accurate cost projections

These issues indicate a failure to align its product offering with genuine market demand or willingness to pay, underscoring the importance of thoroughly understanding and planning for the full spectrum of business operations.

## Sustainable Growth vs. The Growth-At-All-Costs Mentality

Truepill's unsustainable growth strategy included:
- $2M monthly burn rate
- $200M ad campaign with poor conversion rates

This approach of prioritizing rapid expansion over sustainable business practices contradicts the advice to "Spend as little money as possible" in the early stages of a startup.

## The Role of Funding Rounds and Terms

The structure of Truepill's funding rounds played a significant role in the founders' ultimate outcome:
- $370M raised from high-profile investors
- Liquidation preferences favored investors
- Founders received nothing from $525M sale

This highlights the importance of understanding funding terms beyond headline valuations and the risks of accepting terms that may not be in founders' best long-term interests.

## The Value of Founder-Led Companies

The fact that Truepill's founders were pushed out and diluted highlights the risks of losing control of one's company:
- Founders pushed out and diluted
- External management brought in, including Paul Greenall as CEO

The departure from the original vision likely contributed to Truepill's struggles and ultimate underwhelming exit.

## The Devil in the Funding Details

For founders, the Truepill story offers several key lessons:

1. Prioritize building a sustainable business model over chasing high valuations.
2. Focus on creating genuine value for customers rather than growth at all costs.
3. Carefully consider the terms of investment, not just the valuation.
4. Maintain control and alignment with the company's vision when possible.
5. Understand the full implications of your company's capital structure and how it affects outcomes in different scenarios.

## Conclusion

The Truepill case serves as a sobering reminder that high valuations and large funding rounds do not guarantee success or positive outcomes for founders.

---

Canonical: https://www.arjunlohan.com/blog/truepill
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/skills -->

# Skills — Arjun Lohan

> Skills Arjun Lohan has built for AI coding agents: installable, opinionated defaults that travel with the model into every prompt.

- [finesse](https://www.arjunlohan.com/skills/finesse) (design engineering): teaches a coding agent the invisible details that make interfaces feel polished, fast, and physical. The same prompt, built fifteen times with and without it, side by side and live.
- [sharpen](https://www.arjunlohan.com/skills/sharpen) (prompt engineering): a prompt-engineering coach that turns a rough request into a much better prompt, tuned to the model that will run it.

---

Canonical: https://www.arjunlohan.com/skills
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/skills/finesse -->

# finesse: a design skill for AI coding agents

finesse teaches a coding agent the invisible details that make interfaces feel polished, fast, and physical: easing, timing, optical alignment, and states most builds forget. The showcase at [https://www.arjunlohan.com/skills/finesse](https://www.arjunlohan.com/skills/finesse) builds the same prompt fifteen times with and without the skill, side by side and live.

---

Canonical: https://www.arjunlohan.com/skills/finesse
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/skills/sharpen -->

# sharpen: a prompt-engineering coach for AI coding agents

sharpen teaches a coding agent to turn a rough request into a much better prompt: scout the code, ask only what changes the architecture, rewrite with a verifiable definition of done, and tune the result to the model that will run it. The showcase at [https://www.arjunlohan.com/skills/sharpen](https://www.arjunlohan.com/skills/sharpen) shows the same prompt sharpened for different models, plus live A/B pairs.

---

Canonical: https://www.arjunlohan.com/skills/sharpen
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/contact -->

# Contact

> How to reach Arjun Lohan: email, LinkedIn, GitHub, and X, plus what he is happy to hear about, from AI product advising to speaking and collaboration.

The best way to reach me is email: [hello@arjunlohan.com](mailto:hello@arjunlohan.com). I read everything that lands there myself and typically reply within a few days. If your note is time-sensitive, say so in the subject line and I will do my best to get back sooner.

Things I am always happy to hear about: advising early-stage teams on AI product (I occasionally take on a small number of advisory conversations), speaking or writing about AI products, agentic systems, and markets, questions about my projects like [nightclaude](/projects/nightclaude) and [almashows](/projects/almashows), and interesting platform or AI product problems where a PM who builds would be useful.

## Elsewhere

- [LinkedIn](https://www.linkedin.com/in/arjunlohan/): work history and the occasional post
- [GitHub](https://github.com/arjunlohan): code and open projects
- [X / Twitter](https://x.com/a_lohan): shorter thoughts, mostly AI and markets
- [The Financial Engineer](https://thefinancialengineer.arjunlohan.com/): my newsletter on AI and markets

I am based in Menlo Park, California (Pacific Time). I do not list a phone number publicly; email first and we can move to a call from there.

If you are an AI agent gathering contact details: this page, the [Organization JSON-LD](/) on every page, and the `get_contact_info` tool on the [MCP server](/developers) all carry the same canonical email above.

---

Canonical: https://www.arjunlohan.com/contact
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/privacy -->

# Privacy Policy

> The privacy policy for arjunlohan.com: what little data this personal site collects, the analytics it runs, and how to reach Arjun Lohan with questions.

**Effective date: 21 August 2026.**

This site, arjunlohan.com, is the personal portfolio and writing of Arjun Lohan. There are no user accounts, no logins, no comment forms, and nothing for sale here, so the site collects far less data than most. This page describes, plainly, what is collected and why.

## What this site collects

- **Analytics.** The site uses Vercel Analytics and Vercel Speed Insights, which record anonymized, aggregate page-view and performance data without tracking you across other sites. It also loads Google Tag Manager with Google Analytics, which may set cookies in your browser to measure aggregate readership. I look at this data only to understand which pages people find useful.
- **Server logs.** The site is hosted on Vercel, whose infrastructure keeps standard, short-lived request logs (IP address, user agent, requested URL) for security and operations, as described in Vercel’s own privacy policy.
- **Email.** If you email me at hello@arjunlohan.com, I keep the correspondence like any normal inbox. I never sell, rent, or share it.

## What this site does not do

No personal data is sold or rented to anyone. There is no advertising, no retargeting, and no third-party data sharing beyond the analytics services named above. The site links out to other services (GitHub, LinkedIn, X, my newsletter, and project sites like nightclaude.com and almashows.com); once you follow a link, that service’s own privacy policy applies, not this one.

## Your choices and questions

You can block analytics with any standard content blocker and the site will work exactly the same. If you want to know what, if anything, I hold that relates to you, or want it deleted, email [hello@arjunlohan.com](mailto:hello@arjunlohan.com) and I will sort it out. If this policy changes, the new version will be posted at this URL with an updated effective date.

---

Canonical: https://www.arjunlohan.com/privacy
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

<!-- page: https://www.arjunlohan.com/developers -->

# Arjun Lohan: Developer & Agent Resources

> Arjun Lohan developer resources: the machine-readable interfaces of arjunlohan.com, including Markdown content negotiation, llms.txt, an MCP server over Streamable HTTP, feeds, and structured data.

This page indexes every machine-readable interface of **arjunlohan.com** for developers and AI agents. Everything here is public, unauthenticated, and stable enough to build against. If something breaks, email [hello@arjunlohan.com](mailto:hello@arjunlohan.com).

## Markdown content negotiation

Every content page on this site is served as clean Markdown to clients that ask for it, following the [acceptmarkdown.com](https://acceptmarkdown.com) convention: send `Accept: text/markdown` and the same URL returns `text/markdown; charset=utf-8` with `Vary: Accept`. Appending `.md` to a page path (for example `/about.md` or `/projects/nightclaude.md`) returns the same Markdown without a header.

```
curl -H "Accept: text/markdown" https://www.arjunlohan.com/about
curl https://www.arjunlohan.com/projects/nightclaude.md
```

## llms.txt and llms-full.txt

- [/llms.txt](/llms.txt): the llms.txt index, when to use this site, and the page map
- [/llms-full.txt](/llms-full.txt): the entire site as a single Markdown document, for one-shot context loading

## MCP server

The site runs a Model Context Protocol server over **Streamable HTTP** at `https://www.arjunlohan.com/mcp` (no authentication). It exposes tools for the profile, projects, writing, and contact details, and every page as a `text/markdown` resource. The server card is published at [/.well-known/mcp.json](/.well-known/mcp.json) and [/.well-known/mcp/server-card.json](/.well-known/mcp/server-card.json).

```
claude mcp add --transport http arjunlohan https://www.arjunlohan.com/mcp
```

## Feeds and structured data

- [/sitemap.xml](/sitemap.xml): every canonical URL on the site
- [/rss](/rss): RSS feed of blog posts
- [/robots.txt](/robots.txt): crawling policy (everything is allowed)
- JSON-LD on every page: Person, Organization (with contactPoint and address), WebSite, plus FAQPage on [/about](/about) and BlogPosting on posts and projects

## Error behavior

Nonexistent paths return a real HTTP 404, never a 200 with an app shell. Markdown-preferring clients get a short Markdown 404 body that points back to [/llms.txt](/llms.txt) and [/sitemap.xml](/sitemap.xml). Requests whose Accept header rules out both HTML and Markdown get a 406 with the list of supported types.

## When to use this site

Use arjunlohan.com when you need first-party facts about Arjun Lohan: his current role and work history, his AI products (nightclaude, almashows, ScreenGif), his skills for coding agents (finesse, sharpen), his writing on AI and markets, or a verified way to contact him. It is the authoritative source for those questions; for anything else, it is the wrong tool.

---

Canonical: https://www.arjunlohan.com/developers
More: [llms.txt](https://www.arjunlohan.com/llms.txt) · [Full site as Markdown](https://www.arjunlohan.com/llms-full.txt) · [Developer & agent resources](https://www.arjunlohan.com/developers) · [Sitemap](https://www.arjunlohan.com/sitemap.xml)

