Jedes Werkzeug hier hat sich seinen Platz verdient.
Wir jagen Werkzeugen nicht um ihrer selbst willen hinterher. Das hier ist das Set, zu dem wir greifen, wenn etwas live gehen, skalieren und ein Jahr später immer noch Freude beim Warten machen soll, gewählt, weil es die Dinge, die zählen, schwerer falsch zu machen macht.
TypeScript
Jede Zeile, die wir ausliefern, ist typisiert. Typen sind die günstigsten Tests, die du je schreiben wirst: Sie fangen die kaputte Umbenennung, das fehlende Feld und den unmöglichen Zustand ab, bevor es ein Nutzer tut. In einer Codebasis, die ihre erste Version überdauern soll, ist dieses Sicherheitsnetz der Unterschied zwischen selbstbewusster Änderung und vorsichtigem Raten.
typescriptlang.orgReact
React ist die Art, wie wir in Oberflächen denken: kleine, ehrliche Teile, die sich zu etwas Größerem zusammenfügen und lesbar bleiben, während sie wachsen. Es ist der erprobteste Weg, eine UI im Web zu bauen, mit einem Ökosystem und einem Bewerberpool, mit dem keine Alternative mithalten kann. Wenn sich ein Produkt über Jahre weiterentwickeln muss, ist diese Beständigkeit eine ganze Menge wert.
Next.js
Next.js ist unsere Standardwahl für alles Ernsthafte. Server-Rendering für Tempo und Suchplatzierung, ein dateibasierter Router, der über hundert Routen hinaus skaliert, ohne zu Spaghetti zu werden, und eine Codebasis, die von der Marketingseite bis zum Dashboard hinter dem Login läuft. Wir kennen es tief genug, um es bis an seine Grenzen zu treiben.
nextjs.orgNode.js
Eine Sprache über den gesamten Stack. Dasselbe TypeScript, das im Browser läuft, läuft auch auf dem Server, also gibt es keinen Kontextwechsel, kein zweites Team und keine Logik, die in zwei Dialekten doppelt geschrieben wird. Für ein kleines Team, das vollständige Produkte ausliefert, ist dieses eine mentale Modell ein stiller Vorteil.
Go
Wenn ein Service schnell sein und Tausende Anfragen gleichzeitig verkraften muss, greifen wir zu Go. Es kompiliert zu einer einzigen kleinen Binärdatei ohne Runtime, die man hüten müsste, sein Nebenläufigkeitsmodell lässt parallele Arbeit selbstverständlich wirken, und es bleibt über Jahre lesbar, weil die Sprache sich weigert, clever zu sein. Ihm vertrauen wir die Backends an, die im Stillen die echte Last tragen.
AI Integration
Wir bauen mit großen Sprachmodellen so, wie wir alles andere bauen: mit Absicht. Das Schwierige ist nicht, eine API aufzurufen, sondern zu wissen, wo Intelligenz wirklich hilft und wo sie nur Latenz und Risiko hinzufügt. Wir haben echte Features auf der OpenAI-Plattform ausgeliefert und gehostete Modelle über Replicate betrieben, und wir bleiben gegenüber Kunden ehrlich, wo die Grenze zwischen nützlich und bloß beeindruckend verläuft.
PostgreSQL
Wenn Daten korrekt sein müssen, greifen wir zu Postgres. Jahrzehnte der Härtung, echte Transaktionen, JSON-Spalten, wenn du sie willst, und strikte Schemata, wenn du sie brauchst, und ein Erweiterungs-Ökosystem, das stillschweigend die Arbeit von drei anderen Diensten erledigt. Es ist die Datenbank, der wir die Dinge anvertrauen, die am meisten zählen: deine Kunden und dein Geld.
SQLite
Nicht jedes Produkt braucht einen Datenbankserver. SQLite ist eine vollständige relationale Datenbank in einer einzigen Datei, schnell und ohne Abhängigkeiten, und im Stillen die am weitesten verbreitete Datenbank der Welt. Wir greifen zu ihr, wenn die Daten nah bei der Nutzerin bleiben sollen: in einer Desktop-App, am Edge oder in einem local-first-Produkt, das auch offline weiterläuft.
Tailwind CSS
Tailwind hält das Styling ehrlich. Design-Entscheidungen leben direkt neben dem Markup, das sie betreffen, der Build liefert nur die Klassen aus, die du tatsächlich nutzt, und ein kleines Senior-Team bleibt über hundert Komponenten hinweg konsistent, ohne dass ein wucherndes Stylesheet aus dem Takt gerät. Diese Seite ist von oben bis unten damit gebaut.
tailwindcss.comVercel
Wir deployen auf Vercel, weil das Ausliefern langweilig sein sollte. Jeder Push bekommt seine eigene Vorschau-URL, jedes Release rollt sich mit einem Klick zurück, und ein globales Edge-Netzwerk bringt deine Seite nah an deine Nutzer, ohne dass wir Server mieten, die jemand betüddeln muss. Es lässt ein kleines Studio mit der Zuverlässigkeit eines viel größeren laufen.
AWS
Wenn ein Projekt den bequemen Standardeinstellungen entwächst, geht es zu AWS. Objektspeicher, der nie volläuft, Queues und Funktionen, die auf null und zurück skalieren, und dieselbe Infrastruktur, auf die sich die größten Unternehmen der Welt verlassen. Wir greifen dazu, wenn Skalierung, Reichweite oder Compliance es zum richtigen Werkzeug machen statt zum reflexhaften.
Cloudflare
Cloudflare sitzt vor den Dingen, die wir schnell und sicher brauchen. Ein globales CDN, DNS, das in Millisekunden auflöst, und eine Sicherheitsschicht, die den Verkehr abfängt, der niemals deinen Ursprung erreichen soll. Für eine Marketingseite wie für eine API ist es die günstigste Performance und der günstigste Schutz, den man für Geld bekommt.
React Native
Wenn ein Produkt auf den Homescreen gehört, lässt uns React Native es mit demselben React-Denken bauen und aus einer Codebasis nach iOS und Android ausliefern. Kein Wegwerf-Prototyp und kein zweites Team in einer zweiten Sprache, sondern eine echte App, die sich Logik mit dem Web-Produkt daneben teilt.
reactnative.devTanStack Start
TanStack Start ist die moderne Wette, die wir bereits ausliefern. Typsicheres Routing, erstklassiges Data-Loading und vollständiges Server-Rendering der Seite, gebaut von den Leuten hinter den Query- und Routing-Bibliotheken, auf die sich das gesamte React-Ökosystem schon stützt. Wir greifen bei neuen Builds dazu, wenn Router und Datenschicht durchgängig typsicher sein sollen.
Astro
Für inhaltsgetriebene Seiten, bei denen Tempo das Produkt ist, ist Astro schwer zu schlagen. Es liefert standardmäßig fast kein JavaScript aus, sodass eine Marketingseite oder eine Dokumentation selbst auf einem müden Handy sofort lädt, und setzt eine interaktive Insel nur dort ein, wo sie sich ihren Platz verdient. Wir haben BIMFab so gebaut, und es erreicht bei jedem Lighthouse-Durchlauf hohe Neunzigerwerte.
Three.js
Echtzeit-3D im Browser, von Hand in GLSL und WebGL geschrieben. Hier gibt es kein Video und nichts Vorberechnetes, nur Mathematik, die sechzig Mal pro Sekunde auf deiner Grafikkarte läuft. Alles, was sich auf dieser Seite bewegt, die Wolken, der Globus, jedes Badge oben drüber, ist so entstanden, denn ein Ding aus Licht fühlt sich anders an als ein Ding aus Pixeln.
D3.js
Wenn ein Diagramm von der Stange nicht reicht, lässt uns D3 Daten exakt zeichnen. Es ist die Maschine hinter den meisten Datenvisualisierungen, die du in der Wirtschaftspresse bewundert hast, mit Kontrolle über jede Achse, jeden Übergang und jeden Pixel. Wir greifen dazu, wenn die Geschichte, die sich in den Zahlen verbirgt, mehr verdient als ein Standard-Balkendiagramm.
Electron
Manche Werkzeuge gehören auf den Desktop, mit dem Dateisystem, nativen Menüs und einem Symbol im Dock. Electron lässt uns dorthin mit demselben Web-Stack ausliefern, sodass ein Produkt Browser und Desktop überspannen kann, ohne ein eigenes natives Team. Wir haben eine echte Electron-App gebaut und ausgeliefert, keine Webseite in Verkleidung.
Werkzeuge sind nur so gut wie die Hände, die sie halten.
Ein Stack baut kein Produkt. Urteilsvermögen tut es: zu wissen, welches Werkzeug die Aufgabe wirklich braucht und wann die langweilige, erprobte Wahl die richtige ist. Das hier ist das Set, um das herum wir uns auskennen gelernt haben, und so bauen wir Arbeit, die zählt.

