<feed xmlns='http://www.w3.org/2005/Atom'>
<title>prism-v2.git, branch master</title>
<subtitle>Prism rewritten using FastAPI + NextJS</subtitle>
<id>https://git.tylerhoang.xyz/prism-v2.git/atom?h=master</id>
<link rel='self' href='https://git.tylerhoang.xyz/prism-v2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/'/>
<updated>2026-05-30T07:58:13Z</updated>
<entry>
<title>update</title>
<updated>2026-05-30T07:58:13Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-30T07:58:13Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=786ecfa84ae6e3a65b4d06b3148440c9d4b0bc00'/>
<id>urn:sha1:786ecfa84ae6e3a65b4d06b3148440c9d4b0bc00</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: add missing start script to frontend package.json</title>
<updated>2026-05-30T07:53:43Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-30T07:53:43Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=a2b4a2377ca3343459f902776807d24bf380043e'/>
<id>urn:sha1:a2b4a2377ca3343459f902776807d24bf380043e</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>env</title>
<updated>2026-05-30T07:41:47Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-30T07:41:47Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=9145bdc7a7d25a902b8b71f9db8c001eb91e2d41'/>
<id>urn:sha1:9145bdc7a7d25a902b8b71f9db8c001eb91e2d41</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: align deploy flow with post-receive checkout (no .git in /var/www)</title>
<updated>2026-05-30T07:26:08Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-30T07:26:08Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=c0724a62c5e5742469339ec7aef4d0f509e10559'/>
<id>urn:sha1:c0724a62c5e5742469339ec7aef4d0f509e10559</id>
<content type='text'>
The working tree at /var/www/prism-v2 is populated by a post-receive hook
that does `git --work-tree=... checkout -f`, so it has no .git directory.
Drop git operations from deploy.sh and add scripts/post-receive.sample plus
README setup for the bare repo + hook + sudoers wiring.

Co-Authored-By: Claude Opus 4.7 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: add scripts/deploy.sh for idempotent production deploys</title>
<updated>2026-05-30T07:21:03Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-30T07:21:03Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=5fbc175e540803d919863f3d90dffc3c0645a90b'/>
<id>urn:sha1:5fbc175e540803d919863f3d90dffc3c0645a90b</id>
<content type='text'>
Handles first-time install (--install) and redeploys: pulls, builds backend
and frontend as www-data with the required HOME/NPM_CONFIG_CACHE env, restarts
systemd services, and smoke-checks /health and /.

Co-Authored-By: Claude Opus 4.7 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>docs: tighten README, AGENTS, CLAUDE with production deploy instructions</title>
<updated>2026-05-30T07:16:53Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-30T07:16:53Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=66acc6f7d18c93f4b7960682bea5bd5ff1545802'/>
<id>urn:sha1:66acc6f7d18c93f4b7960682bea5bd5ff1545802</id>
<content type='text'>
Co-Authored-By: Claude Opus 4.7 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>fix: rewrite polar smile with correct closed-lens geometry</title>
<updated>2026-05-21T21:49:56Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-21T21:49:56Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=2222d8a5fac6850d7d924e9404a44a65cb10f68f'/>
<id>urn:sha1:2222d8a5fac6850d7d924e9404a44a65cb10f68f</id>
<content type='text'>
- Piecewise angleFor: puts go CCW (ATM→bottom), calls go CW (ATM→bottom)
  so both wings meet at the same bottom point and the path closes with Z
- Dynamic ivToR computed from actual IV range across all expiries
  (inner floor 60px, outer wall 240px) instead of hardcoded percentages
- IV rings: 5 evenly-spaced steps between real ivLo/ivHi
- Curve fill: rgba(194,170,122,0.12) matching design reference
- Non-selected curves: index-based styles (solid fg-1, then dashed fg-2/3/4)
- Eye price at font-size 30, label lowercase 'call · fair'
- Dashed marker-line spoke from center to selected-K dot
- Clicking a curve switches the selected expiry via onPickT
- Strike ticks use round multiples of a price-adaptive step
- Fix IvHeatmap xlabs duplicate key error (key by index, not rounded K)

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: implement options tab with Black-Scholes pricer and vol surface</title>
<updated>2026-05-20T07:22:32Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-20T07:22:32Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=25360aacb8aab46e7e579707eb9704759af9536d'/>
<id>urn:sha1:25360aacb8aab46e7e579707eb9704759af9536d</id>
<content type='text'>
Adds a fully interactive options tab: Terminal view (3-column Bloomberg-
style with pricer, chain, smile/term-structure/greek curves) and Surface
view (polar smile dial + IV heatmap). Uses synthetic vol surface until a
live yfinance chain endpoint is wired up.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Update production deployment templates and docs</title>
<updated>2026-05-20T01:39:59Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-20T01:39:59Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=68b4f52829cdb2d6951faf8037fb002083ebd0a5'/>
<id>urn:sha1:68b4f52829cdb2d6951faf8037fb002083ebd0a5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix production API base for ticker search</title>
<updated>2026-05-19T08:39:13Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-19T08:39:13Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/prism-v2.git/commit/?id=0a40178b40b4c939b00f03f114777ffff2ed0652'/>
<id>urn:sha1:0a40178b40b4c939b00f03f114777ffff2ed0652</id>
<content type='text'>
</content>
</entry>
</feed>
