Keine Hidden Costs
Fester Scope, fester Preis. Wenn sich was ändert, sagen wir's bevor wir Hand anlegen.
Vier Phasen, klar getrennt, ehrlich kommuniziert. Keine Folienpräsentationen für die Show. Produktionsreifer Code von Tag eins. Hier ist was passiert, vom ersten Hallo bis zum Launch und danach.
Ein 30-Minuten-Call. Wir hören zu, fragen nach, schätzen ehrlich ein und sagen direkt, ob wir der richtige Partner sind. Keine Verkäufer, keine Präsentationsfolien, kein unnötiger Aufwand.
Wir fragen nicht nach deinem Budget bevor wir wissen, was du wirklich brauchst. Erst das Problem, dann der Rahmen. Wenn wir nicht der richtige Partner sind, sagen wir's und empfehlen jemanden besseren.
Was funktioniert gerade nicht und wie viele Stunden kostet es dich pro Woche?
Was würdest du messen, damit du weißt, dass es funktioniert?
Wer benutzt die Software täglich? Wer entscheidet? Wer zahlt?
Warum jetzt und nicht vor sechs Monaten?
Architektur, Stack-Entscheidungen, Datenmodell, UX-Skizzen, Aufwandsschätzung. Ein klares Dokument das du auf einem A4 ausdrucken könntest, keine 80-Seiten-Konzepte.
Wir zeigen wie das System aussehen wird, wo die Risiken liegen, welche Alternativen wir verworfen haben und warum. Du verstehst, was du baust, bevor wir eine Zeile Code schreiben.
Wir entwickeln in 1-Wochen-Sprints. Du siehst nach jedem Sprint einen lauffähigen Zwischenstand, kannst klicken, kommentieren, Richtung korrigieren. Produktionsreifer Code von Tag eins, keine „Wegwerf-Prototypen".
Jeder Sprint hat ein klares Ziel: am Ende läuft ein Stück Software auf Staging das wir gemeinsam abnehmen. Wenn was nicht passt, korrigieren wir bevor wir weitergehen, nicht erst beim finalen Review.
// Auth, Validation, DB-Write, Response. Zehn Zeilen.
// Kein Hidden-State, kein Framework-Magic.
import { Project } from "@/model"
import { db } from "@/lib/db"
import { auth } from "@/lib/auth"
export async function POST(req: Request) {
const user = await auth(req)
if (!user) return new Response("Unauthorized", { status: 401 })
const data = Project
.omit({ id: true, createdAt: true })
.parse(await req.json())
const project = await db.project.create({
data: { ...data, ownerId: user.id },
})
return Response.json(project)
}
Wir deployen, monitoren, dokumentieren. Danach optional Wartung, oder du übernimmst selbst. Der Code gehört dir, auf deinem Git, mit deinem Vercel-Account, deiner Supabase, deinen Domains.
Wir hinterlassen keine Black-Box. Jeder Endpoint dokumentiert, jeder Workflow als README, jede Decision in einem ADR. Wenn dein nächster Entwickler in einem Jahr einsteigt, versteht er das System in einer Stunde, nicht in einer Woche.
Vier Regeln die wir uns selbst gegeben haben. Wenn wir sie brechen, machst du uns drauf aufmerksam.
Fester Scope, fester Preis. Wenn sich was ändert, sagen wir's bevor wir Hand anlegen.
Dein Git, dein Vercel, deine Domains. Wir sind nicht zwischen dir und deiner Software.
Von DB bis UI. Wenn dein Compiler nichts findet, finden's deine Nutzer im Produktivbetrieb.
Ein A4 das alles erklärt. Wenn wir das nicht hinkriegen, haben wir's selbst nicht verstanden.