# Jay Shah

A personal blog. Notes on engineering, work, and whatever I'm thinking through as I go.

Every page on this site has a Markdown twin: fetch `index.md` under its URL (for example `/writing/index.md`). Outside `/api/`, requesting the page URL with `Accept: text/markdown` returns the same document.

## Writing

- [Everyone Should Have a Personal AI Wiki](https://jshah.dev/ai/2026/08/31/everyone-should-have-a-personal-ai-wiki/) (31 Aug 2026 · AI): A personal wiki that an AI compiles and maintains, built on Karpathy's pattern, and how to set one up yourself.
- [What Playing Poker Taught Me](https://jshah.dev/poker/risk/psychology/2026/07/01/what-playing-poker-taught-me/) (01 Jul 2026 · Life): Lessons about risk, variance, and reading people from four years of playing poker seriously.
- [Just Talk to It](https://jshah.dev/ai/workflow/2026/06/25/just-talk-to-it/) (25 Jun 2026 · AI): Why I dictate my prompts to LLMs instead of typing them, and why the results are better.
- [Six Components That Make Interfaces Feel Alive](https://jshah.dev/design/2026/06/22/components-that-feel-alive/) (22 Jun 2026 · Design): Six live, interactive UI components I came across exploring popular UX libraries, and the small detail that makes each one feel good.
- [The AI Headcount Equation](https://jshah.dev/ai/2026/06/15/the-ai-headcount-equation/) (15 Jun 2026 · AI): A look at the real costs of adopting AI: the headcount cuts that fund it, the extra output you get back, and why the payoff is so hard to measure.
- [The Iterative Developer in the AI Era](https://jshah.dev/ai/developer-tools/workflow/process/2026/05/19/the-iterative-developer-in-the-ai-era/) (19 May 2026 · AI): Why shipping an imperfect first draft works so well with AI tooling, and what a company must do to support it.
- [My AI Dev Workflow](https://jshah.dev/ai/developer-tools/workflow/2026/04/07/my-ai-dev-workflow/) (07 Apr 2026 · AI): A layered AI development setup: Claude Code as the foundation, with custom skills, plugins, MCP servers, and multi-agent orchestration on top.
- [Collaboration vs Innovation](https://jshah.dev/business-strategy/collaboration/innovation/culture/2022/06/20/collaboration-vs-innovation/) (20 Jun 2022 · Teams): Constant collaboration and breakthrough innovation pull against each other. How to get the best of both.
- [Early Learnings as a Staff Engineer](https://jshah.dev/staff-engineer/career/development/2021/11/28/early-learnings-as-a-staff-engineer/) (28 Nov 2021 · Career): Observations from my first six months as a staff engineer, on alignment, influence, and impact.
- [The Zettelkasten Method](https://jshah.dev/note-taking/software/2021/10/09/the-zettelkasten-method/) (09 Oct 2021 · Notes): A note-taking method for retaining and recalling what you learn, and the software that makes it work.
- [Build for the User](https://jshah.dev/software/philosophy/application/design/2021/05/10/build-for-the-user/) (10 May 2021 · Craft): A short list of questions that keep your software focused on what actually works for the people using it.
- [Encapsulate for Easy Refactors](https://jshah.dev/ruby/rails/refactor/2020/12/14/encapsulate-for-easy-refactors/) (14 Dec 2020 · Ruby): How encapsulating logic today makes tomorrow's refactor easy, shown by extending a Rails role into its own model.
- [A Developer's Guide to Processes](https://jshah.dev/developer/guide/processes/threads/2020/08/24/a-developers-guide-to-processes/) (24 Aug 2020 · Systems): What a process actually is: memory layout, states, the control block, process creation, and interprocess communication.
- [My Essential Mac Applications](https://jshah.dev/mac/applications/software/2020/06/08/my-essential-mac-applications/) (08 Jun 2020 · Tools): The Mac apps I rely on every day, grouped by productivity, entertainment, and development.
- [Thread Safe Connection Pool in Ruby](https://jshah.dev/rails/ruby/connection_pool/threads/2020/05/26/thread-safe-connection-pool-in-ruby/) (26 May 2020 · Ruby): Building a thread-safe connection pool with class instance variables, a Mutex, and the connection_pool gem.

## Projects

- [Personal AI Wiki](https://jshah.dev/projects/personal-ai-wiki/) (2026 - Current · Daily use): A knowledge base I curate and an agent maintains
- [Argus](https://jshah.dev/projects/datagrail-argus/) (2026 - Current · Live): An internal AI knowledge assistant
- [Vera](https://jshah.dev/projects/datagrail-vera/) (2025 - Current · Live): An agentic AI platform for privacy and compliance teams. Vera doesn't just answer questions; it takes real action, reading and writing across a customer's privacy program through governed tools. The guiding principle was agentic power with safety: customers stay in full control, and a human-in-the-loop model approves every consequential action. I led the team that built it as engineering manager while staying hands-on in the architecture and code, designing core parts of the agent and building many of the MCP tools it acts through.
- [Request Manager Agent](https://jshah.dev/projects/request-manager-agent/) (2021 - Current · Live): Acting on a customer's most sensitive data without it ever leaving their network
- [Beanstalk → ECS](https://jshah.dev/projects/beanstalk-to-ecs/) (2020 - 2021 · Shipped): Migrating a production monolith off a PaaS onto containers
- [COVID Slack Bot](https://jshah.dev/projects/covid-slack-bot/) (2020 - 2021 · Archived): A Slack bot I built early in the pandemic to pull COVID-19 numbers straight into a workspace. Typing /covid-state-data CA or /covid-usa-data returned not just cumulative positives, negatives, and deaths but daily changes and 7-day moving averages, all formatted as Slack Block Kit messages. It read live figures from The COVID Tracking Project's API, verified every request with an HMAC signature, supported an OAuth install flow, and shipped as a Dockerized Rails service tested in CI. It wound down in 2021 when The COVID Tracking Project stopped collecting data.
- [Wallpaper Bot](https://jshah.dev/projects/wallpaperbot/) (2017 · Archived): A weekend project from 2017. Every week it authenticated to Reddit via OAuth, pulled the top 25 posts from r/wallpapers, filtered down to anything above 1000 karma, downloaded the images (with special-cased handling for Imgur links vs. direct URLs), zipped them up, and emailed the archive. Built in Java with JRAW for the Reddit API, MongoDB for config storage, and a small Jersey/Grizzly server. Never fully shipped the email step, but a good excuse to dig into Reddit's OAuth flow and work with a third-party Java API client.

## Pages

- [Writing](https://jshah.dev/writing/)
- [Projects](https://jshah.dev/projects/)
- [About](https://jshah.dev/about/)

## Machine-readable resources

- [API guide](https://jshah.dev/api/): A guide to reading this site programmatically.
- [OpenAPI spec](https://jshah.dev/openapi.json): An OpenAPI 3.1 description of every endpoint on this site.
- [Post index](https://jshah.dev/api/posts.json): Every published post as JSON, with URL, Markdown URL, date, topic, tags, and description.
- [llms.txt](https://jshah.dev/llms.txt): A Markdown index of the site, following the llmstxt.org convention.
- [Sitemap](https://jshah.dev/sitemap-index.xml): An XML sitemap of every page.
- [Atom feed](https://jshah.dev/atom.xml): A full-content Atom feed of all posts.
