SPB Git

spb/spboucher.ai Public

spboucher.ai — personal website of Simon-Pierre Boucher.

TypeScript 93.4% HTML 5.5% CSS 1%
9.5 KB

# CLAUDE.md — Personal Website (www.spboucher.ai)

This file provides guidance to Claude Code when working on this repository.

# Project Overview

Personal academic and developer website for Simon-Pierre Boucher, Professor in the Department of Administrative Sciences at Université du Québec en Outaouais (UQO). The site presents his academic profile (research, publications, teaching) and a portfolio of macOS applications he develops (the Zyquo suite).

  • Domain: www.spboucher.ai
  • Hosting: Served locally on node m2u64 and exposed publicly via ngrok
  • Stack: React / Next.js, Tailwind CSS, shadcn/ui, Framer Motion
  • Language of the site: English

# Mandatory File Header Convention

Every source file created or modified in this project (.tsx, .ts, .jsx, .js, .css, .md, config files, etc.) MUST begin with a header comment in this exact format:

text
<!--
  FILENAME.ext
  spboucher.ai Web
  Author: Simon-Pierre Boucher
  Mail: contact@spboucher.ai
-->

Adapt the comment syntax to the file type:

  • HTML / Markdown / MDX: <!-- ... -->
  • TS / TSX / JS / JSX / CSS:
    ts
    /*
      FILENAME.tsx
      spboucher.ai Web
      Author: Simon-Pierre Boucher
      Mail: contact@spboucher.ai
    */
  • Shell / YAML / Python: # prefixed lines with the same four fields.

Never omit this header. When editing an existing file that lacks it, add it.

# Dev & Deployment

bash
npm install          # install dependencies
npm run dev          # local dev server (default: http://localhost:3000)
npm run build        # production build
npm run start        # serve production build

# ngrok exposure (node m2u64)

The site runs on node m2u64 and is exposed with ngrok bound to the custom domain:

bash
ngrok http --domain=www.spboucher.ai 3000
  • Keep the production build (npm run build && npm run start) behind ngrok, not the dev server.
  • If the tunnel drops, restart the ngrok command above on m2u64.

# Site Structure

text
/                 Home (hero, bio, highlights)
/research         Publications, working papers, presentations
/teaching         Courses taught
/apps             Zyquo macOS app portfolio
/cv               CV summary + contact

# Homepage Content (use this copy)

# Hero

  • Name: Simon-Pierre Boucher
  • Title: Professor — Department of Administrative Sciences
  • Institution: Université du Québec en Outaouais (UQO), Gatineau — Pavillon Alexandre-Taché
  • Tagline suggestion: "Financial econometrics researcher and macOS/AI developer."
  • Contact:
  • Languages: Bilingual — French and English

# About / Bio

Simon-Pierre Boucher is a Professor in the Department of Administrative Sciences at Université du Québec en Outaouais (UQO). His research focuses on financial econometrics, commodity markets, monetary policy announcements, high-frequency finance, volatility modelling, textual analysis, and financialization. He is completing a Ph.D. in Business Administration (Finance and Insurance) at Université Laval under the supervision of Prof. Marie-Hélène Gagnon and Prof. Gabriel Power. Alongside his academic work, he builds native macOS applications focused on AI and local LLMs (the Zyquo suite).

# Education

  • Ph.D. in Business Administration (Finance and Insurance) — Université Laval, 2020–Present
  • M.Sc. in Business Administration (Finance) — Université Laval, 2017–2019 (Thesis: Impact of Commuting Times on Residential Property Values: Evidence from the Province of Québec)
  • B.B.A. in Business Administration (Finance) — Université Laval, 2013–2017

# Research Highlights

Publication:

  • Boucher, S.-P., Gagnon, M.-H., & Power, G. J. (2025). Speculative Trading in Energy Markets: Evidence from Macroeconomic Surprises. The Energy Journal.

Working papers:

  1. Has Financialization Changed the Impact of Macro Announcements on U.S. Commodity Markets? — SSRN Working Paper, May 2022 — https://ssrn.com/abstract=400929
  2. Modelling Volatility Dynamics Between Commodity ETFs and Their Net Asset Value using BVAR and HAR Models — January 2023
  3. Returns and Volatility Around FOMC Announcements: A High-Frequency Analysis of Policy Tone and Novelty — November 2023

