A public-information tool that translates federal court opinions into plain-English summaries non-lawyers can actually follow. Built an end-to-end daily pipeline: automated ingestion from CourtListener's API, AI-powered summarization via Anthropic Claude (three tiers per opinion — one sentence, three paragraphs, and a detailed legal analysis), Postgres database via Supabase, and a Next.js 15 frontend with custom typography and design system. Deployed on Vercel with daily automation through GitHub Actions. Independent project, not affiliated with any court or institution.
Modeled running shoes as thermodynamic systems to understand how energy is managed and heat is transferred in athletic footwear. Applied the Einstein model to explain temperature-dependent behavior of midsole materials like EVA, TPU, and PEBA, and analyzed conduction, convection, and evaporation using Fourier's law. Also examined how carbon-fiber plates and advanced foams improve energy return.
Two Python projects applying Monte Carlo simulation to decisions that turn on uncertainty rather than point estimates. The first minimizes shortfalls in solar and wind systems, using stochastic gradient descent with momentum to optimize storage allocation and validating across 1,000 simulations against historical data from 1965–2023. The second values real estate under uncertainty, modeling correlations between rent growth, interest rates, vacancy, and maintenance costs through correlation matrices, then running 10,000 discounted-cash-flow scenarios. Both report Value at Risk and 95% confidence intervals rather than a single headline number.