# Thoughts & Stories: 98 / 136

> Sharing my experiences, learnings, and adventures in tech and beyond.

URL: https://www.matthewswong.com/en/blog/page/98/

- [GitHub Actions Caching Strategies That Actually Cut CI Minutes](https://www.matthewswong.com/en/blog/github-actions-caching-strategies/)
- [Uptime Kuma: Self-Hosted Uptime Monitoring That Just Works](https://www.matthewswong.com/en/blog/self-hosted-uptime-kuma-monitoring/)
- [Event-Driven Architecture: When NOT to Use It](https://www.matthewswong.com/en/blog/event-driven-architecture-when-not-to/)
- [PostgreSQL Indexing in Practice: B-tree, GIN, and Partial Indexes](https://www.matthewswong.com/en/blog/postgres-indexing-practical-guide/)
- [Idempotency Keys: Designing APIs That Survive Retries](https://www.matthewswong.com/en/blog/idempotency-keys-api-design/)
- [Reliable Background Jobs with BullMQ and NestJS](https://www.matthewswong.com/en/blog/background-jobs-bullmq-nestjs/)

---

- HTML version: https://www.matthewswong.com/en/blog/page/98/
- Bahasa Indonesia: https://www.matthewswong.com/id/blog/page/98/
- Site index for agents: https://www.matthewswong.com/llms.txt
- Sitemap: https://www.matthewswong.com/sitemap.xml
- API description (OpenAPI): https://www.matthewswong.com/openapi.json
