Case Study Q&A Tool

Building an AI-powered tool to convey the deeper value of design work: systems thinking, tradeoffs, and strategic intent

Role:Principal Designer, Technical Architect
Client:Internal
Location:Vancouver, BC

Overview

A custom AI assistant for deeper dives into design work

I built an embedded AI assistant that allows users to ask questions about projects in a conversational, on-demand way. It's currently only available for the Pulse Energy Engagement Dashboard case study, but will be expanded to other case studies soon.

Q&A iconTry it now

System architecture

Snapshot of how it's all stitched together

System architecture

All product names, logos, and brands are property of their respective owners. All company, product, and service names used in this diagram are for identification purposes only. Use of these names, logos, and brands does not imply endorsement.

The system handles everything—from chunking and embedding with OpenAI to a Flask backend and static-site integration—giving users a way to ask design questions that can't be conveyed in screenshots.

How it works

How information is processed and presented

  1. Rough project notes and reflections are captured in freeform documents in ChatGPT and Google Drive.
  2. Notes are converted to .txt files—one per case study—which serve as the input for downstream processing.
  3. A custom Python script is used to break the content into structured JSON chunks and generate vector embeddings via FAISS indexing.
  4. The.json chunk file and FAISS index are committed to GitHub, keeping the embedded data version-controlled and colocated with the frontend.
  5. Using Cursor as a development environment and OpenAI for inline code assistance, the static site is built using:
    • Pug as the HTML templating engine
    • SASS for modular styles
    • vanilla JavaScript for client-side functionality
  6. All front-end assets are compiled and bundled via Prepros, producing clean, deployable static files.
  7. The site is hosted on Netlify, which serves both the case studies and the embedded assistant UI.
  8. The backend logic runs on a Flask app written in Python, hosted on Render, which exposes an API for handling user queries.
  9. The assistant backend references the JSON and FAISS files directly from the GitHub repo, keeping content and logic decoupled but tightly aligned.
  10. Queries are routed from the static site to the Flask API, which fetches relevant chunks and sends them—along with the user's question—to OpenAI's LLM API.
  11. The LLM's response is returned to the static UI, completing the query cycle and surfacing context-aware answers drawn from your original project thinking.
  12. Submitted queries are logged to Airtable, allowing me to track usage and gather feedback. The assistant is then trained on the logged queries and feedback, allowing it to improve over time.

Why bother?

Because screenshots don't capture the full story

Much of the real value of good product design isn't easily captured in visuals—it's in the judgment, tradeoffs, and micro-decisions that shape the product and process. These are often difficult to convey in shorter, static case studies.

  • Traditional, design-focused case studies don't always show a designer's true impact—especially when it's rooted in systems thinking and cross-functional alignment
  • Design is shaped by the small-scale decisions that don't make headlines, but significantly impact product quality
  • I wanted to build a tool from scratch that met a real need and gave me full control over its design and architecture
  • It was a chance to work hands-on with LLMs, stretch my technical skills, and treat the assistant as a product in itself

The future is not about your ability to use Figma; it is about your judgment and your ability to make things happen.

Jakob NeilsenJakob Nielsen

What I wanted to achieve

Conveying more detailed insights

  • Let visitors explore case studies in greater depth than static content allows
  • Reveal the thinking, decisions, and priorities behind the work
  • Provide nuanced context without overwhelming the page or casual readers
  • Highlight the value of experience-based design judgment
  • Build a scalable, reusable layer of interactivity for long-form case studies

What I'm learning

This is a living project, still evolving as I experiment, refactor, and uncover new ways to improve its usefulness.

  • AI-powered tools have incredible potential to transform design work, but they're like any other design tool—they're only as good as the designer using them
  • Designing AI interfaces requires different guardrails than traditional UI
  • Prompt engineering IS product design—how you frame the assistant's role directly impacts user trust
  • Even small, self-directed tools benefit from a clear system architecture and modular design choices
  • Embedding != training—LLMs don't “know” your project; their usefulness depends on the quality of chunking, filtering, and framing
  • Building for yourself is a fast track to clarity—you can skip discovery, but not design thinking

Future improvements

Just a few of the many things I'd like to add/improve

  • Cleaner UI and interaction flow
    Make the usage disclaimer dismissable and improve how example questions are surfaced.
  • Spam prevention and reliability
    Add basic abuse protection, improved error handling, and fallback states for failed queries.
  • Richer user experience
    Support recent question history, user-submitted feedback, and context-specific assistant views based on the case study.
  • Expanded functionality
    Introduce a general Q&A mode for broader portfolio queries and enable multi-case study context switching.
  • Feedback and improvement loop
    Log all user interactions to Airtable, generate periodic digests, and use OpenAI to analyze feedback and suggest refinements to the assistant's training. [Added Jul 31, 2025]
  • Loading state messages
    To keep users informed, display a series of messages during answer generation, especially when the waiting times are longer than expected. [Added Aug 3, 2025]

Work

Tripadvisor

Empowering over 300k business operators on the world's largest travel platform

Pulse Energy Engagement Dashboard

Ground-up redesign of a real-time energy monitoring and engagement dashboard for university campuses

Walter

Establishing scalable design foundations for an ambitious legal tech startup

Pulse Energy

Leading the design team for a suite of industry-leading energy analytics and management tools used by the world's largest utilities

SMART Technologies

Redesign and restructuring a reseller portal to streamline access to critical resources for thousands of global users

Nissan-Infiniti USA

Building a seamless interactive vehicle configuration and dealer connection tool

Other

Miscellaneous client work, personal projects, experiments, and random curiosities