A website for Gadi Guy's Technical Due Diligence consulting services for VC funds, PE firms, and institutional investors.
npm installCopy the example environment file and add your Gmail App Password:
cp .env.example .envEdit .env and add your Gmail App Password:
- Go to https://myaccount.google.com/apppasswords
- Create an App Password for "Mail"
- Paste the 16-character password in
.env
npm startOpen http://localhost:3000 in your browser.
The contact form sends emails via Gmail. To set this up:
- Enable 2-Factor Authentication on your Google account
- Create an App Password:
- Go to https://myaccount.google.com/apppasswords
- Select "Mail" and "Other (Custom name)"
- Name it "DD Site"
- Copy the 16-character password
- Add to .env file:
EMAIL_USER=gadiguy@gmail.com EMAIL_PASS=xxxx-xxxx-xxxx-xxxx
These platforms support Node.js apps with environment variables:
- Push code to GitHub
- Connect repository to Railway/Render/Fly.io
- Set environment variables:
EMAIL_USERandEMAIL_PASS - Deploy
# On your server
git clone your-repo
cd dd-site
npm install
cp .env.example .env
# Edit .env with your credentials
npm startUse PM2 for process management:
npm install -g pm2
pm2 start server.js --name dd-site
pm2 save
pm2 startupheroku create your-app-name
heroku config:set EMAIL_USER=gadiguy@gmail.com
heroku config:set EMAIL_PASS=your-app-password
git push heroku maindd-site/
├── index.html # Main HTML page
├── styles.css # All styles
├── script.js # Frontend JavaScript
├── server.js # Express backend
├── package.json # Node.js dependencies
├── .env.example # Environment template
├── .env # Your credentials (don't commit!)
├── .gitignore # Git ignore rules
├── portrait.png # Profile image
└── README.md # This file
- Contact form sends emails directly to gadiguy@gmail.com
- Checklist form notifies you of new download requests
- Mobile-responsive design
- Dark mode support
- Accessible (keyboard navigation, screen readers)
In server.js, change the to: field in both mailOptions objects:
to: 'your-new-email@example.com',In index.html, find the social-links div in the header and update the URLs.
In index.html, search for pricing-grid and edit the prices.
Create a .env file with your Gmail App Password. See "Email Setup" above.
- Check the server console for errors
- Verify your App Password is correct
- Make sure 2FA is enabled on your Google account
- Check if "Less secure app access" needs to be disabled (App Passwords are more secure)
# Check for port conflicts
lsof -i :3000
# Try a different port
PORT=3001 npm start