
Ask HN: Software eng, but not a web dev. Learn new frameworks to build MVP? - charleswzx
Hi, hackers!<p>I&#x27;m building Future Proof, a community platform for scientists, enthusiasts, hobbyists and geeks to share cool projects, people and ideas in the fields of sci-fi and deep tech!<p>I&#x27;ve always felt that comic book geeks, DIY hackers and serious academics were overlapping domains, but there was never a platform for all these folks to fantasize and dream freely about tricorders and warp drives. I&#x27;m looking to build a Reddit&#x2F;HN&#x2F;IH style platform (as a start) to engage these communities together.<p>An ideal interaction would be:<p>A team of hobbyists get together to build something straight out of sci-fi (an ion thruster, for instance). They post their team and idea on this platform, and experts jump in to offer suggestions, funding, expertise, etc. Obviously community support is more than just experts and money, but you get the idea.<p>I have a newsletter going, with about 40 friends and colleagues. I&#x27;m beginning to bring in enthusiasts, engineers, academics, VCs, founders and other folks from my network so I can get some quality feedback. This, in a sense, is my pre-MVP. Latest email here: https:&#x2F;&#x2F;mailchi.mp&#x2F;78dbc473dd84&#x2F;sci-fi-hunt-twice-weekly-newsletter-122953<p>I&#x27;m currently scoping and designing Future Proof. I intend to build it within the month so I can get some fast validation. I have experience with Python, C++ and minimal with HTML&#x2F;CSS&#x2F;JS.<p>My options appear to be:
1. Phone a friend
2. Rails
2. Django
3. Non-code platform (Bubble, WP)<p>My question is: What would you do in my situation?<p>Thanks, and happy hacking folks!<p>P.S.: Would love to have you on my early newsletter subscribers! Sub here: http:&#x2F;&#x2F;eepurl.com&#x2F;dBhfE5
======
shiburizu
You mentioned python: Pick up Flask. It's seriously the most down to earth,
"it does what I want it to do" framework for web. Make sure you know how to
use SQLAlchemy (Flask's builtin SQLAlchemy is amazing) so you can have a
persistent database and just spend some time building pages with forms and
populate your pages with forms. Later you can make it look pretty with
Bootstrap.

I spent a lot of time opposed to "web apps" being ported as native
applications but I've come to realize after doing it myself on a few web based
projects that there is no better GUI framework than just writing HTML and
using CSS frameworks. It works everywhere the way I want it to.

As for deployment you can consider Heroku. I consider the "ephemeral" approach
a bit annoying to work with on the first few tries but when you get the basic
idea of how the platform expects your program to look and you get a really
nice setup for free.

This is how I've written a few different web apps coming out of highschool
where my programming knowledge was limited and I wanted to work on websites
and apps. I spent a few tries using obtuse things to write programs in things
I was familiar with already but after seeing how easy it is to work with Flask
and Jinja2 templates, it's recommendable to people who are new to programming
in general.

There are more modernized approaches you can hear from people who work in web
dev: going directly into Vue/React and writing your whole web application in
Javascript. But I think for a more holistic understanding of just what you are
doing (something a lot of crash courses miss) I'd recommend writing your back
end in Flask, writing those HTML pages and using templating to show your data
on those pages. Then you can beautify, and hit up your preferred deployment
option.

Good luck!

~~~
tobltobs
Flask is great, but as this is his first web project he wont have any own
opinions. Therefore Django might be the better choice as he has all the
batteries (ORM, backend dashboard, user registration, ...) already included.

~~~
charleswzx
I've tried Django! It really does lots of batteries included. It was going to
be my go-to if I wasn't going no-code. Thanks!

------
jmstfv
If you are just building an MVP, you'd want to spend very little time on
actually building the product. Here are some choices:

* Discourse forum: [https://www.discourse.org/](https://www.discourse.org/)

* Slack channel

* Google Docs spreadsheet

~~~
charleswzx
Discourse sounds like a great place to start. Thanks!

------
krrishd
It's been a while since I've taken a look at the landscape, but Telescope is a
tool that's built explicitly (or at least used to be explicitly) for building
Reddit/HN style communities
([http://www.telescopeapp.org/](http://www.telescopeapp.org/)).

In addition to their actual software, looks like they have a nice little guide
about actually building thriving communities on their tech:
[http://www.communitybuildingguide.com/](http://www.communitybuildingguide.com/)

~~~
charleswzx
Telescope was one of the first things I checked out. They appear largely
deprecated though, and have moved on to their new framework,
[http://docs.vulcanjs.org/](http://docs.vulcanjs.org/)

------
mabynogy
Create a chat for your 40 users. Start from what you have.

I wouldn't use a framework and I'd start with a static website.

~~~
charleswzx
Got you. Chat channel coming soon.

------
potta_coffee
If I were in your position, I'd choose Django or Laravel. I'm really not a fan
of PHP but Laravel has a lot of dummy proof features and it's super fast and
easy to get pretty serious projects built.

Django and Laravel both have very excellent, detailed documentation as well.

Good luck! Sounds like a fun project. I hope you post it on here so I can
check it out when it's done!

~~~
charleswzx
I most definitely will! Thanks for the suggestions!

//shameless plug You can stay updated and get awesome sci-fi news, tools and
projects by subscribing to Future Proof!
([http://eepurl.com/dBhfE5](http://eepurl.com/dBhfE5))

------
LocalMan
For a real software developer, PHP is a horrible language. And Javascript is
almost as bad.

The software tools to help you build and deploy are also a painful mess.
You'll have to test on multiple browsers running on multiple operating
systems.

It's just a matter of a week or so of overcoming the cultural shock. But
you'll have to schedule it in.

Paul Graham says to do it all in Lisp. Most people don't.

------
Jaruzel
You say to have minimal HTML. So I'd say phone a friend for the UI/UX - Don't
under estimate how much work has to go into the front end of web apps. In my
experience users now expect full rich applications in their browsers, and the
effort required to create that typically ends up being 80% of the work.

The backend always basically ends up just being functions to shove data in/out
of database tables - which is kinda easy.

~~~
charleswzx
I hear you. Good front end is a lot of work, work which I might not have the
ability to do just for an MVP. Thanks for the suggestion!

------
Kagerjay
wouldn't just a discourse forum suffice? or a phpbb instance

It would be a good way starting off, a subreddit would work too. Might as well
start building the community today

then you can build whatever stack you want for more fine tuned features
(django, rails, etc)

~~~
charleswzx
You're right. One of my motivations building this platform was to get people
OUT of subreddits and discourse channels and get mixing in the open. You're
right though. I'll be setting something up to pair with my newsletter for now.

------
m3tr0s
Start a subreddit. I mean if you want to build business, don't start with
building a product if it isn't completely necessary (it isn't).

~~~
charleswzx
In your opinion, subreddit vs. discourse/telegram/slack channel?

~~~
m3tr0s
Reddit, because it is indexed by search engines. Others I think are not.

~~~
iKJames
Discourse is a forum software, self-hosted and does get indexed by search
engines.

------
dylanhassinger
learn Vue.js and Express.js. These are lightweight tools you can build
anything with

