Skip to content

Work

What we have built

Three products of our own, all in operation. Not a client portfolio — what is here you can touch, and the source code sits beside it.

A2 Apex
Tenant platformin operation

Every customer gets a workspace on its own address, with runtimes for models and assistants that work with them. An OpenAI-compatible API to the outside.

What was built

  • Tenant separation that is mandatory in every query — never optional
  • Runtime credentials encrypted at rest and bound to their own row
  • Rate limiting as a sliding window in Redis, atomic in one round trip
  • Token accounting per request — the basis for later billing
  • Models run in containers on your own hardware, not at a vendor

Technology

  • Next.js 16
  • PostgreSQL
  • Drizzle
  • Better Auth
  • Redis
  • Docker
  • AI SDK 7

From the source

Rate limiting: a sliding window, atomic
local jetzt = redis.call('TIME')
local ms = tonumber(jetzt[1]) * 1000 + math.floor(tonumber(jetzt[2]) / 1000)
local fenster = tonumber(ARGV[1])
local grenze = tonumber(ARGV[2])

redis.call('ZREMRANGEBYSCORE', KEYS[1], 0, ms - fenster)
local anzahl = redis.call('ZCARD', KEYS[1])

if anzahl >= grenze then
  local aeltester = redis.call('ZRANGE', KEYS[1], 0, 0, 'WITHSCORES')
  return { 0, math.ceil((tonumber(aeltester[2]) + fenster - ms) / 1000) }
end

redis.call('ZADD', KEYS[1], ms, ms .. '-' .. anzahl)
redis.call('PEXPIRE', KEYS[1], fenster)
return { 1, 0 }

a2-apex/lib/api-grenze.ts

A2 Lumina
Design systemVersion 1.3.2

95 components, 171 design tokens, an icon set of our own. Light and dark from one source — both projects here are built on it.

What was built

  • Colours, spacing and type as tokens, never as a number inside a component
  • `asChild` wherever a component would otherwise destroy the semantics
  • Visual checks in the build: ten overlays are opened before every release
  • Reduced motion solved once, centrally, not again in every component

Technology

  • TypeScript
  • React 19
  • Radix
  • Tailwind v4
  • tsup
  • Playwright

From the source

`asChild`: the component passes its classes to its own child
type MitAsChild = { asChild?: boolean };

export const Stack = React.forwardRef<
  HTMLDivElement,
  Div & MitAsChild & { weit?: boolean }
>(({ weit, asChild, className, ...rest }, ref) => {
  const Comp = asChild ? Slot.Root : 'div';
  return (
    <Comp
      ref={ref}
      className={cx(variante('a2-stack', weit && 'weit'), className)}
      {...rest}
    />
  );
});

A2-Lumina/react/src/layout.tsx

A2 Polaris
Websitethis site

What you are looking at. Bilingual, light and dark, with a colour field from a shader of our own and a figure that follows your pointer.

What was built

  • A fragment shader in raw WebGL — no 3D library, around 4 kB
  • A figure in three.js, built from geometry rather than loaded as a model
  • Everything heavy loads only when in view and stops when nobody is looking
  • Every page stays fully readable without JavaScript

Technology

  • Next.js 16
  • WebGL
  • three.js
  • Motion
  • Lenis
  • AI SDK 7

From the source

The colour field: noise that warps itself
// Die Verzerrung: Wohin geschaut wird, entscheidet ein zweites Rauschen.
vec2 q = vec2(fbm(p + vec2(0.0, t)), fbm(p + vec2(5.2, 1.3 - t)));
vec2 r = vec2(fbm(p + 3.0 * q + vec2(1.7, 9.2) + 0.15 * t),
              fbm(p + 3.0 * q + vec2(8.3, 2.8) - 0.12 * t));

float f = fbm(p + 2.4 * r);

vec3 c = mix(u_akzent, u_zweit, clamp(length(q) * 1.1, 0.0, 1.0));
c = mix(c, u_akzent, clamp(r.x * r.x * 1.4, 0.0, 1.0));

float staerke = clamp(pow(f, 1.4) * 3.1, 0.0, 1.0) * rand * u_staerke;
farbe = vec4(c * staerke, staerke);

a2-polaris/components/bewegung/schimmer.tsx