Skip to content

Portfolio Project Ideas #10

@coolaj86

Description

@coolaj86

Choosing a Project

There are basically 3 types of projects you can pursue.

  • Passion Projects
  • "Cliché" (but GOOD!) Projects
  • Other Useful Projects

Pro Tips™:

  • Documentation is most important (see Exact Instructions Challenge)
  • Focus on your strengths - if you suck at JavaScript, focus on the HTML and CSS. If you suck at CSS, write a CLI utility.
  • No one looks at your code to look at code. Your project MUST first show that it's valuable (and the value can be that it's fun or interesting). READMEs are a MUST.

Passion Projects

The best project is something that you're personally interested in or directly connected with - such as a tool to help a friend's business. This is good because:

  • You inherently understand both the problem and solution
  • There's a real reward - your own enjoyment - once you complete it
  • You have a stronger desire to finish it, and share it

Typical Projects

If you don't have a passion project - just pick one of the common projects - just because they're cliché does not make them bad. In fact, they're quite good - and you should at least know how to write them anyway.

These are simple to understand, easy to create, and there are lots of examples out there to review if you get stuck.

  1. Unix utils: tree, curl, etc
  2. Markdown Blog
  3. Bot-Friendly, Human-Readable Resume
  4. To Do List
  5. Chat Server or Bot
  6. Nerdom Quiz or Compendium

1. Unix Commands, such as tree & curl

  • tree - recursively print out files and folders, replicating unix tree, or lsd --tree
  • curl - fetch web requests, modifying headers and body, replicating unix curl or curlie
  • stat - give file metadata (size in various formats, created at, modified at, etc)

2. Blog

Markdown Blog - built in any language with Markdown, YAML, and a way to configure and apply a Theme

3. Bot-friendly, Human-Readable Resume

HR Departments use CRM software called "ATS", which makes good resumes look terrible, and bad resumes look not worse.

Create a resume template that plays well with pdftotext and ATSes, that also isn't an eyesore.

See BeyondCodeBootcamp/html-resume#5

4. To Do List

To Do List - Create a simple Notes or Reminders app for yourself

5. Chat Server or Bot

Chat Server or Bot - Write your own simple chat app, or write a bot for an existing one

6. Quizzes & Compendiums

Nerdom Quizzes & Compendiums - Write your nerdom quiz or compendium

7. Unix Developer Tools

  • aliasman a cross-platform tool to manage aliases across bash, powershell, fish, etc (alias gcf='git --amend --reuse-message HEAD')
  • envman a cross-platform tool to manage ENVs across bash, fish, powershell, etc (GITHUB_TOKEN=gha_xxxxxxxxx)

Critical Coding: Think about some app you use every day - Slack, Spotify, Notes, etc - and find something that bugs you about it or that you wish it had. Then make a clone of that thing, focusing only on what you would make better (and the documentation and deployment, of course).

But... why is the time gone?

But... why is the rum gone?

In reality, the presentable code that you write for a portfolio project is only about 10-25% of the work.

About 50% is the documentation and publishing:

  • Creating Issues and task lists to track your goals and progress
  • A nice README (todo create template)
    • Short, Tweetable description
    • Visual preview
    • Quick Start
  • Host a demo online
  • Publish to the package repository (npm, cargo, git) or app store
  • Announcing
    • YOUR Blog
    • LinkedIn
    • add to LinkedIn portfolio
    • put in a related LinkedIn group
    • Twitter
    • reddit
    • HackerNoon
    • Facebook
  • Possibly a Video Overview

Another 50% is research or trial-and-error - hence it takes 3 days to write 100 lines of code (or maybe just 50!)

Oh, and by the way - if you spend less than 400% of the time, you've done a great job. Be proud. 😉

More Projects (see below)

  1. Resize an Image (in the Browser, with Canvas and scaling)
  2. Random String Generator (suitable for API keys and Passwords)
  3. File System as a Spreadsheet (an alternative way to manage files and folders)
  4. Personal Search Engine (e.g. index your Social Media, Blog, activity on StackOverflow etc) (note: Matt Holt's Timeliner)
  5. coreutils++ - crossplatform cli tools

Useful tools

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions