Type something to search...

Blog

Data Visualization in Python with Matplotlib and Seaborn

Data Visualization in Python with Matplotlib and Seaborn

Most Python plotting tutorials start with plt.plot(x, y) and plt.show(), and that works right up until you need two charts side by side, a legend

Continue Reading
Role-Based Access Control in Next.js: Protecting Pages and Server Actions

Role-Based Access Control in Next.js: Protecting Pages and Server Actions

Authentication answers "who are you?". Authorization answers "what are you allowed to do?". Most Next.js tutorials stop at the first question: once t

Continue Reading
Handling File Uploads in Next.js: Local Storage, S3, and Beyond

Handling File Uploads in Next.js: Local Storage, S3, and Beyond

File uploads look simple: a file input, a submit button, and somewhere to put the bytes. In practice, the "somewhere" decides almost everything. Writ

Continue Reading
Sending Transactional Emails from Next.js with Resend and React Email

Sending Transactional Emails from Next.js with Resend and React Email

Almost every app sends email: welcome messages, password resets, receipts, invitations, "someone replied to your comment". These transactional emails

Continue Reading
NumPy Fundamentals: Arrays, Broadcasting, and Vectorization

NumPy Fundamentals: Arrays, Broadcasting, and Vectorization

NumPy sits underneath almost all numerical Python. pandas DataFrames store their columns in NumPy-style arrays, scikit-learn takes them as input, Mat

Continue Reading
Integrating Stripe Payments into a Next.js Application

Integrating Stripe Payments into a Next.js Application

Taking payments is one of those features where the happy path is easy and the edge cases are where money goes missing. A customer closes the tab befo

Continue Reading