Skip to content

Hi, I'm Albert Adler

I am an engineer who likes to build products, and I use this site to talk about how I scale them and get happy users.

I am a developer from Spain. I have been building software for years as a freelancer and contractor, helping startups ship their SaaS products, mobile apps and all kinds of projects.

Below you will find a timeline with the products and open-source libraries I have launched, the notable releases I ship for them, and the changes to this site.

Read the blog GitHub X

Timeline

Things I have launched, shipped and changed.

2026

  1. Release

    expo-stable-id v2.0.4: Expo SDK 58 support

    expo-stable-id now supports Expo SDK 58, with updated dependencies and the open security alerts resolved.

    In the same sweep I shipped maintenance releases for the rest of my libraries: make-url, color-to-hsla, react-aurora-background, tailwind-dot-grid-backgrounds, expo-cloud-settings, expo-native-toast and icon-composer-mcp. They bring dependencies up to date and fix every open security advisory.

    Read the release notes : expo-stable-id v2.0.4: Expo SDK 58 support @nauverse/expo-stable-id on npm

  2. This site

    Rebuilt this site for search engines and AI agents

    Upgraded the site to Astro 7 and swapped the toolchain for Vite+, with oxlint and oxfmt replacing Biome. Installs now go through Bun’s supply-chain protections: a minimum release age and a security scanner on every install.

    The blog moved back from Notion to plain Markdown in the repo, so images never expire and there are no build secrets anymore.

    Every page now has a Markdown twin (append index.md to any URL), and there is an llms.txt, a full schema.org graph that ties the site to all my profiles, and a new generated Open Graph image per page. It scores 100 in every Lighthouse category and ships under 3 KB of JavaScript.

  3. Launch

    Released astro-bun, a Bun-native Astro adapter

    I wanted to run Astro on Bun without a Node compatibility layer in the middle, so I built my own adapter for Astro 7.

    It is static-first, with opt-in SSR where you need it, and opt-in ISR with stale revalidation, invalidation helpers and a persistent SQLite cache.

    It also handles the server side properly: native static serving, Brotli/gzip precompression, TLS, Unix sockets, Linux worker supervision, SSE timeout controls, authenticated WebSocket endpoints and experimental HTTP/2.

    By v0.1.4 every release is published through npm trusted publishing with signed provenance, and the GitHub release is created automatically.

    Read more about Released astro-bun, a Bun-native Astro adapter Show less about Released astro-bun, a Bun-native Astro adapter

    Check it out on GitHub : Released astro-bun, a Bun-native Astro adapter @nauverse/astro-bun on npm

  4. Launch

    Released Icon Composer MCP

    A local MCP server so AI agents can create, inspect, revise and render editable Apple Icon Composer documents.

    It arranges SVG or PNG artwork into layers, materials, fills and dark variants, and renders native iOS and macOS previews in six appearances using Apple’s own renderer.

    It works with Claude Code, Claude Desktop, Codex, Cursor and VS Code, and ships with 58 automated tests and explicit workspace boundaries.

    Check it out on GitHub : Released Icon Composer MCP

