I spent 48 hours coding my most recent project to an MVP state: Rocket Form, a form builder. I have a full-time job as a senior software engineer at a fast-paced startup. However, after putting my baby to sleep each night, I found that I still had 2 hours of free time. Given the short amount of time I had each night, I want to share the technologies that I used that allowed me to code less but do more.
To be as productive as possible, I used technologies I was either intimately familiar with or had some experience with and could quickly dive deeper into. They also had to be technologies I knew I would enjoy using to avoid burnout. The stack I ended up utilizing was Ruby on Rails, Hotwire, Stimulus, and plain JS.
These technologies allowed me to move fast for these reasons:
Since Rocket Form is a form builder, a large part of it is the form editor. I decided to adapt an open-source block editor, Editor.js, for that. It's the only open-source block editor I found that's built with plain JS. Adapting it and creating custom block components was surprisingly easy, and I want to compliment the Editor.js team for their excellent documentation.
I bought a bootstrap template from Creative Tim. They have beautiful dashboards that allowed me to spend less time designing and styling.
To sum it all up, to move fast, I stuck with technologies I was proficient in and utilized technologies that had all the nuts and bolts included; allowing me to limit the amount of boilerplate code and focusing on coding the features. I utilized a pre-made dashboard template to save time on design and styling, and used minimal JS for simple HTML manipulation in the frontend.
How much did the template cost? Considering one for our next feature for Orderly
I had the Creative Tim Club access, which gives access to all the templates. When I bought that access, it was $249. You can buy individual templates too of course, which would be less.
Great work
Thank you!
I have built a few MVPs, and I've always used Rails because I have worked with it professionally for years.
The last thing I built, I used Next.js and Firebase and it took forever. I did, however, learn a bunch of tricks that will help the next next.js project I build go much smoother like boilerplates, DaisyUI, react hook form, and some architecture things. So, even though it took much longer than it would have as a rails project, it was a very enlightening learning experience.
I'm super pumped to build my next project with rails though.
That said, I now think I could throw an app together with next.js in about as much time as it would take me to build a rails app. This is great because I think each framework has its strengths and weaknesses.
I do plan on using next.js for the app after my next one, which will be very front-end heavy and could benefit from a framework like next.
And it's a little further down the pipeline, but I'm already planning out a Django app since I'll be doing a lot of ML work with python on that one.
I guess my point is that although I'm most comfortable with Rails, I'm still branching out to use what feels like the best tool for the job, even if I have to do a little extra on-the-job training. But if I need speed over fussing over my stack, at this point I'll likely keep falling back to what I know the best, which is Rails.
Rocket Form looks awesome! Thanks for sharing!
Thanks for sharing your experience. Indeed, it's important to branch out and try different technologies. It definitely keeps things less boring.
Great to meet another Rails person!
Nice job! It's inspiring to see fellow full-timers with kids get stuff done :)
It's tough! Just have to hang in there.
Great, Love it !
Thanks!
great, this is my dream product which can help other people
Thanks! Please let me know of anything that should be improved.
You've created the Tally killer. Love it. I'm in and I'm here for it.
The simplicity and low tech opportunity here makes it ripe for podcasters just getting started. They are often a very simple type of people (re: boomer) and can be over whelmed.
I bet if you tweak that a bit, include some features they may find helpful, r/podcasting would welcome it.
@addicted2saas That's really good idea. Any advice on how I can engage with some postcasters?
You just need to be where they are. I operate a group on FB that has a lot of newer podcasters in it. Send me a DM and ill give you an intro.
@addicted2saas I would love to connect with you! Not sure how to reach you, I can't find your contact info on your profile. My email is [email protected] or my twitter https://x.com/philbobatea
Nice stuff - can I ask where you had your logo made?
On Fiverr!
Excellent!
-- From A Newbie coding boy.
Amazing work! I am a new father too and struggling to find time. Reading this has inspired me to find time.
Can you share how did you end up with this idea and what led you to pursue it?
I also built & deploy the saasideas(dot)net on last weekend in almost 2 days just to validate the idea. I used Laravel & bootstrap.
For whatever reason i can not post the link of the website in the previous comment. It gives me this error "You're not allowed to post links yet". Anywhy the link is saasideas . net
Congrats! Can you share more about how you store the form data and responses on the backend? Is the data being stored within JSON blobs or rows in the database?
As each form has different fields, I chose to go with a JSONB column in a
formstable (postgresql) to store the structure of each form. There's also aresponsestable with the answers stored in another JSONB column. For responses, I could also build a table with a row for each answer, but for the time being I chose to go with JSONB. As more features get built out, and if it turns out that I will need to do more operations on each answer of a response, I might move it out of a JSONB, but for now it works for what I need.Hey are you seeing any traction?
Great job building so fast but why did you decide to go with a form builder? I would imagine that this market is saturated.
Currently, I can count on my hands the number of users. But I’m starting to get a couple of sign ups a day.
You’re right there’s a lot of other form builders out there. However, honestly I am just having fun making this form builder. I put a lot of effort into the UI and live rendering preview of the form, that I hope I’ll be able to carve a small market for people that enjoys this particular experience.
Thanks! Yes, we're seeing some traction. We chose a form builder because we identified unique features and user needs that current solutions weren't addressing.
who uses this kind of product, doesn't just people use HTML and CSS the traditional ways to build forms ?
Good question! Rocket Form is not intended for software developers to replace forms on their apps. It is for anybody (not necessarily devs) to be able to create survey type forms that they can share to their audience and collect responses. It’s intended to be a better experience compared to Google Forms.
Awesome to see this - congrats! Would love to see this broken down by cost :). As a dev, I bet it's hard to put a number ($) on your time, but how much are you in on services, etc.?
My infrastructure costs are pretty low right now, at about $14/month. I have it on heroku with a basic web dyno and postgres. I’m not serving large traffic yet, so it’s ok to keep my resource consumption small for the time being. Additionally I utilize caches heavily so that I can render pages in a short amount of time, thus delaying the need to scale out the infrastructure.
Thanks! Yes, we're seeing some traction. We chose a form builder because we identified unique features and user needs that current solutions weren't addressing.
By leveraging my existing skills and streamlined technologies, I accelerated development by minimizing boilerplate code. Employing pre-made templates and judicious JS usage, I prioritized feature implementation over repetitive tasks, ensuring swift progress.
This really should be the summary. Thanks.