Personal portfolio site for Ian Alloway — data scientist, ML engineer, and applied systems builder.
Live site: https://ianalloway.xyz
A clean portfolio focused on:
- selected projects
- writing and Substack updates
- a small toolkit/index for useful links
- a simple place to present current work
- Vite
- React
- TypeScript
- shadcn-ui
- Tailwind CSS
npm install
npm run dev
npm run build- Add the PDF to
/public/papers/with a clean filename. - Update the
academicPapersarray insrc/pages/Index.tsx. - Commit and deploy.
The contact-area subscribe form posts to /api/newsletter-subscribe and:
- creates a Notion entry
- sends a notification email
- redirects the visitor to the Substack subscribe flow
Required env vars:
NOTION_API_KEY=secret_your_notion_integration_token
NOTION_PARENT_PAGE_ID=your_notion_parent_page_id
RESEND_API_KEY=re_your_resend_api_key
RESEND_FROM_EMAIL="Ian Alloway <onboarding@yourdomain.com>"
NOTIFY_EMAIL=ian@allowayllc.com
SUBSTACK_PUBLICATION_URL=https://allowayai.substack.comThe repo includes vercel.json so preview deployments can serve SPA routes like /now, /hireme, and /toolkit without 404s while still routing /api/* to serverless functions.
- Keep the homepage current and minimal.
- This repo should feel like a polished landing page, not a feature dump.
Built with ❤️ by Ian Alloway