Adding Computed Properties to Astro Content Collections
For my portfolio website, I use Astro’s Content Collections to generate HTML from static Markdown files. But when I wanted to enrich my static content with dynamic data I came across an issue.
Lessons from both success and failure
I’m documenting these ongoing reflections as both a resource for peers and a window into my current focus, for anyone curious about the topics I’m exploring.
For my portfolio website, I use Astro’s Content Collections to generate HTML from static Markdown files. But when I wanted to enrich my static content with dynamic data I came across an issue.
Today, I built a client for a third-party HTTP API. Since we access the API with multiple requests in parallel, we needed a way to send only one authorization request first, wait across all other requests, and share the returned access token with all waiting requests once it’s available.
Key takeaways from today’s MongoDB Developer Day regarding schema modeling in relational databases vs MongoDB.
By default, LLMs are limited to the knowledge baked into them during the training process. Retrieval-augmented generation (RAG) is a concept to overcome this limitation by giving the LLM access to up-to-date datasets.
We use Pactflow for contract testing. It allows us to ensure that APIs we rely on don’t break the API schema. In our case, it’s about the schema of Kafka topics we consume.
Sending an HTTP request to https://httpbin.org/headers will return all request headers sent which is handy for debugging HTTP clients.
When integrating a third-party Web Component in our Next.js application, we couldn’t make use of SSR at all, which lead to a significant drop in performance metrics like INP and LCP. The component relies on the Shadow DOM API which is not supported in server-side environments.
A rendering performance improvement we introduced a while ago now turned out to have a serious negative impact on our CLS score. It had almost no impact on lab data, but caused our real user data to be highly unstable.
Today, I joined an exciting discussion about when to use MongoDB vs Postgres by Franck Pachot at IntelliJ IDEA Conf 2025.
GraalVM supports polyglot programming. It offers tools to run python or javascript code inside a spring boot application, for example.
This could be useful to make use of libraries that are not available for our target platform.
CSS perspective and translateZ do not work when view-transition-name is applied (similar to overflow: hidden).
Creating a new index in MongoDB and using this index for queries should be split into two separate deployments.
Switching from Node.js v20.11.1 to v22.12.0 in our Next.js application improved our requests per second metric by ~2 - 4%.
By default, NodeCache clones cached items on retrieval. While this is fine for primitive data, it showed a serious performance hit for us on complex data. Cloning deeply nested objects proved to be a CPU heavy operation. The feature can be disabled like so:
Our team brought together the core principles of our successful collaboration.
Today, after deploying a change to production, we noticed that the amount of running instances dropped to a level that could barely handle our current traffic.
To protect our website from spontaneous heavy loads, like DDoS attacks, we introduced a circuit breaker in front of our Next.js application.
Main-branch development can work!
For CSS animations, if the INP (Interaction to Next Paint) metric is important, animate transform and opacity only!
In the GrowthBook-React SDK, it’s important to use the right hook for retrieving a feature depending on its configuration in GrowthBook:
The Page Object Model pattern makes frontend integration tests via Playwright or Cypress super clean and easy-to-read.