In the writing community, there are writing prompts. In the coding community, coding prompts are often limited to the realms of hackathons, which can be intimidating for some.
Whether you’re new to the game, looking for a new job, or are just looking to up your skills, you’re going to need to create in order to improve. It’s the nature of the career path.
But, sometimes, we run out of ideas, and that’s why I’ve decided to come up with ten coding prompts, complete with requirement guidelines, to help you get started. You’ll need to come up with your own interface designs and stretch your creativity in order to fulfill the requirements.
You can do one, a few, or all. A lot of the projects below will give you commercial, full stack skills, and can be completed within a month or two. This is absolutely achievable if you put in the hours after work and on the weekends. The point of the prompts is to get you coding while building a commercially viable project for your portfolio.
I’ve structured each project like an informal business case, with just enough details to get you started. Don’t over think your features, or else your project is going to balloon and you’ll run out of time. The goal is to create and complete as fast as possible, with the best coding practices you can muster during a set amount of time. It’s also a good way to prevent scope creep.
1. Build an Intermittent Fasting App
Project premise
Health and fitness are all the rage nowadays, with intermittent fasting leading the way. For this project, you are required create a mobile app that is deployable to the app store.
For JavaScript developers, this is your chance to dive into cross-platform mobile app development and use frameworks like Ionic, Flutter, and React Native.
Business rules requirements
- A timer that informs users how long their fasting period has lasted
- The ability to set/edit fast start and end time
- The ability to set fast reminder alarms
- Track the following stats: completed fasts, 7 day fast average, longest fast, longest streak, current streak
- Tracking graph to show: fast goal, reached goal, didn’t reach goal
- Ability to select a fast: circadian rhythm, 16:8, 18:6, 20:4, 36 hour fast
Expected skills upgrade/obtained
- Experience in persistent local device storage
- Mobile native application development
- Tapping into mobile device specific features such as the alarm clock and notifications
2. Make a News Aggregator
Project premise
There’s a lot happening in the world, and sometimes it can be overwhelming to keep up to date with everything. Create a news aggregator application that pulls in RSS feeds from multiple sources and aggregates them based on date.
This application can be mobile-based or web-based, depending on where you want to upgrade your skills.
The perks of making a news aggregator are that there is no database required, and you can build it as a single page application using only front end frameworks or libraries, like Angular, React, or Vue.
Business rules requirements
- Must include at least 10 different feeds
- Sortable option by date
- Filterable option by source
- Pagination once the aggregated total feeds reaches 35 links
Expected skills upgrade/obtained
- Ability to transform XML data into readable JSON format
- Front end architecturing
- Framework/library experience
- Consumption of external resources
3. Create an Online Store Using External APIs
Project premise
Printful has a solid API interface that developers can tap into in order to create white label products. Use their API to create a fully capable ecommerce store complete with cart and payment acceptance.
You can partially MVP this application by creating your products using images from pngtree and upload them into your free Printful account. You don’t need a lot of products — 10 should be more than enough for testing purposes. You can also use their mock up generator to create the finished product images.
In theory, you can do anonymous checkouts with this project, and an auth system isn’t required. The purpose of this project is to help you dive deep into understanding the structures of APIs, how they work and fit together on a commercial level. Printful provides a good opportunity to do this.
You’ll also need to choose a payment gateway provider (i.e. Stripe or Paypal) and figure out how to take payments. Both have test sandboxes, so you don’t need real money to make your mock purchases.
Business rules requirements
- Customer can view products
- Customer can add products to cart
- Customer can view shipping costs
- Customer can make an order
- Customer can view/track order
Expected skills upgrade/obtained
- Usage of commercial APIs suite
- Understanding of common API patterns and architecture
- Understanding of data structures, JSON creation and consumption
- Commercial cart flow from a developer’s perspective
- Exposure to a payment provider’s processing flow
4. Create a Blog Using Your Own Database Schema
Project premise
A blog system from scratch is a fantastic way to upgrade your CRUD skills, along with your ability to create database architectures. In this project, you’ll be required to create your own APIs in order to connect with the database and the front end to display your data.
Focus on the functionality of the blog rather than the look of it. I recommended that you use a bootstrap of sorts, like Twitter Bootstrap or CSS Materialize, to speed up your development process.
For your database, you can use either a mySQL database, or a table-less like MongoDB. Most employers are still using mySQL due to legacy reasons, while startups tend to lean more towards table-less architectures. Whatever your choice, they are equally valid in terms of usefulness on your resume.
The focus of this project is the database, the interfaces connecting to the database, and the rendering of data. API creation will let you traverse into the realm of Node.js, or whatever back end technology you’ve chosen.
While a blog may sound simple, it is a proper full stack project that can be transferred into a live environment.
Business rules requirements
- User must log in before making a post
- User can create, update and delete posts
- User can attach categories and tags to posts
- Anyone can view posts
Expected skills upgrade/obtained
- Database architecture
- API creation using a back end technology
- Increase in technical depth for chosen front end framework or library
5. Create a Wish List App UsingExternal APIs for Products
Project premise
This project is a mixture of creating your own database to track wishes and consuming external APIs. Multiple traditional retailers, such as Macy’s and Walmart, have product APIs that can be used for this exercise.
The perk of this project is that you’ll also need to create your own auth system, or tap into open ones like social login in order to create personalized lists for each user. What you decide on is dependent on time and what you want to learn. Using social logins can be easier than creating your own auth system because you’re just consuming third party APIs again.
Business rules requirements
- User can create lists
- User can add/remove items from list
- User can mark an item in a list as acquired
Expected skills upgrade/obtained
- Consumption of external commercial APIs
- Database CRUD
- Increase in technical depth for chosen front end framework or library
6. Create an Advert Board
Project premise
Think Craigslist and job boards. They’re all essentially digital advert boards. What you’ll need is the ability for users to pay for advert space, which lets you play with payment providers.
This is possibly one of the easier prompts from a visual perspective, since you’re just listing out the jobs, creating a form, and attaching a payment method to complete the process.
Business rules requirements
- Users must be able to sign up and post adverts
- Users must pay for adverts to display
- Users can save advert drafts
- Users can edit drafts and live adverts
- Adverts can expire and therefore no longer show on the website
- Anyone can view posted adverts
Expected skills upgrade/obtained
- CRUD operations for database
- API connection to the database
- Payment gateway process flow and implementation
- Increase in technical depth for chosen front end framework or library
7. Create a Reservation App With AI Features
Project premise
Machine learning is one of the most explosive topics this year, and AI is part of the ride. Google, AWS and Microsoft Azure all have their own AI cloud services that are available for developers to dig into. Choose whichever is the most popular in your area, or simply whichever one you’re interested in, to get started.
A reservation app is, in a way, like a game. You are the customer who has specific patterns of preferences — why not leverage it for increased sales using AI?
Pick a bookable industry, like hotel, car rental, or restaurant, and create an application that allows you to make a reservation. Then get your AI to start making suggestions based on your patterns. Share it with your friends and test out how good it is at selling to them. You’ll also need a database to keep track of all your reservations.
Using social logins will help cut down the time required for this project, but it’s not an absolute must. Alternatively, you can use Firebase’s authentication system to help cut down the development time. If you’re keen on building your own auth system and want to explore the associated concepts, then this is also a good space to do it in.
You can make this one as a desktop site or mobile app. It’s a fun little exercise that is simple enough to boot up, but complex enough to be noticed by potential employers.
Business rules requirements
- Users must login in order to access reservations list
- Users can make reservations
- System can detect user preferences and make suggestions based previous data
Expected skills upgrade/obtained
- Implementation of cloud based AI service
- Understanding of auth systems and their relationship to the front end
- Database architecture to track data
- Increase in technical depth for chosen front end framework or library
8. Create a Serverless Community Forum
Project premise
Next to AI is serverless architectures. This project is geared towards cloud infrastructures and gives you a chance to explore potential architectural solutions for the project’s requirements.
You’ll need CRUD and auth knowledge here, along with a database. However, rather than coding in the traditional MEAN, MERN, or whatever stack that requires you to build full Node applications on your machine, your task is to take a distributed approach and use a serverless architecture. This means a slightly different way in structuring your code locally. It can be a good exercise to experience trips and falls as your mind adapts to new ways of thinking.
Serverless can be weird from a coding viewpoint for the uninitiated, but, overall, it has its perks. There is a framework called serverless that can help you along this journey, and it supports all major providers. The documentation is great and the community is thriving.
Business rules requirements
- User must log in before they can create/edit/delete comments or posts
- User can make a post
- User can comment on a post
- User can respond to a comment on a post
- Anyone can view posts and comments
Expected skills upgrade/obtained
- Understanding of basic serverless architecture
- Understanding of CRUD and database connection with serverless
- Understanding of how auth systems work
- Increase skill in database architecturing
- Exposure to cloud based services
9. Create a Chatroom Using Cloud Services
Project premise
Messaging apps are some of those under the radar applications which impact our daily lives so much that we don’t even notice them anymore. One major skill that this project addresses is the ability to dynamically update the view when the database updates without having to refresh the page.
From the development viewpoint, this can be tricky if you’re not used to it — or if you don’t know which services to use. AWS has a thing called AppSync, with Google you can use Firebase, and Azure has SignalR. These are just suggestions, and there are other potential architectures you can use for the different services.
This project will extend your knowledge on the products that are provided by your chosen Cloud provider. Cloud computing is essentially a product. Learning to use these products is what extends your technical boundaries as a developer.
Business rules requirements
- User can chat anonymously with set name
- User can sign in to chat
- Signed in user can make chatrooms
- Signed in user can mark chatroom public or private
- Anonymous users can only access public rooms
- Users can create messages in chatrooms
- Users can delete their own chatrooms
- Users can add other users into their private chatrooms
- Only users who are added can view and create messages in private chatrooms
Expected skills upgrade/obtained
- Knowledge of chosen cloud provider’s services
- Knowledge of how to use a specific set of services and how different services fit together
- Auth systems
- Database connection and updates
10. Extend Chatroom to Include Subscription Payment Options
Project premise
All the projects listed here possibly cover 90% of the technical skills you’ll need for a commercial project. However, there is one thing missing, and that is subscription payments.
Subscriptions require understanding of your chosen payment provider’s APIs and payment flows. That’s why I’ve piggybacked this project as an extension to an existing project. In theory, subscriptions can be used for any of the the above projects since requirements are usually the same when it comes to subscriptions.
Both Stripe and Paypal have subscription abilities as part of their APIs, along with sandbox environments.
Business rules requirements
- A user can sign up to a subscription for access to features
- A user can cancel their subscription
- A user can gift their subscription payment to another user
Expected skills upgrade/obtained
- Understanding of subscriptions for the chosen payment provider.
- Implementation of sandboxes for payments
Final Words
Each project comes with its own unique set of skills and knowledge, with some aspects that overlap each other.
The more you code, the more you’ll start to recognize the patterns that repeat themselves over and over again, regardless of whatever language or tech stack you choose. The above projects also make good boiler plates for CRUD and auth systems — two aspects that are vital in nearly all commercial projects currently out in the wild.
Remember that the purpose of these projects is to extend your skills and coding knowledge boundaries. Focus on the big features rather than pixel perfection — unless that’s a skill you’re trying to improve. You can bootstrap as much as you like for an MVP mindset, or create structures with scalability and growth in mind. How you end up coding and implementing it will be based on where you are in your programming journey.