Software engineer | AI + Robotics Builder | Bronze Medalist @ Canada-Wide Science Fair
π Based in London, Ontario | malekhammoud.com
I'm a passionate builder with experience in full-stack web development, autonomous robotics, and applied AI.
Iβve worked on consulting projects for Microsoft and IKEA, built scalable web apps, and developed award-winning robotics systems that blend hardware and software.
Whether itβs solving real-world problems with AI or launching clean, fast web apps β Iβm always excited to build.
- Languages: Python, C++, Java, JavaScript, HTML/CSS, SQL, PHP
- Web: React, Node.js, WASP, Prisma
- AI/ML: CNNs, Reinforcement Learning
- Other: Git, Linux, Agile workflows, Hardware prototyping, Raspberry Pi, Arduino
- π₯ Bronze Medalist, Canada-Wide Science Fair 2024
- πΌ Consulted for Microsoft & IKEA on AI and sustainability solutions
- π οΈ Interned at startups building scalable, user-focused software
- π Currently building and experimenting with AI, robotics, and impactful tools
- π Website: malekhammoud.com
- πΌ LinkedIn: linkedin.com/in/malekhammoud
- βοΈ Email: malek@malekhammoud.com
Always happy to collaborate, connect, or just talk about cool ideas.
Create .env.local in the project root (this file is git-ignored) and add:
GEMINI_API_KEY=your_ai_studio_api_key
# Optional, override default model (defaults to gemini-pro)
GEMINI_MODEL=gemini-1.5-flash
Note: Do not prefix with quotes. Ensure there are no trailing spaces.
Run the health check to verify envs are loaded:
- GET
/api/chat/healthreturns{ ok: true, model, keyPreview }if the key is present. - GET
/api/chat/modelslists supported model names for your key.
If you see API_KEY_INVALID errors, rotate your key in Google AI Studio and update .env.local. On Vercel or other hosting, set the same env vars in the dashboard.
βAim high, then get halfway there.β


