---
title: "Albert Adler: engineer building products"
description: "I am an engineer who likes to build products, and I use this to talk about how I scale and get happy users."
canonical: https://albertadler.com/
author: "Albert Adler"
---

# Albert Adler

> Engineer who likes to build products

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.

## Elsewhere

- [X (@IAmAlbertAdler)](https://x.com/IAmAlbertAdler)
- [GitHub (TheNaubit)](https://github.com/TheNaubit)
- [Medium (@AlbertAdler)](https://medium.com/@AlbertAdler)
- [Substack (albertadler)](https://albertadler.substack.com/)
- [YouTube (@HeyAlbertAdler)](https://www.youtube.com/@HeyAlbertAdler)

## Latest posts

- [How to update an expired Personal Access Token (PAT) in Git?](https://albertadler.com/blog/guides/how-to-update-an-expired-personal-access-token-in-git/) (2025-04-03): A quick guide to update an expired Personal Access Token in a non-destructive way using Git CLI.
- [How to solve the ReferenceError Document is not defined issue?](https://albertadler.com/blog/guides/referenceerror-document-is-not-defined-react-router-7-mantine-cloudflare-workers/) (2025-03-30): The quick fix to make work React Router 7, Mantine and Cloudflare Workers all together.

## Timeline

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

November 8, 2026 · Release v2.0.4

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](https://github.com/TheNaubit/expo-stable-id/releases/tag/v2.0.4) · [@nauverse/expo-stable-id on npm](https://www.npmjs.com/package/@nauverse/expo-stable-id)

### Rebuilt this site for search engines and AI agents

November 8, 2026 · This site

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.

### Released astro-bun, a Bun-native Astro adapter

October 19, 2026 · Launch

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.

[Check it out on GitHub](https://github.com/TheNaubit/astro-bun) · [@nauverse/astro-bun on npm](https://www.npmjs.com/package/@nauverse/astro-bun)

### color-to-hsla v2.0.0: a CSS Color 4 rewrite

September 30, 2026 · Release v2.0.0

The parser now understands **every CSS color syntax**, follows CSS Color 4 more closely, runs in linear time and exports its public types.

[Read the release notes](https://github.com/TheNaubit/color-to-hsla/releases/tag/v2.0.0) · [@nauverse/color-to-hsla on npm](https://www.npmjs.com/package/@nauverse/color-to-hsla)

### make-url v2.0.0: rewritten URL assembly

September 30, 2026 · Release v2.0.0

Rewrote how URLs are assembled to fix slashes, hosts, encoding and params, and **hardened it**: param values can no longer traverse the path or become the host, and opaque URLs, backslash hosts and international domains are handled correctly.

[Read the release notes](https://github.com/TheNaubit/make-url/releases/tag/v2.0.0) · [@nauverse/make-url on npm](https://www.npmjs.com/package/@nauverse/make-url)

### react-aurora-background v2.0.0: a WebGL aurora

September 30, 2026 · Release v2.0.0

The aurora is now drawn by **one tiny WebGL shader** rendered at low resolution instead of blurred CSS elements. It pauses when off-screen, recovers evicted GPU contexts, follows page colors, and shows a still aurora when the user prefers reduced motion.

[Read the release notes](https://github.com/TheNaubit/react-aurora-background/releases/tag/v2.0.0) · [@nauverse/react-aurora-background on npm](https://www.npmjs.com/package/@nauverse/react-aurora-background)

### tailwind-dot-grid-backgrounds v2.0.0: pure CSS for Tailwind v4

September 30, 2026 · Release v2.0.0

Rewrote the plugin as **pure CSS for Tailwind CSS v4**. Size utilities now accept CSS variables and decimal opacity, and custom theme values generate valid utilities. The 1.x line stays available for Tailwind v3.

[Read the release notes](https://github.com/TheNaubit/tailwind-dot-grid-backgrounds/releases/tag/v2.0.0) · [@nauverse/tailwind-dot-grid-backgrounds on npm](https://www.npmjs.com/package/@nauverse/tailwind-dot-grid-backgrounds)

### Released expo-native-toast

September 29, 2026 · Launch

Native toasts for Expo. On iOS they are built with SwiftUI and **Liquid Glass** (and grow out of the Dynamic Island), and on Android they are a Material Snackbar.

Each toast plays a semantic haptic and **announces itself to the screen reader**, because accessibility should not be an afterthought.

[Check it out on GitHub](https://github.com/TheNaubit/expo-native-toast) · [@nauverse/expo-native-toast on npm](https://www.npmjs.com/package/@nauverse/expo-native-toast)

### Released Icon Composer MCP

September 5, 2026 · Launch

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](https://github.com/TheNaubit/icon-composer-mcp)

### Started Awesome React Native

February 7, 2026 · Launch

A curated list of **React Native and Expo** component libraries, tools, news and learning material. Contributions are welcome.

[Check it out on GitHub](https://github.com/TheNaubit/awesome-react-native)

### expo-stable-id v2.0.0: now a pure JS module

February 7, 2026 · Release v2.0.0

Removed the App Transaction ID feature (use `expo-app-integrity` for that) and dropped the native code, so the library is now **a pure JavaScript module**.

[Read the release notes](https://github.com/TheNaubit/expo-stable-id/releases/tag/v2.0.0) · [@nauverse/expo-stable-id on npm](https://www.npmjs.com/package/@nauverse/expo-stable-id)

### Released expo-cloud-settings

February 6, 2026 · Launch

An Expo module wrapping Apple's `NSUbiquitousKeyValueStore` for **iCloud key-value sync across devices**.

It has a hooks-first React API with change listeners, a config plugin so you don't touch Xcode entitlements, and an Android no-op so the same code runs on both platforms.

[Check it out on GitHub](https://github.com/TheNaubit/expo-cloud-settings) · [@nauverse/expo-cloud-settings on npm](https://www.npmjs.com/package/@nauverse/expo-cloud-settings)

### Released expo-stable-id

February 6, 2026 · Launch

A persistent, **cross-device user identifier** for Expo, ported from the Swift StableID library.

It keeps the ID in two places: iCloud key-value storage, so it syncs across devices, and the Keychain or Android Keystore, so it **survives app reinstalls**.

[Check it out on GitHub](https://github.com/TheNaubit/expo-stable-id) · [@nauverse/expo-stable-id on npm](https://www.npmjs.com/package/@nauverse/expo-stable-id)

### Enhanced Blog with Notion CMS

July 4, 2025 · This site

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...)

### Moved to Astro

March 30, 2025 · This site

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.

### Upgraded this blog to Next.js 15 & SSG

February 1, 2025 · This site

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.

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

August 20, 2024 · Launch

The project had the goal of showcasing how to use the new version of [SST](https://sst.dev) 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](https://github.com/TheNaubit/nextjs-sst-ion-auth-example)

### Created a new public Docker image for a BullMQ dashboard

June 30, 2024 · Launch

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](https://github.com/TheNaubit/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!

[Check it out on Docker Hub](https://hub.docker.com/r/nauverse/bull-board)

### Created this site

June 3, 2024 · 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. 🫡

### Released color-to-hsla

May 20, 2024 · Launch

A tiny, **dependency-free** TypeScript library to convert any CSS color into HSLA.

[Check it out on GitHub](https://github.com/TheNaubit/color-to-hsla) · [@nauverse/color-to-hsla on npm](https://www.npmjs.com/package/@nauverse/color-to-hsla)

### Released tailwind-dot-grid-backgrounds

April 16, 2024 · Launch

A tiny Tailwind plugin to add **customizable dot and grid backgrounds** fast. It is my most starred open-source project so far.

[Check it out on GitHub](https://github.com/TheNaubit/tailwind-dot-grid-backgrounds) · [@nauverse/tailwind-dot-grid-backgrounds on npm](https://www.npmjs.com/package/@nauverse/tailwind-dot-grid-backgrounds)

### Released make-url

March 5, 2024 · Launch

A tiny, **dependency-free URL builder** for TypeScript and JavaScript: path params, query params, hashes, protocols and slashes handled for you.

[Check it out on GitHub](https://github.com/TheNaubit/make-url) · [@nauverse/make-url on npm](https://www.npmjs.com/package/@nauverse/make-url)

### Published my Next.js boilerplate

September 18, 2023 · Launch

The small Next.js 13 (App Router) boilerplate I like to start my projects with: Tailwind, themes, Playwright E2E tests, Prettier, ESLint and conventional-commit hooks, and **no UI kit forced on you**.

[Check it out on GitHub](https://github.com/TheNaubit/nau-nextjs-boilerplate)

### Published a minimal Express + Zod API boilerplate

April 7, 2023 · Launch

My opinionated, minimal API starter: type-safe with Zod, **OpenAPI 3 docs and a typed client generated from the routes**, path aliases, hot reload, and a multi-stage production Dockerfile with PM2.

[Check it out on GitHub](https://github.com/TheNaubit/Minimal-Express-Zod-Api-Boilerplate)

### Published a Hardhat template for smart contract audits

March 14, 2023 · Launch

A Hardhat + TypeScript boilerplate for **Solidity audits and proof-of-concept exploits**: typed contracts, Prettier for scripts and contracts, gas reports, recommended auditing plugins, and one-click runs from VS Code.

[Check it out on GitHub](https://github.com/TheNaubit/nau-hardhat-typescript-auditor-template)

### Released react-aurora-background

December 8, 2022 · Launch

A lightweight, customizable **aurora background component** for React.

[Check it out on GitHub](https://github.com/TheNaubit/react-aurora-background) · [@nauverse/react-aurora-background on npm](https://www.npmjs.com/package/@nauverse/react-aurora-background)
