Who am I?
- Age: 16 Years Old
- Grade: 11th
- Education: Currently in High School
- Specialty: Cyber Security
My name is Josh Brown and I am currently in 10th Grade. My main interest is cyber security, specifically application security. I also do web development for fun and for practicing web security. I also like taking and editing photos and videos.
Here are the languages that I have experience with. I have varying degrees of experience with these languages. See the Portfolio page for examples.
Here are the editing programs that I have experience with.
- Adobe Photoshop
- Adobe After Effects
- Adobe Premiere Pro
- Adobe Audition
Created StackOverflow / StackExchange Chat API Documentation
May of 2019 - Current
Since I was unable to find any documentation of the StackOverflow chat API, I decided to create my own. The documentation is currently in progress. All of it is from various contributors manually testing and writing results for the documentation. Most of the documentation was written and tested by me, @Zoe also contributed significantly.
Created StackOverflow / StackExchange Chat Bot
May of 2019 - Current
Created A Discord Bot
April of 2019 - May of 2019
I decided to create a bot for the discord server I am on. The bot can be called by typing in the following format
!! command arg1 args2. Some of the commands include searching Wikipedia, searching MDN, saying jokes, and saying fun facts. It is currently hosted on my home server and uses the Node module discord.js to interact with the Discord API. Please note, the bot code contains expletives.
Created Quick Downloader
January of 2019 - Current
With the help of Jake Schneider, we created Quick Downloader, an application that uses byte requests to download files from the internet an incredible speeds. Based on our tests its can reduce download time up to 80-90%. If you don't believe me, check it out for yourself below! :)
I came up with the idea and presented it to Jake, who agreed to help me create it. We split up the work so I would do the actual downloader part while he would stick with the UI part. We decided to use the Electron framework as we were both familiar with Web programming and it was cross platform. Jake decided to use React for the UI. In the end, we assisted each other on different parts of the project. I assisted him with some of the CSS and he helped improve and fix the downloader. This was my first project using Node.js, Electron, and React. It was also my first desktop App.
Due to our lack of React experience and suggestions from other developers, I decided to ditch it for v2.0. I removed React, recreated the entire UI from scratch (using the v1 as a reference), and rewrote the downloader script. v2.0 is still in the making and is scheduled to release soon. v2 will bring many more features such as resuming.
Created This Website
November of 2018
I really wanted to document the projects I have worked on and teams I have been fortunate to be a part of. I also thought creating this website would provide an opportunity to practice web design. One of my hobbies is photography, so I made it my goal to have all the photos be originals instead of using stock images. All the images for the projects on this page are clickable and will bring up a bigger version. The one on the left is actual code from this site controlling the contact form, however the current code may have been changed. The up to date code can be seen, on GitHub, by clicking the "Source" button below.
Created 2FA for Port Chester - Rye Brook Public Library
October of 2018
Another developer had created a UI to allow the library to edit the website without having to know HTML/CSS/JS. To increase security, I created and implemented a 2 Factor Authentication system.
Creation and Management of the Port Chester - Rye Brook Public Library Server
September 2018 - Current
After discovering a significant vulnerability with our web hosting service, allowing all sites to access all other sites' website files (including the donation user data) and another giving all sites root access to the server, I recommended changing web providers. After the library agreed, I set up a Google Cloud Ubuntu instance and worked with the other developer, JP, to transfer all of the library's files. I also installed PHP, MySQL, phpMyAdmin, set up an automatic backup script, and set up an automatic certificate renewal script. I continue to manage the Google Cloud instance. The demo below is the website that is being hosted on the Google Cloud instance.
"Working with Josh was a good move both business and personal wise. We worked together on several projects and I gained new insights in coding and am learning how to code much more securely. I gained a mentor as well as a friend. I’m glad he and I decided to work together."
Paid Internship MacAndrews & Forbes Incorporated
Summer of 2018
My eight weeks working in the cyber security division of MacAndrews & Forbes provided a great opportunity for me to both learn and gain experience in a work environment. During my time there, I worked with Sophos Central, Palo Alto Networks Console, Amazon AWS (Ubuntu and Windows instance creation, management, etc.), and many other tools.
MB, Cyber Security Technician
"I had the pleasure of working with Josh this past summer. He was super helpful, engaging, and eager to learn more about Cyber Security in the workplace. That type of demeanor displayed day in and out, let me know Josh is destined for great things! Not only did he learn something new, but I too obtained a great skill from him. Josh was pivotal in providing a solution to track important data in our project, which added value to the overall success. Thank You Josh, continue to be curious!"
Donation page for Port Chester - Rye Brook Public Library
February - March of 2018
My town's local library hired me to create and to set up an online donation page. In the past, while library had a website, it did not allow donors to donate, instead the Library collected cash donations. The staff believed donations would increase if they had a more modern donation system. Using the PayPal API, I created a donation page. Unfortunately, the library's website was not encrypted with HTTPS. I informed the staff of the security risks associated with handling sensitive user data without proper SSL encryption. I also informed them of Let's Encrypt's free certificates. I worked with the other developer and web provider to install the certificate. The library was so pleased that they offered me a retainer to manage the donation page and to provide monthly site maintenance.
Dr. Elise Lemire, President of the Friends of the Port Chester - Rye Brook Public Library
"We were fortunate to find in Josh Brown a web designer and security expert on par with the best in the industry. We very much appreciated, in addition to his considerable expertise, his timeliness, attention to detail, and his ability to explain highly technical concepts in laymen's terms."
Volunteer Rye Brook Senior Center
October of 2017 - Current
Every Tuesday and Thursday I volunteer at the local Senior Center. I assist seniors with many different tech problems ranging from powering on a device to teaching them how to use Facebook, to malware/virus removal. This opportunity has given me experience with teaching others and communicating complex information.
Created Home Media Website
August of 2018
Inspired by Netflix, I decided to create a TV Show/Movie website. This was my first time creating a login system and using SQL. Each user can choose a unique username and password (stored hashed) that grants them access to the site. Like Netflix, resume data was stored in a database, allowing users to resume play from any device logged into their account. I used The Open Movie Database to provide information on about each TV Show/Movie. Finally, I added a profile page, where users could change their username and/or password, and view all their data. (Note: The demo below is stripped of some features and contains public videos in lue of movies. For demo purposes, user data is not saved and any username and password combination is accepted.) Some of the source code is provided below.
Created an A.I. bot for the popular HQ Trivia game
December of 2017 - March of 2018
When the popular HQ Trivia game was released, it got me thinking of how I could beat it with a computer. I spent a couple of days theorizing how I would accomplish a task such as building a bot to answer questions. My first attempt took 14 seconds per question to convert the images into text, much longer than the 10 second limit. I then changed the method of text conversion to use tesseract-ocr. Once I was able to get the conversion time down to a couple of seconds, I started building the actual program. I created the base program in a couple of hours. I played the game with friends that night and we came close to winning. I spent the next couple of days refining the algorithm. The bot was now able to detect the type of question and adapt, it also was able to give different confidence ratings to each answer. The bot was now able to answer a question within four to five seconds. Word got around pretty fast and I developed a website (source code below, although code quality isn't great. I was rushed.) where visitors to could view the bot's responses live. Visitors could also sign up for text alerts about upcoming games. Finally, on super bowl night, my friends and I won a total of $200 using the bot.
"The HQ bot was able to solve answers to the game very efficiently. It helped friends of mine win money in HQ when they normally wouldn’t have been able to without the bot"
"The bot ran really well and the website was very easy to use."
Created and managed my first home server
August of 2017 - Current
My sister, Rachel, was starting her freshman year at college and was purchasing a new computer. The new computer had a smaller drive than her previous one. This meant she was unable to transfer all of her data. I proposed the idea fo building a file server, or a cloud, as I described it. This would allow Rachel to access her data from anywhere in the world, from any computer, at any time. After transferring her data to an external drive, I wiped her old MacBook Pro 2011 and used it to create the file server, protected by a password only my sister knew. This worked extremely well. I then expanded the file server to allow for each of my family members to have their own private folder on the server. I also created a shared folder, for all of the media we wanted to share. This helped with sharing large amounts of photos and videos. Months later, I furhter expanded the server and started with a web server. This began my journey on web design. Currently, the server hosts this site and one more.
"I am not a person who likes to separate from old things, so having the server at my fingertips, makes me feel better because I can still view old files."
"Having our own personal server is a wonderful way to be able to share information and pictures with family and relatives anywhere in the world with ease and privacy."
Security Research for Study Clash
August of 2016 - August of 2017
Study clash is "a platform [that] converts study guides into multiple-choice trivia games" allowing "students [to] compete with their friends" to make "learning fun and more engaging". I was asked by the founders, Scott and Bryan Benson, to beta test the website and app. While beta testing, I found multiple vulnerabilities one of which allowed an attacker to change users username, email, and school without authentication. I quickly communicated these vulnerabilities to the founders and discussed possible solutions. The vulnerabilities were rectified within a couple days. This was one of my first experience with real world web security.
Scott and Bryan Benson, Co-founders of Study Clash
"Josh is very advanced for his age and went out of his way to help identify vulnerabilities in Study Clash. We were impressed by both his technical abilities and initiative. He has a bright future ahead of him!"
Created Games Using Stencyl
Summer of 2013 - Summer 2014
During the summer of 2013, I was first exposed to " programming" at summer camp. After designing the characters from scratch in Photoshop, we used Stencyl, a drag and drop coding flash 2D game maker, to develop the games. At the end of 2013, at the age of 10, I completed my first game: Zombie War (playable below, although you need flash). The game was set in an apocalyptic city. The payer must fight off zombies while rationing ammo to survive. Each level increases in difficulty. Shortly after coming home for the summer, I developed a sequel to Zombie War: Zombie War II (yeah, very original, I know ;). This game had the same premise but with more weapons and much more difficult levels. Finally, the following year I created Running Fun, a obstacle course game. The player must climb letters, jump, and run to avoid spikes, bats, and bullets. While Stencyl did not provide a real coding experience, it did provide me with the fundamentals of programming and logic (if statements, variables, loops, etc.). Click below to play! Note: It may take a bit to load and once they load, you must click on the game to get the controls to work. Arrow keys and space bar are used for the games. Good luck!
Success! Thanks for your submission.