Skip to content
NWDE

Back to the portfolio

Stack

What runs behind the products

This page lists only technology that is actually in use. Open any section if you want the details.

The short overview is enough for a quick scan.

01 · 3 areas

What people see

Website, app and public pages.

Website and web app

React 19 and Vite for the website, community, blog and admin.

  • React 19
  • Vite
  • React Router
  • TipTap
  • Leaflet
Read more
How it is built
Public pages and the signed-in area run in one React application. Content that should be found is generated as HTML during the build.
How it works together
Website and app use the same copy and product data.
My part
I define the structure and user journeys and check them in the browser.

Mobile app

React Native and Expo for the Android app on the Play Store.

  • React Native
  • Expo
  • Play Billing
  • Google Sign-In
Read more
How it is built
The app uses the same API as the website. Interface changes can be released without a new store package.
How it works together
Web and app use the same accounts, content and offers.
My part
I decide what belongs in the app and test the published user journeys.

Findability

HTML, sitemap and structured data for Google and AI search.

  • Prerendering
  • Sitemap
  • hreflang
  • JSON-LD
  • IndexNow
Read more
How it is built
Public pages are served as complete HTML. German and English pages have their own URLs and point to each other.
How it works together
Technology, content and page structure are published together.
My part
I decide which pages should be public and check how they appear in search.

02 · 5 areas

What works in the background

API, data, chat and connected services.

API and product logic

TypeScript, Hono and Cloudflare Workers as one backend.

  • TypeScript
  • Hono
  • Cloudflare Workers
  • Webhooks
Read more
How it is built
Website and app talk to one central API. It handles sign-in, profiles, groups, moderation, payments and connected services.
How it works together
One API serves the website, app and connected products.
My part
I describe the rules and workflows that the backend has to implement.

Hosting and files

Cloudflare for the website, API, images and file storage.

  • Cloudflare Pages
  • Cloudflare Workers
  • Cloudflare R2
  • Cloudflare Images
Read more
How it is built
Pages serves the website and Workers runs the API. Images and larger files are stored separately from the application code.
How it works together
Website, API and files can be updated independently.
My part
I decide where content belongs and which part is released separately.

Data and storage

Cloudflare D1 for structured data, R2 and Images for files.

  • Cloudflare D1
  • SQLite
  • Cloudflare R2
  • Cloudflare Images
Read more
How it is built
Accounts, profiles, groups and product data live in relational databases. Photos and downloads are stored as files.
How it works together
The API connects records with their images and files.
My part
I decide what data a product needs and which products stay separate.

Chat and voice

Durable Objects for messaging, LiveKit for voice channels.

  • Durable Objects
  • WebSockets
  • LiveKit
  • Push
Read more
How it is built
Chat rooms and direct messages are delivered in real time. Voice channels connect web and app through LiveKit.
How it works together
Chat, direct messages, voice and notifications form one communication area.
My part
I define the user journeys and the split between rooms, messages and notifications.

Connected services

Events, email, support and payments through APIs and webhooks.

  • DarkIndex
  • Resend
  • PulseDesk
  • Mollie · PayPal · Play
Read more
How it is built
The API exchanges data with external and in-house services. The website only shows the results of these connections.
How it works together
The API is the common access point for all connected services.
My part
I decide which connection improves a real workflow.

03 · 2 areas

Signing in and paying

Accounts, protection and payments.

Sign-in and protection

Sessions, Google OAuth, bot protection and moderated uploads.

  • Sessions
  • Google OAuth
  • Cloudflare Turnstile
  • Roles and permissions
  • Photo review
Read more
How it is built
Sign-in and permissions are checked centrally by the API. Public registration, internal tools and uploaded content use separate levels of protection.
How it works together
The API decides which data and features an account may use.
My part
I define roles, approvals and moderation paths; specialist reviews belong with specialists.

Payments

Mollie and PayPal on the web, Play Billing in the Android app.

  • Mollie
  • PayPal
  • Play Billing
  • Webhooks
Read more
How it is built
One shared product catalogue keeps offers and names aligned across the website and app.
How it works together
Product page, checkout and account status use the same catalogue.
My part
I define offers and user-facing copy and check the full purchase journey.

04 · 4 areas

Building and keeping it running

Implementation, tests, releases and daily jobs.

Development with AI

Cursor for implementation, clear requirements and product review.

  • Cursor
  • Requirements
  • Code repository
  • Sign-off
Read more
How it is built
I describe the goal, rules and limits. AI implements the code; I then check the result in the browser and app.
How it works together
Requirements, implementation and review remain one continuous workflow.
My part
I hold product responsibility and decide what gets published.

Automation

Scheduled jobs for notifications, content and administration.

  • Scheduled Workers
  • Notifications
  • Data maintenance
  • Reconciliation
Read more
How it is built
Repeating work runs as background jobs instead of daily manual work.
How it works together
Background jobs use the same API and product rules as the website and app.
My part
I identify repeated work and decide what is useful to automate.

Testing and sign-off

Vitest, SQLite integration tests and manual checks of user journeys.

  • Vitest
  • SQLite tests
  • TypeScript
  • Browser and emulator
Read more
How it is built
Automated tests cover important API rules. I also check the website and app from a user's point of view.
How it works together
Automated tests and visible sign-off complement each other.
My part
I prioritise critical journeys and check whether the result works for users.

Releases

Cloudflare for web and API, Expo for app updates.

  • Vite build
  • Wrangler
  • Expo Updates
  • Play Store
Read more
How it is built
Website, API and app are built and released separately. One area can be updated without shipping the others again.
How it works together
Each delivery path has its own build and matching check.
My part
I approve releases and check the visible result afterwards.

The overview

How it all fits together.

DarkSwipe is the central product. Website and app belong together and use the same accounts and content. Payments, events, support and Schattenplan connect to it.

  • Browserpublic and signed-in pages
  • WebsiteReact + Vite
  • Mobile appExpo + React Native
  • PagesHTML and files
  • DarkSwipeWebsite · app · API
  • Play StoreAndroid
  • DarkIndexEvents
  • PaymentsMollie · PayPal · Play
  • DataD1 · R2 · Images
  • Support & emailPulseDesk · Resend
  • Schattenplanseparate product

Connections