I graduated from university last year with a Philosophy degree — but for me, philosophy isn't just a qualification written on paper. It’s how I try to live, think, and grow.
So, I thought: What if people could interact with a philosopher by simply speaking to one — just like we imagine having a chat with Socrates?
That’s what led me to create Ask a Philosopher — an AI Voice Agent that listens, thinks, and speaks back.
It was built using the following stack:
🎨 Frontend: HTML + JavaScript + WebAudio API + Text-to-Speech
🧠 Backend: Flask, hosted on AWS EC2
🔌 External APIs: AssemblyAI for Speech-to-Text + Gemini API for philosophical responses
🚀 Deployment: Single EC2 instance with Nginx as a reverse proxy
"I want to build a specialized voice agent with deep domain knowledge that can learn and improve from conversations. It should use Python, AssemblyAI Voice Agent, and Gemini. I'm a Philosophy student, so I want the agent to understand both Western and Eastern Philosophy. Also, I want to integrate AssemblyAI's Universal-Streaming technology. Guide me step-by-step."
From that prompt, I started building out the application.
This repository contains my submissions for various Dev.to Challenges. Each folder in this repo includes a hands-on project built around specific tools, APIs, or themes — from infrastructure to frontend and AI voice agents.
📁 Projects
⚙️ pulumi-challenge/
An infrastructure-as-code project built using Pulumi.
It automates cloud infrastructure setup using Python and TypeScript across AWS services.
🎨 frontend-challenge/
A UI/UX-focused project that demonstrates creative frontend solutions using HTML, CSS, and JavaScript — optimized for responsiveness and accessibility.
📩 postmark-challenge/
A transactional email solution built with the Postmark API, showcasing email templates, delivery tracking, and webhook handling.
🧠 philo-agent/
A voice-based AI Philosopher built with AssemblyAI + Gemini — part of the World’s Largest Hackathon.
Setting up the base app was smooth — but voice clarity and response flow were tricky.
I tried multiple voice styles: siri, uk-female, en-us, and more, but finally landed on a simple, clear "male" voice. It felt just right — calm, grounded, and philosopher-like.
Here’s a peek at the code 👇🏻
Then, to give the UI a more classical feel, I enhanced the frontend with a Socrates watermark in the background — minimal but thoughtful.
🌐 Deploying with Bolt
I wanted a reliable and repeatable way to deploy the app to AWS. So, I used Bolt again — and it generated a full deployment bash script for my EC2 instance.
You can speak your philosophical questions, and the agent responds in a natural, spoken voice — powered by Gemini’s wisdom and AssemblyAI’s transcription magic.
🙌 Shoutout & Thanks
A big thanks to Dev.to and AssemblyAI for organizing these amazing challenges. I learned a lot through this project — from AI voice tech to deploying a full-stack app on the cloud.
If you liked this project or want to connect, follow me on:
You built this one for WLH? We should team up for the Kiro hackathon if you are keen. I have an idea 🌞