Things from the workshop. Showing thinking, not just output.
Ship a full web app from one prompt — inspectable SvelteKit you own.
Why: Generated demos are disposable. I wanted generation that stays editable, testable, deployable.
Learned: Inspectability beats magic. Version rollback and git diffs matter more than generation speed.
[site →]My personal operating system. Plain surface, deep rabbit hole.
Why: A portfolio answers recruiters. I wanted a corner of the internet that answers curiosity.
Learned: Restraint is a feature. Static content, dynamic atmosphere.
Unsupervised detection of ads in podcasts, straight from audio.
Why: Ads break flow. Skipping them should not need labeled data.
Learned: Unsupervised structure-finding goes further than expected on audio.
[source →]One-shot voice cloning that preserves the speaker accent via accent embeddings.
Why: Cloning that flattens accent erases identity. Accent is content.
Learned: Disentangling speaker, content, and accent in one shot is genuinely hard.
[source →]Unsupervised disentangled representations of emotion in speech.
Why: Supervised emotion labels are noisy. Structure should emerge, not be imposed.
Learned: Beta-VAEs buy disentanglement at the cost of reconstruction. The tradeoff is the work.
[source →]Touch-based interactive wall via stereo camera and ROS.
Why: Rooms should be interfaces.
Learned: Calibration is everything. Demos live or die on setup robustness.
[source →]A neural conversational interface over Whatsapp.
Why: Meet people where they already talk.
Learned: Old-school seq2seq fluidity is mostly a data problem.
[source →]DQN and variants trained to superhuman play on Flappy Bird and Daddy Long Legs.
Why: Nothing teaches RL like watching an agent go from flailing to superhuman.
Learned: Reward shaping and training stability dominate architecture choice.
[source →]