We build forourselves withthe same rules.
Everything here is ours: the identity, this site, and the software the studio runs on. Charter is the client and invoicing platform we got tired of renting, AdGenius is the ad production tool that came out of a client engagement. All of it is held to the same standard we sell, because there is nobody else to hand the difficult parts to.
In progress. Charter is invite-only; AdGenius is internal.
- Designed in house
- Identity, this site, bobwa.de
- Charter
- API, web, mobile, Stripe
- AdGenius
- React 19, Vite, Gemini
- Status
- Charter invite-only, AdGenius internal
There is a version of a studio that recommends tools it has never had to operate. We would rather not be that, so the things we need, we build and then run with our own money and our own pager.
It is also the honest answer to a fair question from a prospective client: show me something you own end to end, where nobody else can be blamed for the parts that did not work.
What we run
The brand, two sites, and two products, each built because we needed it.
The Digital Tide wordmark and mark, designed in house. Lowercase geometric letterforms with an equalizer wave rising under “tide”: a tide read as a signal rather than as an illustration of water.
- Wordmark and mark drawn from scratch
- Wave motif built into the letterforms, not sat beside them
- Two-tone blue system, with a mono cut for blend modes
- Vector masters kept as the source of truth
- Applied across the site, app icons and client-facing documents
- The mark is currently being reworked; the wordmark stands on its own
A client, proposal, invoicing and payments platform for small agencies, because $150 per user per month to manage a short client list is absurd. Three surfaces on one API, and money actually moves through it.
- Express API on Vercel serverless functions
- Next.js 15 web app, App Router and server components
- React Native mobile app for iOS and Android
- Clients, services, packages, invoices and contracts
- Stripe for invoice payment and subscription billing
- Signed Stripe webhooks reconciled against the database
- Multi-tenant workspaces with JWT and role-based access
An ad creative studio that produces platform-ready sizes from one design. It grew directly out of the Greedy engagement: once the manual production system existed, the mechanical half of it was worth automating.
- React 19 and TypeScript on Vite
- Google Gemini for copy variants and backgrounds
- Drag-and-drop canvas with real-time preview
- Meta, TikTok, Google Display and LinkedIn sizes
- Automated layout validation for clipping and overlap
- Bundle export at every required dimension
Bob's personal site: a long-form record of twenty years of engineering and product leadership, written as case studies rather than a CV. Where a client goes to check the background behind the studio.
- Next.js, statically exported
- Long-form case studies with decision records
- Diagrams drawn from the systems they describe
- Written, not templated
- Kept current as the source for the studio's own claims
Designed and built here, on the same stack we hand to clients, with the motion system written rather than bought.
- Next.js App Router, statically rendered
- Lenis smooth scroll driving GSAP ScrollTrigger
- Pinned horizontal galleries and scroll-scrubbed type
- GA4 event tracking through the whole funnel
- Multi-step enquiry form on a Mailgun API route
- Reduced-motion and hidden-tab fallbacks throughout
Charter
Client management, proposals and invoicing for agencies that do not want enterprise pricing. Currently invite-only.
AdGenius
One design, every platform size, with a model handling the mechanical parts. Internal tooling, shown here mid-edit on a live brand.
bobwa.de
The personal site behind the studio: twenty years of work written up properly, for anyone who wants the background before they hire us.
Why this is on the work page
Because it is the only work where we control every variable, and so it is the fairest evidence of how we build. The mark, the type, the copy, the motion and the infrastructure are all ours. No client scope, no committee, nobody else to blame for the shortcuts.
It is also where the tools we bring to client work get proven first. AdGenius exists because a client engagement made the need obvious, and Charter exists because running the studio made a different need obvious. Neither started as a product idea.
Stack
- Express
- Vercel Functions
- Next.js 15
- React 19
- React Native
- TanStack Query
- JWT and RBAC
- Stripe
- Stripe webhooks
- React 19
- TypeScript
- Vite
- Google Gemini
- Supabase
- html-to-image
- JSZip export
- Next.js App Router
- GSAP ScrollTrigger
- Lenis
- Tailwind
- Mailgun
- GA4








