seifashraf.tech

Full-Stack-Entwickler · Backend-Schwerpunkt · Kairo

Komplette Apps auf Backends, die dich nicht wecken um 3 Uhr nachts.

Ich bin Seif. Ich baue das Ganze: das Datenmodell, die API, die Oberfläche, die Menschen wirklich benutzen, und das Deployment, das alles am Laufen hält. Bisher elf Apps und Websites in Produktion, für Teams in Saudi-Arabien, Ägypten und Frankreich.

Erzähl mir von deinem Projekt Lebenslauf herunterladenoder
Zeit in Kairo––:––_
letzter Pushcps vor 4 Tagen
Antwortzeitinnerhalb von 24 Stunden
Statusoffen für Projekte und Stellen

Was ich baue, grob gesagt

HTTPSfetchSQLenqueuewebhooksconsumewritesend · uploadDeine NutzerWeb · Mobil · AR/EN/FRNext.jsSSR · RTL · SEO-SeitenNext.jsReactTailwind CSSAPINestJS · Node · ZodNestJSNode.jsZodPostgreSQLDrizzle · MigrationenPostgreSQLDrizzleRedis + BullMQJobs · Retries · CronRedisBullMQStripe · S3 · ResendAufrufe raus, Webhooks reinStripeAmazon S3ResendWorkerBullMQ-Consumer

Diagramm wischen →

So sehen die meisten Systeme aus, die ich liefere. Dunkle Punkte sind Requests, farbige Punkte Antworten und Webhooks. Fahre über einen Kasten oder sende einen Request.

Ausgewählte Arbeiten · 11 Live-Websites

Live, in Produktion, genau jetzt.

Das sind die echten Websites, direkt in dieser Seite geladen. Gerät wechseln, Sprache umschalten, herumstöbern.

lov.build8.dev
Lov homepage

01 / 11

Lov

Plattform für logopädische Diagnostik, Frankreich

lov.build8.dev

Französische Logopädie-Plattform: NestJS-API auf PostgreSQL mit Drizzle, BullMQ-Job-Queues auf Redis, Stripe-Abrechnung, S3-Speicher und eine Next.js-Web-App mit gemeinsamen Zod-Verträgen in einem Turborepo-Monorepo mit Docker-Infrastruktur.

NestJSNestJSPostgreSQLPostgreSQL + DrizzleRedisBullMQ + RedisStripeStripeNext.jsNext.jsTurborepoTurborepo

Backend-Systeme

Private APIs, die ich entworfen und betrieben habe. Keine öffentliche URL, also hier, was sie tun. Fahre über eine.

  • CRMPro

    Mandantenfähige B2B-CRM-Plattform

    NestJSNestJSPostgreSQLPostgreSQLRedisRedisBullMQBullMQ
    • Mandantenfähige NestJS-API mit gemeinsamer Datenbank, getrennten Mandanten- und Admin-Ebenen, RBAC und planabhängigen Kontingenten.
    • BullMQ-Import/Export-Worker mit atomarem Claim/Reclaim; 90 API-Spezifikationen, Massenverarbeitung bis 500 Leads.
    NEST · POSTGRES · REDIS · BULLMQ
  • Voclio

    Produktivitäts-API: Sprache zu Aufgabe

    Node.jsNode.jsRedisRedisBullMQBullMQ
    • Zwei-Prozess-Express-API und BullMQ-Worker für Sprache → Transkription → LLM-Extraktion, mit synchronem Fallback.
    • Google-Kalender-OAuth mit AES-256-GCM-Token-Verschlüsselung und zeitzonenbewussten Fälligkeiten.
    NODE · REDIS · BULLMQ
  • Field Capture

    Außendienst und Personalabrechnung

    StripeStripeAmazon S3Amazon S3DockerDocker
    • Portale mit mehreren Rollen, Stripe-Connect-Überweisungen, Deduplizierung von Auszahlungsperioden und S3-Uploads bis 500 MB.
    • Deployments per GitHub Actions auf AWS EC2 mit Prisma migrate, PM2 und Caddy TLS.
    STRIPE · AWS · DOCKER
  • Rabet

    Pay-per-Lead-Marktplatz

    NestJSNestJSPostgreSQLPostgreSQL
    • Kunden-, Anbieter- und Admin-APIs mit freischaltbarer Kontaktvertraulichkeit und einem unveränderlichen Wallet-Ledger.
    • Transaktionales Anbieter-Onboarding und JWT-Refresh-Sitzungen mit Logout-all-Widerruf.
    NEST · POSTGRES

Arbeitsnotizen

Wie ich über die Arbeit denke.

Überzeugungen, für die ich bezahlt habe. Wenn du einer widersprichst, ist das ein guter Anfang für ein erstes Gespräch.

PostgreSQLDrizzle

Postgres, bis es wehtut.

Es tut selten weh. Die meisten Produkte brauchen nie etwas anderes; sie brauchen Indizes, eine Migrationsroutine und jemanden, der den Query-Plan liest.

Beleg · Lov, CRMPro und Rabet laufen alle auf einem Postgres mit Drizzle- oder Prisma-Migrationen.

Kontakt

Erzähl mir, was du baust.

Ein Projekt, eine Stelle oder eine Frage zu etwas oben. Ich lese jede Nachricht selbst und antworte innerhalb von 24 Stunden.

Oder das Formular überspringen

contact@seifashraf.tech
Lebenslauf (PDF)
Es geht um
Welche Art von Sache
Budget (USD)
Zeitrahmen
Wie hast du mich gefunden? (optional)

Kein Newsletter, kein Spam. Nur eine Antwort.

Reden wir