π 4.1.4.4 Capstone Prep: What to Expect
There are many possibilities for a capstone project that intersects both your interests and industry trends. This lesson will walk through a few ideas that might help you form an idea if coming up with something on your own is proving to be a little difficult. The main goal with this capstone project is to give you a project that you can leverage for career preparedness, so keep your own goals in mind while reading this lesson.
Let's explore some starting points that could serve as solid foundations for your project.
Project Ideasβ
Ready to brainstorm? Here are a few examples of projects past students have built during Team Week. You're not required to choose from this list, of course (although you may, if something really speaks to you!), this is only to begin your own brainstorming:
Planning Activitiesβ
Sites and applications that help plan:
- Vacations
- Camping trips
- Road trips
- Weddings and other events
- Pub crawls
- etc.
Lending a Handβ
Sites and applications that aim to help people out, such as:
- Locate stolen bike
- Reporting/searching for missing pets
- Organizing/compiling resources for at-risk populations
- Helping people prepare for/respond to natural disasters
Connect Peopleβ
Sites and applications that aim to bring people together, such as:
- Helping musicians find other musicians for jam sessions
- Locating puppy playdates
- Dating sites of all varieties, themes, focuses and interests
- Interest-based meetups and events
- Communication tools, like chat rooms, web forums, and more
- Virtual study groups and other learning tools
Gamesβ
Playable games, for instance:
- Text-oriented games like "Choose your own adventure"-style storytelling games
- RPGs
- Word and math games
- Turn-based games
- Oregon Trail-style side-scrollers
- Digital versions of classic favorites like Clue, Poker, Magic, Chess, Monopoly, Breakout, etc.
Working with specific libraries, frameworks, or APIsβ
Some students choose to work with specific libraries, frameworks or APIs to build out games, tooling, or an experience. There are so many libraries out there to explore! For instance:
- Using Three.js to make a 3D model or experience
- Using Unity game engine to make a game
- Using music libraries or the Spotify API (or another service) to build out web apps that visualize, track, or make music.
Building a website with a new frameworkβ
Developer Tooling, for instance:
- A VS Code color theme or other type of extension
- An npm package
- A Discord bot
- A browser extension
Tracking, Aggregating, or Visualize Dataβ
Applications that help track and manage data of some kind, such as:
- Food diaries
- Workout tracking
- Mood trackers
- Or applications that do something with outside data pulled from an API. Check out this list of APIs for ideas.
- Productivity Tools
- Websites aimed to help make you more productive, like:
- Checklists
- Organizers
- Note-taking tools
- Crowd-sourced to-do lists, or grocery shopping lists
- Point of Sale systems
Websites for Real Peopleβ
Additionally, past students have created functioning websites or applications for family and friends' small local businesses, including catering companies, dog groomers, and more.
What Epicodus Recommendsβ
There are a few criteria that we think students do best to consider implementing into their projects to come out with a well-rounded project. Here are some bullets and examples. Note that not all of these necessarily go together, nor are any of them required for you to include in your project.
Push your Boundariesβ
Your project could be something outside your comfort zone, challenging you to acquire new skills and deepen your understanding of certain technologies. Pushing boundaries not only sparks personal growth but also results in a project that truly reflects your evolving capabilities.
- Use a tool or language we havenβt covered, like Python or Swift
- Develop for a platform that we havenβt covered, such as a Mobile application
- Focus on accessibility or criteria that institutions look for in successful applications
Focus on Designβ
Think about creating a sleek and functional website using modern design or impressive visuals. This not only demonstrates your coding prowess but also highlights your design sensibilities. A visually appealing application serves as a testament to your holistic approach to web development.
- Create a portfolio that showcases your other projects, while flexing your design on your own personal website
- Create a data visualization project that takes information from an API and displays it intuitively to the user
- Make your application responsive for both web and mobile users via media queries or other responsive design principles
Focus on Dataβ
Consider an application that integrates a database with a front-end interface. This type of project allows you to dive into the intricacies of data management while developing a user-friendly interface for a seamless user experience.
- Create a database that handles secure user information in a way that keeps it safe and secure
- Create a role-based database that allows for users and administrators to use the database in different ways
- Create your own API with verbose data sets that can be delivered to the user intuitively
Stay Trendyβ
Staying on top of industry trends, you might opt for a project that utilizes in-demand technology like React.js. This ensures your project aligns with current industry needs, making you a more competitive candidate in the job market.
- Consider using React.js, Next.js, or another library
- Consider using the language that is utilized in your area. For example, C# is saturated in the Seattle area because of Microsoft
- Consider using AWS or other cloud-based architecture in your application
Please note that these technologies that are "trendy" or "modern" will change constantly and quickly. Take a look back at the previous lesson Capstone Prep: Using Employable Skills and use current job postings to get a better expectation as to what those technologies might be right now.
You might also want to reference the Career Services lesson on Identifying Important Skills.
Get Real Practiceβ
For those interested in real-world applications, consider a project that meets a clientβs need β perhaps a website for a friend's passion project or a local business. This adds a dynamic layer to your capstone, involving communication, feedback, and the satisfaction of delivering a product tailored to someone else's needs.
Additionally, consider make it a goal to publish or release your application for real users to consume.
- Local barbershops or smaller businesses might be interested in a website overhaul
- Perhaps a friend or colleague is interested in making an application for their hobby, such as a Dungeon Master application for D&D sessions
- If making a storefront, explore secure payment methods through services like Square
- Intend to release whatever application you're making, and certify that it's portfolio ready and polished
Practice your Passionsβ
Itβs really easy to get bogged down in a mundane task, or burn yourself out trying to create an application that youβre not interested in. Really focus on what makes you you. Bring those passions with you to the computer and lean into them, and donβt be afraid to fail or change course later.
- If you enjoy making your applications look as good as they function, explore animations or unique interactions for the user experience
- If you have a hobby or interest that could be made easier with an application, focus on fixing your own real-world problems
- Bring your personality to what youβve created and showcase your strengths
Do Researchβ
Lastly, you most likely know that Epicodus instructors wonβt be there forever to answer a question you might have - and eventually, youβll have questions that we canβt answer at all. By the time youβre leaving Epicodus, we hope that youβre a self-sufficient explorer and learner that can approach any problem with the growth mindset.
- If the tools you know donβt seem to fit the problem, find a new tool and try it out
- If there are things that you donβt like about C#, or JavaScript, explore to see if an alternative could do what you want better
- If you want to switch from Mobile and Web Development to something else entirely, leverage your skills to approach a new problem
- Always, always, always look at documentation and keep exploring
In essence, your capstone project is an opportunity to showcase your skills, learn something new, and make a real impact. Use these starting points as springboards to craft an idea that excites you and leaves a lasting impression. The journey begins now β let your creativity flow!