ruk·si

Pet Projects

Updated at 2014-01-31 00:15

This note contains a list of programming pet project topics. I use this when deciding what to do with a new fancy language I want to learn.

  1. Keep it simple.
  2. Makes something that you'd actually use.
  3. Figure out how to do it the most minimal way.

Desktop applications.

File explorer.
Quick launcher for other applications.
Image browser.
MP3 player.
Text editor.
Calculator.
Alarm clock.

Web related, but on the desktop or server.

RSS reader.
Download images from a web page. Automatically changes your background.
Download linked images from a web page.
Download linked images from a web page with given interval.
Download files and show progress bar without blocking.
YouTube URL to AVI or MP3 downloader.

Web sites and services.

RSS feed generator.
Static website generator with blogging and RSS functionality.
Web server for HTML, CSS, images and JS.
Markdown to HTML converter.
Web forum.
Booking system for a company running a single hotel.
Booking system for an airline company with multiple airplanes.
Booking system for your hair dresser friend.
Booking system for a doctor.
Booking system for a library.
Food recipe database.

Database related.

Object relationship model for a database.

Image related.

Image gallery application.
Bulk thumbnails from a set of images.
Slide show software.
Watermarking application.

Game related.

Quiz game with text.
Quiz game with images.
Quiz game maker.
Text adventure game e.g. Zork.
Puzzle game e.g. crossword puzzle.
Platformer game e.g. Super Mario.
JRPG with combat, walking and dialogue system e.g. Final Fantasy I.
RPG character sheet management application.
RPG dice roll application.

Security related.

Scan ports on an IP.
Credit card validator.

Academic applications.

Create sorting library that implements merge sort and bubble sort.
Create graph library that implements Dijkstra's algorithm.

String related.

Count words in a string.
Count vowels in a string.
Code syntax highlighter.
Templating engine

    Hello {{name}}!

    Thank you for buying:
    {{ for product in products }}
    - {{product.name}} ({{product.price}})
    {{ endfor }}

    {{ if isFrench }}
        Au revoir!
    {{ else }}
        See You Soon!
    {{ endif }}

    - Company

Sources