Introducing my new blog where I'll share insights on software engineering, web development, and building scalable systems.

How I (tried to) recreated the iOS Messages invisible ink effect using React, Canvas, and a particle system

How I built a fast, customizable map widget with Google Sheets integration to help a nonprofit community share accessible resources — no API keys or vendor lock-in required.
Introducing my new blog where I'll share insights on software engineering, web development, and building scalable systems.

How I (tried to) recreated the iOS Messages invisible ink effect using React, Canvas, and a particle system

How I built a fast, customizable map widget with Google Sheets integration to help a nonprofit community share accessible resources — no API keys or vendor lock-in required.
Welcome to my blog! This is where I'll be sharing my thoughts, experiences, and insights on software engineering, web development, and building scalable systems.
I'll be covering a wide range of topics including:
Here's a quick example of what kind of content you can expect:
export default function handler(req: Request) {
return new Response(
JSON.stringify({ message: 'Hello from the blog!' }),
{
headers: { 'content-type': 'application/json' }
}
);
}Feel free to reach out on LinkedIn if you have questions or topics you'd like me to cover!
Welcome to my blog! This is where I'll be sharing my thoughts, experiences, and insights on software engineering, web development, and building scalable systems.
I'll be covering a wide range of topics including:
Here's a quick example of what kind of content you can expect:
export default function handler(req: Request) {
return new Response(
JSON.stringify({ message: 'Hello from the blog!' }),
{
headers: { 'content-type': 'application/json' }
}
);
}Feel free to reach out on LinkedIn if you have questions or topics you'd like me to cover!