Consulting-focused website for David Braun. The site is built to do two things at once without pretending they are the same thing:
Live site: dbraun.io
This is no longer a generic portfolio site.
It is a consulting-capable systems site for workflow automation, system integration, and operational software work, with enough proof and engineering signal to remain credible to hiring managers and technical reviewers.
Current public proof and delivery work:
Current in-progress systems shaping the next proof layer:
WeatherForgeDGMThose systems are being positioned as real in-progress builds that will become part of the broader StormIQ direction. They are intentionally not presented as finished or deployed products before the proof exists.
VIFG is still the strongest public production proof.DealerFlow remains visible as pilot work, but it is not the current flagship priority.WeatherForge and DGM now have case-study structure in place so walkthroughs, diagrams, operational surfaces, and artifacts can be added later without redesigning the site.StormIQ is framed honestly as the broader system direction these builds support, not as a finished flagship pretending to be more proven than it is.| Category | Technology |
|---|---|
| Framework | Next.js 16 |
| UI | React 19 |
| Language | TypeScript |
| Styling | Tailwind CSS v4 |
| Motion | Framer Motion |
| Content | MDX via next-mdx-remote |
| Resend | |
| Rate limiting | Upstash Redis with in-memory fallback |
| Testing | Vitest, Playwright |
| Deployment | Vercel |
git clone https://github.com/DavidBraun777/davidbraun777.github.io.git
cd davidbraun777.github.io
npm install
npm run dev
Open http://localhost:3000.
Create .env.local in the repo root:
# Email configuration (required in production)
RESEND_API_KEY=re_xxxxxxxxxxxxx
# Optional: recipient override for contact form submissions
CONTACT_EMAIL=your-email@example.com
# Optional: secondary scheduling link shown on the contact page
CAL_LINK=https://calendly.com/your-handle/intro-call
# Optional: distributed rate limiting
UPSTASH_REDIS_REST_URL=https://your-instance.upstash.io
UPSTASH_REDIS_REST_TOKEN=your-token
# Optional: GA4 measurement ID override
NEXT_PUBLIC_GA_ID=G-XXXXXXXXXX
Notes:
500 if RESEND_API_KEY is missing.CAL_LINK is set, the contact page shows a secondary optional call link. The form remains the primary contact path.Run the full local validation set:
npm run lint
npm test
npm run build
npx playwright test e2e/smoke.spec.ts e2e/a11y.spec.ts --project=chromium
This repo intentionally separates:
That constraint matters. The site should get more convincing over time because more real evidence gets added, not because the copy gets more aggressive.