Inspiration
I've used many of the online converters before and I got suspicious about what they were really doing with my data. Almost all (probably 100%) of the top search results were closed source. I decided to create a secure and easy to use alternative to them.
What it does
reshape allows you to run your input through a number of converters to get to a outputs. There are some modules that come built-in with reshape, but it's very easy to create your own. Just create a shared library that exports a function module_convert with the right function signature and converts the data and you're done.
How we built it
I used C to build a CLI app that takes in input and runs them through converters, packaged as shared libraries, to get an output. libdl was used to load the shared libraries, and standard Linux APIs were used for everything else.
Challenges we ran into
One major challenge were small memory errors that were caused by small programmer errors. I plan to rewrite in a more memory safe way or with a more memory safe language like C++ or Rust in the future.
Accomplishments that we're proud of
I am proud that reshape is able to successfully load shared libraries and run inputs through the conversion functions.
What we learned
I learned that shared libraries can be a very powerful tool in creating applications.
What's next for reshape
In the future, I plan to support even more platforms (maybe even creating a web demo with WebAssembly), and I plan to make reshape even more reliable, secure, and more powerful.
Log in or sign up for Devpost to join the conversation.