Inspiration

I don't like having multiple tabs and files open when working because it feels overwhelming and cluttered. Thus, I close them the moment I think I don't need them anymore... only to go looking for them again. The purpose of this project is to easily build batch files (files that run a sequence of command-line instructions) that will open all the tabs and files you need to set up your workplace.

What it does

  • Enter either a link or an absolute path to whatever file you want opened, then press the blue '+' button
  • Optionally set a delay between links/files to let processes finish opening
  • It will also show a preview of the .bat file if you'd rather copy paste it instead
  • Download the provided .bat file and use it to automatically open all your links/files

How we built it

Built with React, all provided links and file names are stored in an array of Entry components and is automatically updated as the user adds or removes entries. Each Entry component is a JSON that contains a text and delay field. When the user downloads the .bat file, the program runs through the array containing all the entries and builds a string representing the .bat commands based on each entry's fields. The string is saved into a blob with the .bat extension which is downloaded for the user.

Challenges we ran into

The biggest challenge was learning React and refreshing web dev memory while doing the project. Also doing this solo meant no one could hold me accountable for blankly staring at my screen.

Accomplishments that we're proud of

I'm glad that the project is complete to its MVP and can be used as intended. Whether it's faster than manually creating a .bat file is debatable... but it works!

What we learned

  • React components, props, and states.
  • Blobs
  • Deploying to GitHub Pages

What's next for Batch Bakery

  • Fixing some visuals when dealing with smaller viewport widths
  • Implementing more .bat commands

Details for judges

  • Solo project
  • Term 2 student (no term 1s)

Built With

Share this project:

Updates