DEV Community

Shawn McElroy for Space Rock Media

Posted on

What tools have you built?

This is sort of a follow up to this post:

I am curious to what tools people have built that you use either locally or in production that helps you be more efficient. From automating, to building, code generation, scheduling/reminders, or anything else.

Even if you never released it (you should!) I would be interested in knowing what non well-known tools people have made to make their own developer lives easier

Oldest comments (13)

Collapse
 
anwar_nairi profile image
Anwar • Edited

I love this post idea!

I've made myself a tool to run tests for my SPA because I had a hard time with jest-puppeteer, and mine works fine for my use cases. I've abstracted the maximum to only specify what I want to test (the title of the tab, a click navigation, ...). It only uses puppeteer, assertions are done by test type (title, expected url, ...). I am thinking of remaking it to be more robust, and publish it for the community.

Another tool I launched recently, still for my web apps, is browser-worker, to work easier with service workers. It is still in development, I try to keep up with the maximum of use case.

What about you Shawn? :)

Collapse
 
jackharner profile image
Jack Harner 🚀 • Edited

Oh Boy. My Time To Shine:

  • Material Color Palette
    • A browser extension that allows you to click to copy any of the Material Design Color Codes. I got tired of googling them so I built a two click way to get whatever color you need.
  • Another Browser Extension that adds a bunch of custom JS to ChannelAdvisor (an inventory management system we use at work)
    • Simple things like autosaving comments, adding a print button that automatically fires Ctrl + P on order invoices and then closes the page, counts days since order date, click to copy order numbers, etc.
  • A set of PowerShell scripts that pull product images from brand's websites based on SKU, a Photoshop action that processes the image to meet our specs, and then another PowerShell script that uploads the images onto our file server.
  • A Handful of Python scripts that add some custom functionality to the BigCommerce API.
    • Duplicating coupons, connecting MailChimp segments to a customer group in BigCommerce.
  • A system that collects the exported data of any return label generated and puts it in a nice searchable table to more easily track down returns.
    • We previously had to figure out which date the label was created, export that date, and hope we got the date right.
  • A system that converted a burger restaurant's archaic Excel spreadsheet schedule into a shiny 21st Century Google Sheets spreadsheet that would export the schedule and post it to a WordPress site accessible by the staff.
    • I got really tired of writing down the wrong schedule since they would only post a paper version on the wall in the store. Built it so functionally, making the schedule would be as similar as possible for our tech-challenged managers.
    • Worked really great until one of the tech-challenged managers took over doing the schedule and she just wanted to do it by hand. They went out of business not long after that.

I've found I'm pretty good at identifying inefficient processes and then learning what I need to do to make them better.

Edited to add: I'm also super lazy and hate doing repetitive things over and over. Take out as many steps as possible and it'll save you boat loads of time.

Collapse
 
liyasthomas profile image
Liyas Thomas

I've built

Collapse
 
evanplaice profile image
Evan Plaice

node-ftpsync: Does incremental file sync to a FTP (ex shared hosting).

Wrote a static site generator that generator that uses GoogleAppEngine for templating.

A tool to generate clean install VMs of Windows, OSX, Linux for VirtualBox

A tool that generates PDF documentstion from a fillable PDF form and GoogleSheet as a data source.

A scraper that crawls a site and locates all broken links.

And probably a dozen others I can't think of off the top of my head.

Collapse
 
jckuhl profile image
Jonathan Kuhl

I wrote a tool in bash that sets up a simple no-framework web page file structure. It gives the option to start a git repo, a package.json and launches VS Code and Live-Server right off the bat.

Collapse
 
ecognito profile image
E Cognito

A long time ago I wrote the original version of Latexmk which is still used out in the world to automagically produce your latex documents.

Erudite pulls articles from Instapaper or Pocket and add to your ebook library.

Clementinemonitor is a small python script to monitor what is currently playing in your Clementine music player, by hooking into the relevant dbus signals to detect state change.

Movieschedule to track Australian movie release dates. Sends emails if dates change, and keeps a google calendar up to date.

Sitesync which can mirror folders that are either on local file system, FTP or SFTP. It keeps track of file modified times and sizes to detect changes on either side and allows you to rationalise. Originally wrote it to help me maintain some web-sites without clobbering changes that other contributors were making at the same time. Think of it as unison that doesn't need the program running at each end (but hence, isn't as robust).

Collapse
 
charlexmachina profile image
Carlos Eduardo Pérez Villanueva

Well, I have built two tools that I used while developing my first game ever published.

The first tool was a localization editor. Since I made the game on a budget of basically zero dollars, I couldn't afford a fancy localization tool from Unity's asset store, so I made my own which works with key/value pairs. Although I don't have a link for it, I made a tweet about it right here: twitter.com/CharlExMachina/status/...

My other tool was a pattern editor. Since my game uses patterns to spawn elements in a match, hard-coding those patterns was VERY cumbersome and resulted in a code file of almost 2,000 lines. So I made a custom editor where I could add patterns with a graphical interface and that's how I've been working with patterns ever since then. I never tweeted about it but it's such an integral part of the game that made the development feasible and ended up in a published game.

Collapse
 
hammotime profile image
Adam Hammond

aws-creds: Makes it easier to use multiple AWS accounts when you don't have SSO available. You can easily save multiple profiles, and then log into them with an simple set of commands.

I built it after being sick of modifying my ~/.aws/credentials file constantly and working with environment variables.

Collapse
 
dystroy profile image
Denys Séguret

I deal daily with many projects, and even the things I authored are more than what my poor memory can hold, which is why I built broot which helps me make sense of a project structure and find the file(s) I'm interested in.

Random trick for vi users: making :e an alias to your editor, :q to exit, etc. This reduces the cognitive load when you deal with a lot of terminals and editors.

Collapse
 
jhuebel profile image
Jason Huebel

I do a lot of automation/integration in my work. So I write a lot of Python or PHP (cli) code.