Projects



  • NextUp - Text to Queue Get it on Google Play

    Imagine driving in the car with a bunch of your friends or hanging out with them at your place listening to music on a speaker. One of your friends shouts "Hey can I play a song?" Now you are conflicted because your phone is connected to the speaker with your Spotify and your driving, you don't want to leave your phone unattended with your friend and you also can not queue the song that they want. What do you do?

    Logo

    Description:
    With NextUp you can simply just tell your friends to share any song on Spotify through your text messages, and NextUp will automatically queue the song for all of you to enjoy. You can also easily setup restrictions on how many songs everyone can queue and how long they have to wait before they can start requesting songs again, that way everyone can make a contribution and be kept happy. With the simple interface, you can easily tell who queued which song and in what order it will play.

    How to use:
    1. Open up NextUp until you see the current song that is playing on your Spotify
    2. Have a friend go to their Spotify and pick a song to request
    3. Hit share, then SMS, then choose your contact and send

    If you go back to NextUp, the song that your friend picked out should appear in the queue waiting to be played!

    To queue more than one song at the same time, if your friends that are requesting are on laptops/tablets, all they have to do is: Hit the three dots next to the song, then copy song link, and include many of these in the same text message to you.

    Skills Developed:

    • Java
    • Android Studio
    • Designing to publishing a product

    Links:
    Repository
    Privacy Policy

  • Active Ankle Prosthesis

    Research Project

    In this project I helped develop a powered two degree of freedom robotic ankle-foot prosthesis capable of dorsiflexion-plantarflexion and inversion-eversion. Unlike most existing powered prosthesis this device is more promising for regaining an agile gait which is lost after amputation. The actuation system is held in a fanny pack around the waist and it connects to the prosthesis using Bowden cables, allowing for optimized actuator placement while tailored to the users preference.

    Logo

    Description:
    As the lead research assistance for Prof. Dallali over Summer 2018, I helped start bringing to reality a research idea that Prof. had presented in various research conferences. This unique experience in working in the nexus of biotechnology and electrical engineering allowed me to put to good use the various concepts I had learned about systems and control in the classes I had taken the year previous. Persevering through the summer, we had gone from not being able to run a linux development environment for the LabView tailored National Instrument microcontroller to being able to control a stable motor system that will eventually be used in the prosthesis. I was able to control, track, and analyze the movements of the motors to a very fine level of measurement as we should be able to especially in a prothesis.

    This experience taught me so much about how to learn during the job, and to solve one problem at a time in order to reach the bigger goal. Being able to start this project from the beginning gave me the opportunity to witness the growth of a project that had cutting edge technology and real impact in the world.

    Skills Developed:

    • Learned to code algorithms and interface with microcontrollers in C
    • Used NI myRIO, ESCON Motors and drivers to build assembly
    • Implemented several feedback control loops with tracking capabilities ex: PID

    Links:
    Prof. Dallali's Website

  • Amphibiaweb

    Android App



    With this project, my close friend and I were chosen as student developers to create a mobile version of a database lookup site that is run by the UC Berkeley Museum of Vertebrate Zoology. We are currently going through the different phases of mobile application development from designing, prototyping, implementing, and refining. We are looking to release this application in the Spring of 2019 for use by amphibian enthusiasts across the world.

    Logo

    Description:
    Through this project, I learned how to work well with a fellow developer and friend when it comes to coding an app together. We really took advantage of planning thoroughly before starting to implement large features. I had a fun time learning how to set up a productive work flow from scratch to make a small group effort not only effective but also easy.

    Skills Developed:

    • Java
    • Android Studio
    • Git
    • Productive team workflow with splitting tasks and writing modular code

  • OpenDorm

    Berkeley Robotics Competition

    OpenDorm is a reimagination of the most fundamental way people do things together. Bridging the physical component of going door to door with the technical integration of RGB light, LCD screen, and app integration, we foster a more welcoming and social dorm experience.

    Logo

    Description:
    This product ultimately will be an improved method for creating spontaneity, no longer needing to message a group text and wait, but instead finding new groups to do new things. We modeled seasonal/event based themes, whether it be not having to buy Christmas decorations to celebrating Cal’s win over Washington State.

    Skills Developed:

    • Furthered knowledge about arduinos, sensors, actuators
    • Worked on public presentation skills as we pitched the idea
    • Worked on a team delegating tasks in various fields of expertise

  • BerkYak

    Ruby on Rails Decal

    A Yik-Yak clone that allows anonymous posting, commenting, and upvoting. The posts that a user sees are based on the users IP location.

    Logo

    Description:

    Users

    • Users sign up and login by giving email and password (using Devise gem)
    • Has many posts, many comments, cumulative votes
    • Autodeleted/autobanned if 3 posts autodeleted

    Posts

    • Has text of post, cumulative votes, many comments, and location id.
    • Autodeleted after 24 hours
    • Autodeleted if it has a cumulative vote score of -2

    Comments

    • Has text of comment, cumulative votes, belongs to a post, and belongs to a user
    • Autodeleted if post is autodeleted

    Location

    • Used Geocoder gem to get ip address of user (not used in class)
    • User has a location and location has many posts

    Features:

    User Features

    • Users can register an account and log in
    • Users can make and view posts
    • Users can comment on posts
    • Users can upvote, downvote posts

    Search Features

    • Keyword matches in posts shown to user
    • Exact keyword matches
    • Search form on top
    • Redirect to new page showing results

    Sort Features

    • Sort the posts by either “hot” or “new”
    • Hot search renders an html page with posts in the user’s location ordered by most upvotes to least
    • New search renders an html page with posts in the user’s location ordered by most to least recently posted

    Geolocation

    • Every time user logs in, fetches their location using Geocoder gem
    • Shows logged-in user posts based on where user is located

    Division of Labor:

    • Felix: Location features, made models, controllers
    • Avi: Search feature, frontend
    • Nilay: Voting, sorting by hot/new, frontend


    Skills Developed:
    • Knowledge of ruby on rails
    • Frontend and UI design
    • Passing, controlling, and displaying data flow using MVC

    Links:
    Repository

  • Yet to update: NBA Analytics App, 61B Game project, 61C riscV datapath, 16B signal processing car, asha website
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.