How to Win the Congressional App Challenge: Advice from a CAC Winner

Angelina Tsuboi
6 min readMay 2, 2022

--

Since the #HouseofCode celebration took place about a week ago, and with the 2022 Congressional App Challenge launch just around the corner, I wanted to provide advice to upcoming challengers to do well in the competition.

Introduction

Hi, I’m Angelina Tsuboi, and I am the 2021 Congressional App Challenge winner of the CA-33 district hosted by Ted Lieu. For my CAC submission , I created an app called “Megaphone”. Megaphone is a class forum built to help facilitate connection within the classroom. Below is the video created for my winning submission:

What is the Congressional App Challenge?

The Congressional App Challenge is a computer science competition hosted every year by the congress where students compete in their congressional districts to build an app to win amazing prizes. CAC is recognized as the most prestigious prize in student computer science, and winning can save your app a spot in the US Capitol Building and the House of Representatives’s website, House.gov. You will also be given the opportunity to present your app in the #HouseofCode Capitol Hill Reception. Visit https://www.congressionalappchallenge.us/ to learn more about CAC.

Advice for Winning the Congressional App Challenge

1) Understand your district

The competitiveness of winning the Congressional App Challenge depends on what district you are in. You can find your district number and representative using this website: https://www.house.gov/representatives/find-your-representative. If you are located in a more populated district, you should put in more effort to polish and refine your submission. For example, my district (CA-33) was more competitive than others due to the population in my area, so I had to put extra work into my app to stand out from other applicants.

2) Start early

To improve your odds of winning you should start as early as possible, so you have enough time to resolve any bugs and add new features as you build your app. Preregistration for CAC begins as early as May, and the challenge officially announces on July 24. Beginning during May will give you five solid months to work on your project!

3) Form a Team

Building an app on your own especially with other priorities like school or after school extracurriculars can be pretty rigorous. This is when having a couple of teammates can really help. CAC allows your team to have up to 4 members. It’s important to pick team members that are as dedicated as you are to create the app, and to choose people that balances out your weaknesses. For example, you might be a fantastic programmer, but have limited design experience. In that case, you might want to pick a friend that knows UI design to join your team. Although having a bigger team can take some of the work load off of your back, it is important to be selective about your team members and delegate tasks according to each member’s strengths.

4) Brainstorm your idea and pick the best one

Once you establish your team, you should begin brainstorming your idea. When my team was coming up with the app idea, we wrote down potential ideas onto a shared document, and highlighted the best ones. Writing down a list of problems you have encountered in your life whether it be at your school, home, city, etc, and writing down potential solutions to those problems is another great way to come up with ideas.

5) Pick the technologies to build your app with

The technologies to program your app with can really differ depending on your familiarity with the framework or language. CAC does not have any restrictions on what programming language or platform you can use to create your app, so you are free to choose whatever you are most comfortable with. If you want to build a mobile app, I would recommend using Flutter, React Native, Ionic, or Swift. If your building a website, I would recommend making a website using plain HTML / CSS / JS or with React. If you want to build a game, I would recommend using Unity. However, the technologies you use to build your app should really boil down to your knowledge of the platform / language, and whether or not you want to spend the extra time learning another language to build your app with.

6) Set up a schedule and organize tasks

Project management is key if you are working on an application for a contest like the CAC. In my case, we broke down our project into tasks (ie. create login page), and used Trello to organize them. We also created scheduled deadlines to keep us on track. If you are working as a group, I would recommend using sites like Google Calendar, Trello, or Asana to keep track of your team’s progress.

7) Build a MVP of your app

MVP stands for minimum viable product. It is the version of your product that contains the most rudimentary features that allow your product to be usable by your first users. As your team is building the MVP, don’t worry about making your app look pretty or adding additional features that are not necessary. The idea is to assemble the MVP as quick as possible, so you have enough time to ameliorate your product.

8) Get others to test your app

Once you produce a MVP version of your app, get other people to use it! Potential initial users can be friends, family, classmates, teachers, etc. The purpose of getting others to use your app is to detect any bugs you might have glossed over, and to get others to provide feedback.

9) Fix bugs and build new features after the test run

After writing down the feedback and encountered bugs by your test users, resolve the errors in your code and program the additional functionality.

10) Improve your app’s design

A good looking app can impress the judges, and distinguish your app from other competitors. Consider using sites like Dribbble to find inspiration for your app design. Your team can also use software such as Figma, Adobe Xd, and Sketch to design mockups for your app.

11) Use your app in the real world

Once you feel like your app is ready to be used by others, launch it and find a community that can benefit from utilizing your app. For my app, Megaphone, the computer science department at my school used it to keep track of assignments and improve communication between teachers and students. In terms of deployment, if your team built a website, consider buying a domain name and hosting your site for others to see. If you made a mobile app, try uploading it to the app store.

12) Pay attention to your written responses

Judges also read over your team’s written responses to select the winners. It is important to convey a broad narrative of your product within your written responses. Express why you came up with the problem (was it a personal problem? was it a problem at your school? etc), how you solved the problem with your app (functionality), how your app has currently impacted others, and how you plan to expand your app to help even more people in the future.

13) Work on and polish your video submission

The final part of the application should be your video. Your video should communicate what you wrote in the written responses in a organized and visually appealing manner. Make sure to empathasize how you came up with your idea, the functionality of your app, how you built the app, and how it has helped others. Including a demonstration of your app alongside graphics, music, and clips of people using it can strengthen your video submission. Just make sure to attribute any music or graphics that belongs to other sources.

Overall, the Congressional App Challenge is a great opportunity to apply your computer science skills to make something useful and to earn cool prizes. Regardless of whether you win or not, you will learn more skills throughout the contest, and complete a project you can feel proud of.

Good Luck!

If you enjoyed this article, please consider viewing my other projects on Github (https://github.com/angelina-tsuboi), and connecting with me on Linkedin!

--

--

Angelina Tsuboi

Software Developer, Multidisciplinary Maker, Aviator, and Cybersecurity Enthusiast. Writing about my projects, guides, shenanigans, and more!