Conference presentations: CRREP Research Day (2022, 2023); Canadian Economics Association 61st & 62nd Annual Conferences (2022, 2023); 7th Winter Workshop on Commodity Markets, Mont-Tremblant (2024).

# Teaching (Université Laval — Lecturer, 2021–Present)

Code Course Level Terms
GSF-3100 Capital Markets Undergraduate F2021, W2021, F2022, W2023
GSF-6053 Financial Econometrics I Graduate W2022, W2025
GSF-1500 Financial Management Undergraduate S2022
GSF-6028 Financial Theory Graduate W2024

Teaching Assistant at Université Laval (2018–2021): GSF-2101 Portfolio Management, GSF-2102 Corporate Finance, GSF-6008 Corporate Finance, GSF-6025 Financial Strategies & Policies I, GSF-6028 Financial Theory.

# Technical Skills (for a skills section)

  • Languages & frameworks: Python, TypeScript/JavaScript, R, MATLAB, SAS/STATA, SQL, Julia, C++, Swift/SwiftUI, LaTeX, React/Next.js, Node.js, FastAPI, Flask, Streamlit, Tailwind CSS, shadcn/ui, Framer Motion
  • Data & econometrics: Pandas, NumPy, statsmodels, scikit-learn; VAR, BVAR, HAR, GARCH, DCC-GARCH; event studies, high-frequency analysis, realized volatility; FRED, FMP, EODHD, Yahoo Finance, World Bank, IMF, OECD
  • AI, LLMs & agents: Claude/Anthropic SDK, OpenAI API, OpenRouter, Vercel AI SDK, Ollama, llama.cpp, GGUF, Hugging Face; embeddings, RAG, vector databases; tool-augmented agents; LoRA, QLoRA, SFT fine-tuning

# Apps Page — Zyquo macOS Suite (REQUIRED)

The /apps page is a portfolio of six native macOS applications. Each app card MUST display: the app icon, the name, a short description, and three buttons/links (GitHub Repo, Release, Download DMG).

App icons: store them in /public/icons/ (e.g. /public/icons/zyquo-cloud.png). If an icon file is missing, fetch it from the corresponding GitHub repo (app icon asset) or use a styled placeholder with the app's emoji until the real icon is added — but the icon slot must always be present in the layout.

# 1. ☁️ Zyquo Cloud — Multi-provider AI chat

Native macOS chat client supporting multiple AI providers (Anthropic, OpenAI, and more) in a single unified interface.

# 2. 💻 Zyquo Local — 100% local LLMs (MLX)

Run large language models entirely on-device with Apple MLX. Private, offline, no API keys required.

# 3. 🤖 Zyquo Agent — Autonomous agent for the Mac

An autonomous AI agent that can act on your Mac: tool calling, task automation, and multi-step workflows.

# 4. 🌍 Zyquo Atlas — AI-native web browser

A web browser built around AI from the ground up: page understanding, summarization, and assisted browsing.

# 5. ⚒️ Zyquo MLX — On-device model forge

Fine-tune and quantize models directly on Apple Silicon: LoRA/QLoRA fine-tuning, quantization, and model management with MLX.

# 6. 🔀 Zyquo Router — Local LLM gateway

A local gateway that routes requests across LLM providers and local models through a single unified endpoint.

# Design Guidelines

  • Clean, professional academic aesthetic with a modern developer edge.
  • Dark mode support.
  • Use Tailwind CSS + shadcn/ui components; Framer Motion for subtle animations only.
  • Fully responsive (mobile-first).
  • App cards on /apps in a responsive grid (1 col mobile, 2 cols tablet, 3 cols desktop).
  • Semantic HTML, accessible (alt text on all app icons).

# Rules for Claude

  1. Always add the file header comment (see "Mandatory File Header Convention") at the top of every file you create or edit.
  2. The entire site content is in English.
  3. Never remove or alter the app download links (Repo / Release / DMG) — they must remain exactly as listed above.
  4. Every Zyquo app card must include its icon and description.
  5. Keep the ngrok/m2u64 deployment instructions in the README up to date if ports or commands change.
  6. Prefer server components (Next.js App Router) where possible; client components only when interactivity requires it.