app-ideas
A Collection of application ideas which can be used to improve your coding skills.
Top Related Projects
Master programming by recreating your favorite technologies from scratch.
:page_with_curl: A list of practical projects that anyone can solve in any programming language.
Curated list of project-based tutorials
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Quick Overview
The florinpop17/app-ideas repository is a collection of application ideas for developers to practice their coding skills. It provides a wide range of project suggestions across various difficulty levels, from beginner to advanced, along with user stories and feature requirements for each project.
Pros
- Offers a diverse range of project ideas suitable for different skill levels
- Provides detailed user stories and feature requirements for each project
- Encourages practical application of coding skills
- Helps developers build a portfolio of projects
Cons
- Does not provide actual code implementations for the projects
- Some project ideas may become outdated over time
- Limited guidance on specific technologies or frameworks to use
- May lack advanced or highly specialized project ideas for experienced developers
Getting Started
To get started with the florinpop17/app-ideas repository:
- Visit the GitHub repository: https://github.com/florinpop17/app-ideas
- Browse through the project ideas in the README.md file
- Choose a project that matches your skill level and interests
- Read the project description, user stories, and feature requirements
- Start coding the project using your preferred programming language and tools
- Consider sharing your implementation or seeking feedback from the community
Note: This repository does not contain actual code implementations, so there are no code examples or quick start instructions to provide.
Competitor Comparisons
Master programming by recreating your favorite technologies from scratch.
Pros of build-your-own-x
- Focuses on building complex systems from scratch, providing deeper understanding of underlying technologies
- Covers a wider range of projects, including operating systems, databases, and programming languages
- Encourages learning through implementation of fundamental computer science concepts
Cons of build-your-own-x
- Projects are generally more advanced and time-consuming, which may be intimidating for beginners
- Less emphasis on practical, everyday applications compared to app-ideas
- Fewer structured guidelines or step-by-step instructions for completing projects
Code Comparison
While both repositories don't typically include full code implementations, they differ in their approach to presenting project ideas. Here's a comparison of how they might present a simple project:
app-ideas (Bin2Dec project):
Tier: 1-Beginner
User Stories:
- [ ] User can enter up to 8 binary digits in one input field
- [ ] User must be notified if anything other than a 0 or 1 was entered
- [ ] User views the results in a single output field containing the decimal equivalent
build-your-own-x (Build your own React):
## Build your own React
* [Build your own React](https://pomb.us/build-your-own-react/)
* [Didact: a DIY guide to build your own React](https://engineering.hexacta.com/didact-learning-how-react-works-by-building-it-from-scratch-51007984e5c5)
* [Reverse Engineering React](https://vimeo.com/album/3930691)
The app-ideas repository provides more structured guidance, while build-your-own-x offers links to in-depth resources for self-guided learning.
:page_with_curl: A list of practical projects that anyone can solve in any programming language.
Pros of Projects
- More diverse range of project ideas, including web scraping, algorithms, and system utilities
- Organized into categories, making it easier to find projects by type or difficulty
- Includes links to external resources and tutorials for some project ideas
Cons of Projects
- Less detailed project descriptions compared to app-ideas
- Fewer beginner-friendly projects, with a focus on more advanced concepts
- Lacks user stories and specific feature requirements for each project
Code Comparison
Projects doesn't provide code samples, while app-ideas occasionally includes starter code or examples. Here's a sample from app-ideas:
// Example from app-ideas (Border Radius Previewer)
const preview = document.getElementById('preview');
const radiusInput = document.getElementById('radius-input');
radiusInput.addEventListener('input', () => {
preview.style.borderRadius = `${radiusInput.value}px`;
});
Summary
Both repositories offer valuable project ideas for developers. Projects provides a wider range of concepts but with less detail, while app-ideas focuses on more structured, beginner-friendly web and mobile app projects with clearer requirements and occasional code samples.
Curated list of project-based tutorials
Pros of project-based-learning
- Covers a wider range of programming languages and technologies
- Provides more in-depth, comprehensive projects
- Includes links to external resources and tutorials for each project
Cons of project-based-learning
- Less structured organization compared to app-ideas
- May be overwhelming for beginners due to the breadth of content
- Lacks difficulty ratings for projects
Code Comparison
While both repositories focus on project ideas rather than providing extensive code samples, here's a brief comparison of how they present project information:
app-ideas:
# Project Name
Brief project description
## User Stories
- [ ] User can...
- [ ] User can...
## Bonus features
- [ ] User can...
project-based-learning:
### Project Name
* [Link to tutorial or resource]
* [Additional link if available]
Brief description or notes about the project
project-based-learning generally provides links to external resources, while app-ideas offers more detailed project specifications within the repository itself.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Pros of system-design-primer
- Comprehensive coverage of system design concepts and principles
- Includes real-world examples and case studies from large-scale systems
- Provides a structured learning path for system design interviews
Cons of system-design-primer
- More theoretical and less hands-on compared to app-ideas
- Requires a stronger foundation in software engineering concepts
- May be overwhelming for beginners or those not specifically preparing for system design interviews
Code comparison
system-design-primer:
# Example: URL shortener service
def shorten_url(original_url):
# Hash the URL
url_hash = generate_hash(original_url)
# Store the mapping
store_url_mapping(url_hash, original_url)
return construct_short_url(url_hash)
app-ideas:
// Example: Calculator app
function calculate(num1, num2, operation) {
switch (operation) {
case '+': return num1 + num2;
case '-': return num1 - num2;
// ... other operations
}
}
The system-design-primer repository focuses on high-level system architecture and design principles, while app-ideas provides practical project ideas for developers to build and improve their coding skills. system-design-primer is better suited for experienced developers preparing for system design interviews or working on large-scale systems, whereas app-ideas is more accessible for beginners and those looking to practice coding through hands-on projects.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
ð Practice Daily on iCodeThis.com ð
:ledger: App Ideas Collection
Have you ever wanted to build something but you had no idea what to do? Just as authors sometimes have "writers block" it's also true for developers. This list is intended to solve this issue once and for all! ð
These applications are:
- great for improving your coding skills :muscle:;
- great for experimenting with new technologies ð;
- great for adding to your portfolio to impress your next employer/client :file_folder:;
- great for using as examples in tutorials (articles or videos) :page_with_curl:;
- easy to complete and also easily extendable with new features :ok_hand:;
This is not just a simple list of projects, but a collection that describes each project in enough detail so that you can develop it from the ground up!
Each project has the following features:
- A clear and descriptive objective;
- A list of User Stories which should be implemented (these stories act more as a guideline than a forced list of To-Do's. Feel free to add your own stories if you want);
- A list of bonus features that not only improve the base project, but also your skills at the same time (these are optional and should be attempted only after you have completed the required user stories)
- All the resources and links to help you find what you need to complete the project
Here you can watch a video about this repository.
Projects
Projects are divided into three tiers based on the knowledge and experience required to complete them.
Tier | Developer Profile |
---|---|
1 | Developers in the early stages of their learning journey. Those who are typically focused on creating user-facing applications. |
2 | Developers at an intermediate stage of learning and experience. They are comfortable in UI/UX, using development tools, and building apps that use API services. |
3 | Developers who have all of the above, and are learning more advanced techniques like implementing backend applications and database services. |
ð - New Project
Tier-1: Beginner Projects
Name | Short Description | Tier |
---|---|---|
Bin2Dec | Binary-to-Decimal number converter | 1-Beginner |
Border Radius Previewer | Preview how CSS3 border-radius values affect an element | 1-Beginner |
Calculator | Calculator | 1-Beginner |
Christmas Lights | Simulate a string of Christmas lights | 1-Beginner |
Cause Effect App | Click list item to display item details | 1-Beginner |
Color Cycle | Cycle a color value through incremental changes | 1-Beginner |
Countdown Timer | Event Countdown timer | 1-Beginner |
CSV2JSON App | CSV to JSON converter | 1-Beginner |
Dollars to Cents | Convert dollars to cents | 1-Beginner |
Dynamic CSS Variables | Dynamically change CSS variable settings | 1-Beginner |
First DB App | Your first Database app! | 1-Beginner |
Flip Image | Change the orientation of images across two axes | 1-Beginner |
GitHub Status | Display Current GitHub Status | 1-Beginner |
Hello | User native language greeting | 1-Beginner |
IOT Mailbox Simulator | Use callbacks to check your snail mail | 1-Beginner |
JS Input Validation | Script to validate inputs entered by a user using RegEx | 1-Beginner |
JSON2CSV App | JSON to CSV converter | 1-Beginner |
Key Value | Keyboard Event Values | 1-Beginner |
Lorem Ipsum Generator | Generate lorem ipsum placeholder text | 1-Beginner |
Notes App | Create an online note pad | 1-Beginner |
Pearson Regression | Calculate the correlation coefficient for two sets of data | 1-Beginner |
Pomodoro Clock | Task timer to aid personal productivity | 1-Beginner |
Product Landing Page | Showcase product details for possible buyers | 1-Beginner |
Quiz App | Test your knowledge by answering questions | 1-Beginner |
Recipe App | Recipe | 1-Beginner |
Random Meal Generator | Generate random meals | 1-Beginner |
Random Number Generator | Generate random number between range. | 1-Beginner |
Roman to Decimal Converter | Convert Roman to Decimal numbers | 1-Beginner |
Slider Design | Display images using a slider control | 1-Beginner |
Stopwatch App | Count time spent on activities | 1-Beginner |
TrueOrFalse | Identify the result of a conditional comparison | 1-Beginner |
Vigenere Cipher | Encrypt text using the Vigenere Cypher | 1-Beginner |
Wind Chill | Calculate the windchill factor from an actual temperature | 1-Beginner |
Word Frequency | Calculate word frequency in a block of text | 1-Beginner |
Weather App | Get the temperature, weather condition of a city. | 1-Beginner |
Tier-2: Intermediate Projects
Name | Short Description | Tier |
---|---|---|
Bit Masks | Using Bit Masks for Conditions | 2-Intermediate |
Book Finder App | Search for books by multiple criteria | 2-Intermediate |
Calculator CLI | Create a basic calculator cli. | 2-Intermediate |
Card Memory Game | Memorize and match hidden images | 2-Intermediate |
Charity Finder App | Find a Global Charity to donate to | 2-Intermediate |
Chrome Theme Extension | Build your own chrome theme extention. | 2-Intermediate |
Currency Converter | Convert one currency to another. | 2-Intermediate |
Drawing App | Create digital artwork on the web | 2-Intermediate |
Emoji Translator App | Translate sentences into Emoji | 2-Intermediate |
Flashcards App | Review and test your knowledge through Flash Cards | 2-Intermediate |
Flip Art App | Animate a set of images | 2-Intermediate |
Game Suggestion App | Create polls to decide what games to play | 2-Intermediate |
GitHub Profiles | A GitHub user search App | 2-Intermediate |
HighStriker Game | Highstriker strongman carnival game | 2-Intermediate |
Image Scanner | Image Scanner App | 2-Intermediate |
Markdown Previewer | Preview text formatted in GitHub flavored markdown | 2-Intermediate |
Markdown Table Generator | Convert a table into Markdown-formatted text | 2-Intermediate |
Math Editor | A math editor for students to use | 2-Intermediate |
Meme Generator App | Create custom memes | 2-Intermediate |
Name Generation using RNNs | Generate names using names dataset | 2-Intermediate |
Password Generator | Generate random passwords | 2-Intermediate |
Podcast Directory | Directory of favorite podcasts | 2-Intermediate |
QR Code Badge Generator | Encode badge info in a QRcode | 2-Intermediate |
Regular Expression Helper | Test Regular Expressions | 2-Intermediate |
Sales Reciepts App | Record Sales Receipts in a DB | 2-Intermediate |
Simple Online Store | Simple Online Store | 2-Intermediate |
Sports Bracket Generator | Generate a sports bracket diagram | 2-Intermediate |
String Art | An animation of moving, colored strings | 2-Intermediate |
This or That Game | This or That Game | 2-Intermediate |
Timezone Slackbot | Display Team Timezones | 2-Intermediate |
To-Do App | Manage personal to-do tasks | 2-Intermediate |
Typing Practice | Typing Practice | 2-Intermediate |
Voting App | Voting App | 2-Intermediate |
Tier-3: Advanced Projects
Name | Short Description | Tier |
---|---|---|
Battleship Bot | Create a Discord bot that plays Battleship | 3-Advanced |
Battleship Game Engine | Create a callable engine to play the Battleship game | 3-Advanced |
Boole Bots Game | Battling Bots driven by Boolean algebra | 3-Advanced |
Calendar | Create your own Calendar | 3-Advanced |
Calorie Counter | Calorie Counter Nutrition App | 3-Advanced |
Chat App | Real-time chat interface | 3-Advanced |
Contribution Tracker App | Track funds donated to charity | 3-Advanced |
Elevator | Elevator simulator | 3-Advanced |
Fast Food Simulator | Fast Food Restaurant Simulator | 3-Advanced |
Instagram Clone | A clone of Facebook's Instagram app | 3-Advanced |
GitHub Timeline | Generate a timeline of a users GitHub Repos | 3-Advanced |
Kudos Slackbot | Give recognition to a deserving peer | 3-Advanced |
Movie App | Browse, Find Ratings, Check Actors and Find you next movie to watch | 3-Advanced |
MyPodcast Library | Create a library of favorite podcasts | 3-Advanced |
NASA Exoplanet Query | Query NASA's Exoplanet Archive | 3-Advanced |
Shell Game | Animated shell game | 3-Advanced |
Shuffle Deck | Evaluate different algorithms for shuffling a card deck | 3-Advanced |
Slack Archiver | Archive Slack Messages | 3-Advanced |
Spell-It App | A twist on the classic Speak N Spell game | 3-Advanced |
Survey App | Define, conduct, and view a survey | 3-Advanced |
Plans for the future
We are planning to add more and more projects to this repository. For this, we need your help! Find out how to contribute below. ð
We are also planning to create a website where you can easily browse through all of the projects.
Contribution
Any contributions are highly appreciated. :pray: You can contribute in two ways:
- create an issue and tell us your idea :bulb:. Make sure that you use the new idea label in this case;
- fork the project and submit a PR with your new idea. Before doing that, please make sure that you read and follow the Contribution Guide;
Examples
You can also add your own examples to the projects after you have completed them. I highly encourage you to do this as it will show others what amazing things were built! ð
Spread the word!
If the information from this repo was useful to you in any way, make sure you give it a star ð, this way others can find it and benefit too! Together we can grow and make our community better! :smiley:
Do you have any suggestions on how we could improve this project overall? Let us know! We'd love to hear your feedback!
Main Contributors ðð
- Florin Pop: Twitter - YouTube Channel - website.
- Jim Medlock: Twitter - articles
100Days100Projects ð
As a bonus, I created the #100Days100Projects challenge. You can find in there 100 more ideas of smaller projects. Enjoy! ð
Stars history
Top Related Projects
Master programming by recreating your favorite technologies from scratch.
:page_with_curl: A list of practical projects that anyone can solve in any programming language.
Curated list of project-based tutorials
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot