# Jay Shah > A personal blog. Notes on engineering, work, travel, 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 `https://jshah.dev/writing/index.md`). Outside `/api/`, requesting the page URL with `Accept: text/markdown` returns the same document. Structured access lives under the API section below. ## 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. ## Topics - [AI](https://jshah.dev/writing/ai/) (5 posts) - [Ruby](https://jshah.dev/writing/ruby/) (2 posts) - [Career](https://jshah.dev/writing/career/) (1 post) - [Craft](https://jshah.dev/writing/craft/) (1 post) - [Design](https://jshah.dev/writing/design/) (1 post) - [Life](https://jshah.dev/writing/life/) (1 post) - [Notes](https://jshah.dev/writing/notes/) (1 post) - [Systems](https://jshah.dev/writing/systems/) (1 post) - [Teams](https://jshah.dev/writing/teams/) (1 post) - [Tools](https://jshah.dev/writing/tools/) (1 post) ## 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. ## Travel - [Austria](https://jshah.dev/travel/austria/) (1 visit · 2026): Vienna in September 2026. - [Czechia](https://jshah.dev/travel/czechia/) (1 visit · 2026): Prague in September 2026. - [Hungary](https://jshah.dev/travel/hungary/) (1 visit · 2026): Budapest in September 2026. - [United States](https://jshah.dev/travel/united-states/) (26 visits · 2014 to 2026): Trips around the country, from Yosemite and Big Sur to Miami and Boston. - [Belgium](https://jshah.dev/travel/belgium/) (2 visits · 2023, 2026): Antwerp in September 2023. Ghent in April 2026. - [France](https://jshah.dev/travel/france/) (4 visits · 2007 to 2026): Paris in 2007 and again in 2026, Bordeaux in 2024, and the French stages of the Tour du Mont Blanc in 2025. - [Netherlands](https://jshah.dev/travel/netherlands/) (3 visits · 2015, 2024, 2026): Amsterdam in November 2015. Amsterdam in August 2024. Amsterdam, Keukenhof, Rotterdam, Dordrecht in April 2026. - [United Kingdom](https://jshah.dev/travel/united-kingdom/) (2 visits · 2015, 2016, 2026): Belfast in October 2015 to February 2016. London in April 2026. - [Iceland](https://jshah.dev/travel/iceland/) (1 visit · 2025): Reykjavík in September 2025. - [Italy](https://jshah.dev/travel/italy/) (2 visits · 2007, 2025): Rome in July 2007. Rifugio Elisabetta, Courmayeur, Rifugio Bonatti in July 2025. - [Switzerland](https://jshah.dev/travel/switzerland/) (2 visits · 2023, 2025): Zürich in September 2023. La Fouly, Champex-Lac, Trient in July 2025. - [India](https://jshah.dev/travel/india/) (2 visits · 2012, 2025): Goa, Mumbai, Agra, New Delhi, Red Fort, Amritsar, Wagah Border in January 2012. Mumbai, Ladakh, Khardung La, Pangong Tso, Alchi, Srinagar, Jammu in June 2025. - [Canada](https://jshah.dev/travel/canada/) (2 visits · 2016, 2025): Banff in September 2016. Montréal in February 2025. - [Indonesia](https://jshah.dev/travel/indonesia/) (1 visit · 2024): Uluwatu, Canggu, Ubud in October 2024. - [Singapore](https://jshah.dev/travel/singapore/) (1 visit · 2024): Singapore in October 2024. - [Spain](https://jshah.dev/travel/spain/) (2 visits · 2022, 2024): Barcelona in November 2022 to December 2022. San Sebastián, Madrid in August 2024. - [Germany](https://jshah.dev/travel/germany/) (2 visits · 2015, 2023): Munich in September 2015. Berlin in September 2023. - [Portugal](https://jshah.dev/travel/portugal/) (1 visit · 2022): Lisbon, Porto, Braga, Sintra in October 2022. - [Colombia](https://jshah.dev/travel/colombia/) (1 visit · 2021): Bogotá, Salento, Medellín, Guatapé, Jardín, Cartagena in December 2021. - [Mexico](https://jshah.dev/travel/mexico/) (3 visits · 2016, 2017, 2021): Cabo San Lucas in December 2016. Mexico City, Yucatán in November 2017. Cancún in December 2021. - [Vietnam](https://jshah.dev/travel/vietnam/) (2 visits · 2014, 2019): Hanoi, Ha Long Bay in October 2014. Hanoi, Sapa, Ha Long Bay, Ninh Binh, Hoi An, Da Nang, Hue, Ho Chi Minh City in December 2019. - [Peru](https://jshah.dev/travel/peru/) (1 visit · 2018): Paracas, Ica, Arequipa, Colca Canyon, Cusco, Machu Picchu, Lima in December 2018. - [Costa Rica](https://jshah.dev/travel/costa-rica/) (1 visit · 2017): San José, Monteverde, Puntarenas, La Fortuna in December 2017. - [Japan](https://jshah.dev/travel/japan/) (1 visit · 2017): Osaka, Kyoto, Tokyo, Nara in May 2017. - [Morocco](https://jshah.dev/travel/morocco/) (1 visit · 2016): Marrakesh in February 2016. - [Hong Kong](https://jshah.dev/travel/hong-kong/) (1 visit · 2016): Hong Kong in January 2016. - [Taiwan](https://jshah.dev/travel/taiwan/) (1 visit · 2016): Taipei in January 2016. - [South Korea](https://jshah.dev/travel/south-korea/) (1 visit · 2015): Seoul in December 2015. - [Ireland](https://jshah.dev/travel/ireland/) (1 visit · 2015, 2016): Lived in Dublin from October 2015 to February 2016, with trips to Galway and the Ring of Kerry. - [Argentina](https://jshah.dev/travel/argentina/) (1 visit · 2015): Buenos Aires, El Calafate, El Chaltén in May 2015. - [Brazil](https://jshah.dev/travel/brazil/) (1 visit · 2015): Florianópolis, Rio de Janeiro in May 2015. - [Cambodia](https://jshah.dev/travel/cambodia/) (1 visit · 2014): Siem Reap in October 2014. - [Thailand](https://jshah.dev/travel/thailand/) (1 visit · 2014): Bangkok, Phuket, Chiang Mai in October 2014. ## Pages - [Home](https://jshah.dev/) - [Projects](https://jshah.dev/projects/) - [Travel](https://jshah.dev/travel/) - [About](https://jshah.dev/about/) ## API - [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. - [Sitemap](https://jshah.dev/sitemap-index.xml): An XML sitemap of every page. ## Feeds - [Atom feed](https://jshah.dev/atom.xml): A full-content Atom feed of all posts.