Skip to content

Small projects that arose from curiosities in random topics

Notifications You must be signed in to change notification settings

kishore-srinivas/projects

Repository files navigation

Projects

This repository contains small projects that arose from curiosities in random topics.

Some of these projects are just code experiments, seeing what I can do with certain libraries. Some others are simply for fun, inspired by an article I read or a cool demo I saw, and some of these are even somewhat practical. Yet others completely random, built almost on a whim.

Some are ready to be used, and others are in development. I work on the core feature of each project first, then focus on building a nice, workable UI for it, then I work on additional nice-to-have features.
A project will therefore be in one of these three states:

  1. Developing - the core functionality has not been completed yet
  2. Functioning - the core functionality is complete, but the program does not have a usable UI
  3. Complete - program works and has a usable UI

Stay tuned for new projects and cool updates to existing ones, the best is yet to come!

Project descriptions

full-stack (developing)
Experiments with developing a full stack application, in an attempt to familiarize myself with different tools, such as Django, NodeJS, and ReactJS.

gaze-tracking (developing)
An interface that uses gaze tracking and voice commands to allow the user to navigate a computer screen hands-free.

image-processing (complete)
Experiments with image processing using opencv. Most of the programs are implementations of cool features such as selective coloration, lane detection, and text recognition.

motion (complete)
Programs related to motion, including physically realistic bouncing balls, a visualization of the boids flocking algorithm, and the joint-motion project which simulates a different take on pathfinding using machine learning to get a multi jointed arm to reach a specified target point.

quantum-computing (complete)
Experiments in quantum computing to familiarize myself with libraries and implement basic single-purpose programs, mostly based on courses on Udemy and articles or research papers I read.

reinforcement-learning (functioning)
Experiments in reinforcement learning. The gridworld project is implemented from scratch, focusing on the development of two agents, a naive one that learns to associate an action with each position on the board, and a QLearning agent that learns to associate a state-action pair with a reward and solves the grid using epsilon-greedy. Also included are some completed assignments from the Modern RL course on Udemy.

tictactoe (complete)
A human vs computer tictactoe game which the computer will never lose.