• This blog post was written with assistance from OpenAI Codex, and edited manually. I was testing a budgeting app when I noticed something weird: Left showed -$100, even after I had cleared my test income and expenses. As a software engineer, my first thought roughly was, “Where did the balance calculation go wrong?” As a…

  • Written with assistance from ChatGPT. I’ve been thinking about the difference between our current version of AI, artificial general intelligence (AGI), and what I’d call human-determined AI (HDAI). Current AI can already reason across many subjects, write code, analyze information, and use tools, but its goals, permissions, and boundaries are still heavily determined by humans.…

  • Written with OpenAI Codex Authentication systems often store users in two places: That arrangement works well until the two systems disagree. We recently found an edge case where a Clerk user still existed, but the corresponding Prisma User row did not. The user remained authenticated, yet their application account became unusable. The redirect loop Every…

  • This blog post was drafted with ChatGPT and edited manually. The same AI conversation was used to help find the public Bixby launch activity. Samsung’s Bixby isn’t as straightforward to launch programmatically as a normal Android app. In this session, we used ADB (Android Debug Bridge) to inspect Bixby’s internal activities, determine which ones were visible, and…

  • This blog post was drafted with ChatGPT Codex and edited manually. Login screens in React Native look simple from the outside: a couple of TextInput components, a button, maybe a password reset link. In practice, they sit right where app code meets native platform behavior. Keyboard return keys, password managers, one-time code suggestions, font rendering,…

  • We added health checks to a .NET app so we can quickly verify whether the API is running and whether it can reach its PostgreSQL database. The final result is a /health endpoint that returns structured JSON. First, we added the health check packages to the project: AspNetCore.HealthChecks.NpgSql gives us a PostgreSQL-specific health check. AspNetCore.HealthChecks.UI.Client…

  • Note: After further testing, we determined that simply updating ninja.exe bypasses the path length issue (as well as enabling long paths using the PowerShell command below). However, following these steps and using this code will reduce warnings in the terminal when building a React Native / Expo / Android app on Windows. Android/React Native uses…

  • Welcome!

    This is my new software engineering blog. Thanks for visiting! I plan to focus on topics I learn in my internship and mentorships.