Grigory Hatsevich's programming portfolio

1. Interactive fiction website (Javascript, HTML, CSS) This is a trailer website for the textbook "Lectures on Microeconomics: The Big Questions Approach" (MIT Press) by Romans Pancs. I made a website with animated interactive fiction and taught the client how to edit and add new pieces of content there. 2. On-selection translator (Javascript, HTML, CSS) Demo: A plug-in for that adds on-selection translation functionality. It helps non-English-speaking students learn math and English simultaneously. 3. Voice interface (Javascript, HTML) Demo: A voice robot for children which teaches them how to ask politely. He can play songs but only if one asks him politely. 4. Chat app (Node.js, SQLite, WebSockets) 5. Song player for Google Chrome (Javascript, HTML) This audio player provides special functionality and convenient user interface that helps quickly learn songs (to sing and to play accompaniment on guitar or piano): • breaking song into fragments by pressing a button at the right moment during listening • loop a fragment • play current fragment once by pressing a button • go to next/previous fragment • change speed in realtime I also used File and Directory Entries API so that a user can conveniently add local audio files just by drag-and-dropping a folder to the webpage. 6. Minkowski sum visualizer (Scratch) Demo: This is a tool that helps students to more deeply understand one of the basic concepts in economics (production possibilities sets) by visually demonstrating how to build the combined set from two given individual sets. (In math terms it is equivalent to Minkowski sum, or vector sum of two sets.) I did this project in Scratch to look at what it is capable of. 7. Janko piano emulator (Pharo/Squeak Smalltalk) Demo: Janko piano is an alternative piano keyboard layout which has several benefits that makes learning it much easier than learning traditional piano keyboard. This app is an emulator that lets you play Janko layout on a computer keyboard, assess its benefits and just enjoy playing it. 8. Simple landing page (Javascript, HTML, CSS)