2025

  1. This site

    Enhanced Blog with Notion CMS

    Enhanced Blog with Notion CMS

    I was getting tired of writing blog posts in markdown files. Sure, it works, but managing images was a pain and I wanted a better writing experience.

    So I decided to move the blog to use Notion as the CMS. Now I can write posts with a proper rich editor, upload images directly, and focus on writing instead of file management.

    So, basically, it fetches posts from Notion’s API and transforms them for static generation. I also added proper categorization with category-based URLs like /blog/[category]/[slug]/ which makes much more sense (and hopefully more SEO friendly).

    I also switched to Shiki (well, I was not using any before, so not really a switch) and now code blocks look much better - with a header with the used language, a copy button, and support for tons of languages including Python, TypeScript, you name it.

    Finally, I fixed those annoying layout shifts when images load by fetching their dimensions server-side. The little details matter (plus Google Search Console was complaining about it all the time…)

    Read more about Enhanced Blog with Notion CMS Show less about Enhanced Blog with Notion CMS
  2. This site

    Moved to Astro

    Moved to Astro

    I decided to move this blog to Astro, now it is a static site, it does not ship any JavaScript and it is much faster.

    I am using Cloudflare Pages as a hosting service, making it free and even faster.

    Also, I am taking advantage of Astro plugins to generate things like sitemap, RSS feed and even the OG images for social media and even for accessibility (everything should be accessible now in this website).

    Finally, this allows me to just write the content in Markdown and not worry about the rest (I am also able to use MDX in case I want to use some components here and there). I am also playing with the idea of using some headless CMS in the future.

    Read more about Moved to Astro Show less about Moved to Astro
  3. This site

    Upgraded this blog to Next.js 15 & SSG

    Upgraded this blog to Next.js 15 & SSG

    This blog was running on Next.js 14 and SSR in Cloudflare Pages but I felt it was a waste of resources since all the content was static.

    Since it was time to upgrade to Next.js 15 and React 19, I decided to also migrate it to be fully static.

    When using Cloudflare Pages for non-static sites, every request made to the server (even requests to static resources like images) go first through a worker so each page load could be much more requests than 1 for your free requests count in Cloudflare.

    I didn’t like it so I decided to migrate to SSG and now the site is much faster and it is basically free to run since static resources are free to host in Cloudflare Pages.

    Read more about Upgraded this blog to Next.js 15 & SSG Show less about Upgraded this blog to Next.js 15 & SSG

2024

  1. Launch

    Built a boilerplate for SST v3, Next.js and SST Auth

    Built a boilerplate for SST v3, Next.js and SST Auth

    The project had the goal of showcasing how to use the new version of SST with Next.js and the new SST Auth library.

    I did this since right now, the new version of SST was launched, but the docs for the SST Auth in that version didn’t exist yet; so I wanted to create a basic example for everyone until the official docs and examples were out.

    It was a fun adventure, diving into undocumented source code, testing, trying, breaking and trying again until it worked. But the efforts paid off and the result is here, a working example!

    Check it out on GitHub : Built a boilerplate for SST v3, Next.js and SST Auth

  2. Launch

    Created a new public Docker image for a BullMQ dashboard

    Created a new public Docker image for a BullMQ dashboard

    I was tired of having to build all the time some small webserver to have a BullMQ dashboard running. So I had the idea of looking for a Docker image already created for it in the Docker Hub.

    Sadly, the only image I found there was not really “production-ready”. It had almost no security, it was really outdated, no logs…

    I thought about pushing an update to the repo but I saw that it was really inactive, with no one answering multiple issues and pull requests. So… I had to build my own one!

    At first, I thought about forking it and just update the stuff I needed. But it was more work than building it in the right way from zero.

    So now we have a new Docker image containing a production-ready, heavily optimized and secure web server containing a dashboard for monitoring Bull and BullMQ queues.

    It has lots of features like some basic authentication, CSP policies, privacy compliance, informative logs and it is running with Bun and Elysia, for the best performance!

    For all the details and also to check the documentation, feel free to check the GitHub repo (also I am open for contributions!): Bull Board Dockerized

    P.S: It has some really nice GitHub actions so when I push to the main branch a new release, a new release is generated with semver version codes and then a new multi platform Docker build is published to Docker Hub with the semver and latest tags!

    Read more about Created a new public Docker image for a BullMQ dashboard Show less about Created a new public Docker image for a BullMQ dashboard

    Check it out on Docker Hub : Created a new public Docker image for a BullMQ dashboard

  3. This site

    Created this site

    Created this site

    With this entry, I started my new website. Although the design is not final (when is it?), I am trying to focus on making it minimalist and accessible.

    I like to build beautiful front-ends but everything has its time, and for this website, at least for now, I don’t need a website with lots of animations, or cool effects… I just want a place where I can post little articles about things I find interesting and also a place where I can have a timeline showcasing my projects.

    And this version accomplishes both things. So we are ready to start. 🫡

2023

2022