12 ms·
Ask HN: Making a mobile app as a back-end developer?
My main area of expertise has been backend java development for years. I have a few mobile app ideas I have been designing the backend for a while. But since I have no frontend experience, I don't know how to proceed. Should I start learning, which will take large amount of time since there are plenty of platforms you need to publish, or should I outsource it somehow ? If outsourcing is the right answer, where to find people I can work with ? Please forgive my English.
- mooreds 7y agoI worked on an app as a backend developer with an intermediate understanding of JavaScript/html. I was able to use Cordova to build out a functional prototype. After that we were able to engage with a contracting firm and point to the prototype as the requirements. This let them quote a firm fixed price, which we of course enjoyed. Sorry, not sure how the contractor was found. Depending on the functionality needed for your app idea (and your skills), this might be a good path. This was in the early 2010s.
- dogukanzengin 7y agoThanks for pointing out Cordova. Just took a quick look at it, this can be a very good starting point, appreciate.
- la_fayette 7y agoThere is a competitive framework, named capacitor, which is developed by the ionic team. Together with ionic, capacitor is very easy to get things done fast...
- brudgers 7y agoJust start the thing you want to make. Figure things out as you go. You'll make mistakes. So what?
- karmakaze 7y agoI'm also a backend dev and have made some web frontend let projects. For mobile, I find Flutter/Dart the easiest to work with. Feels somewhere in-between TypeScript/js and Java. What's much more of a challenge is how to make it look great and easy to use.
- srameshc 7y agoStart learning. It has never been this easy to learn and build an App. I would certainly recommend Flutter/Dart rather than any JS framework. Since you mentioned Java, I personally think you will find working with Dart comfortable. Flutter is cross platform and now you can also build Web apps, though it is in beta. Flutter makes it easy for developers to play with the design aspect of application development so it will be a great way to get insight and learn a few things. It will be always challenging to outsource if you are not sure about the capabilities or reliability of developer or team you want to work with.
- swiley 7y agoDart feels like one of those google things kind of like chromium where the first step in setting up for building it requires (more or less) becoming a google employee.
- latchkey 7y agoI personally downvoted you because this comment just is not helpful. You don't need to ever 'build' Dart unless you're going to be working on the language itself... and if you are, you might as well be a google employee and get paid for it. Setup for Flutter development is just a few easy steps.
- fauigerzigerk 7y agoI agree with starting to learn. But whether or not Flutter is the right choice may depend the app. Flutter allegedly consumes about twice as much memory as a native app. So I guess it matters who the target audience is and what kind of device specification can be expected. Disclaimer: I have never written a Flutter app and I'm not sure if the information I have found is still up-to-date.
- la_fayette 7y agoCan you give any sources for twice as much memory argument of flutter compared to native? What do you mean with memory exactly, is resulting binary twice as big or does the flutter app neads twice as much main memory?
- erokar 7y agoCheck out Flutter/Dart. Lets you target both Android and iOS with one codebase.
- maxencecornet 7y agoI work as a back-end developer, I've built several apps using react native & expo and the experience was pretty good, I'm really happy with the results
- strikelaserclaw 7y agoI was in the same situation, got myself a macbook, learned ios development over a weekend and just learned as i went along with trying to develop the app. I think the important thing is just to get started on something instead of thinking too big.
- jonplackett 7y agoIt depends what you want to make and on what platform. I recently spent a year or so learning Swift and I absolutely love it as a language. My general advice is to pick a project that seems achievable fairly quickly and do your learning while trying to make that real. It’s much more motivating than learning for learning’s sake and only then actually making something.
- cerberusss 7y agoYou either learn it yourself, or pay someone else. If you have more time than money, then you learn it yourself. And vice versa, of course. It's really quite simple. If you want to learn and start with iOS, I'd advise doing the 100 Days of SwiftUI: https://www.hackingwithswift.com/100/swiftui https://www.hackingwithswift.com/100/swiftui The great thing about this course is that you can do it alongside your work, because it's divided in chunks of 1 hour. My experience is that you can do it in the evening, even after a full day of work.
- cableshaft 7y agoI've been diving into SwiftUI recently and it's pretty satisfying (although I used to do iOS development full-time back when it was all Objective-C, I've been mostly in C#/.NET/Angular land for the past 6 years). The framework is well designed and makes setting up the UI for native apps pretty easy with a lot less coding than I'm used to for other frameworks. I'd recommend looking into it if you don't care about cross platform (and I wouldn't personally care about that right away if you're getting your feet wet with mobile). Swift is also a fun language to program in once you get the hang of it (and yet it's not too different from other languages, so it shouldn't be too hard to pick up coming from Java). Although with previous Java experience Android might be easier for you to get into.
- highhedgehog 7y agoAnyone knows if there is there something like that for android or for any other cross-platform tools (Xamarin, Flutter, etc)?
- coder1977 7y agoIf you want to test your ideas, better outsource the front end dev (upwork.com would be an easy place to find talent that suits your budget) and have your ideas built asap to see if they get any traction, if not you can kill them quickly and move on to your next set of ideas. If the goal is to build a project as a hobby and (maybe) make money from it, best to learn any of the cross platform tools for mobile apps, here are some popular ones: https://hackernoon.com/9-popular-cross-platform-tools-for-app-development-in-2019-53765004761b https://hackernoon.com/9-popular-cross-platform-tools-for-ap... Best of luck!
- giancarlostoro 7y agoDon't be afraid to target the web for your front-end. Progressive Web Apps can be put on app stores and installed on phones without an app store technically. I too have been mostly a back-end guy, but since I am a younger developer I got pulled into front-end work in the middle of my back-end marathon and have done both since, I don't usually do Full Stack though, I try to focus on one at a time where possible.
- toast0 7y agoIf you know Java already, you should feel pretty at home with the basics of Android development. UI is tricky, but you can just smash some stuff together in the UI builder to get started. When you have a bit of experience, you can more easily judge the relevance and accuracy of the massive amount of internet sources and your potential outsourcing partners.
- chrismmay 7y agoI took the same journey you are undertaking. It's quite doable. You'll need a macbook to make a native iphone app. You'll need to sign up for Apple Developer which costs $100 a year. You could go the web route, but you then you won't really be learning native development for iOS and Android. Java for Android and Swift for iOS are the way to go in my opinion. If you can afford (or already have) a MacBook, like others have said, there is no reason not to dive right in and start working. When I started I licensed AppCode from JetBrains because I was used to IntelliJ. Eventually though I switched to XCode like everyone else. One thing though, make sure your Mac has at least 256GB of RAM not just 128GB because XCode and all the updates will fill that up very quickly.
- RussianCow 7y ago> One thing though, make sure your Mac has at least 256GB of RAM not just 128GB because XCode and all the updates will fill that up very quickly. Surely you mean disk space, not RAM?
- mosselman 7y agoOf course he does.
- rvz 7y ago> One thing though, make sure your Mac has at least 256GB of RAM not just 128GB because XCode and all the updates will fill that up very quickly. I'm sure you meant disk space instead of RAM perhaps? I think it would be overkill to obtain a Mac with 256 GB or 1 TB of RAM just to create iOS Apps. ;)
- chrismmay 7y agoYup, sorry, my mistake.
- eugeniub 7y ago> Java for Android Even though OP said they are a Java developer, I would strongly urge going with Kotlin for Android at this point. Kotlin replaced Java as the default language for native Android development in 2017, and new code samples are being written in Kotlin. At the very least, start with Java, and ease your way into Kotlin, since it's 100% interoperable with Java. Aside from being the default Android langauge, Kotlin has many other benefits.
- ufmace 7y agoJust go ahead and start building. You didn't mention a mobile OS, but if you know Java well, it should be straightforward to pick up Android development, which is already in Java. IMO, don't bother with any other languages, unless you really want to build the iOS version first. Just throw something together for the UI to get started and get the core functionality working. Then, if it feels too ugly, try working on that some. You could maybe hire a contractor or something to help make the UI better if needed. Personally, I wouldn't bother unless your app is published and bringing in money, and you can make a business case that spending $X on making it better will bring $Y more revenue. That would give you an idea of what's a good amount to spend. I wouldn't worry about any of that yet though.
- metalgearsolid 7y agoAs a native iOS developer I will gladly help you answer some of these questions if you want to provide more specifics on what you're looking to do. Could you reply with your email, or put it in your HN profile? Or just elaborate here? On mobile we work with pretty high-level abstractions, so if you did this yourself, most of the new stuff to you would be the frameworks like UIKit or Core Data (at least on iOS). Edit: Ray Wenderlich and objc.io are my go-to learning resources for iOS stuff
- m11a 7y agoPeople suggest Ray Wenderlich often, and he seems great, but it's mostly videos which I personally cannot learn from. He has books, but they cost a fair bit (around $100/book iirc), and they're not included in the subscription I think, unless I'm missing something.
- hashamali 7y agoReact Native is a good place to start. Not only would you be able to put together mobile apps, but the knowledge would be applicable to building web pages as well.
- CyanLite2 7y agoXamarin. C# is close enough to Java that you won't need to re-learn anything. Perfect for back-end devs trying to do Mobile and very friendly development environment.
- thrower123 7y agoI'd second this suggestion. If you aren't already conversant in the complexities of modern JS, trying to do a web-dev-centric mobile app is going to have you beating your head against the wall and cursing a lot.
- nmfisher 7y agoI'd actually suggest Flutter for the same reason. As a fresh entrant to mobile dev, I found Xamarin apps to be peculiarly unstable, often crashing for no apparent reason. On the plus side, though, tooling for Xamarin is a lot nicer. VS is definitely a first-class citizen, and being able to launch on a remote iOS device/simulator from inside VS is a definite advantage.
- lazyjones 7y agoPerhaps this if it still works https://news.ycombinator.com/item?id=12879179 https://news.ycombinator.com/item?id=12879179 Personally, I'd go with Flutter, but it's still a lot to learn...
- Razengan 7y agoHave a look at SwiftUI: https://developer.apple.com/tutorials/swiftui/ https://developer.apple.com/tutorials/swiftui/
- bsaul 7y agoAs an ios developer, i wouldn’t recommend someone to go into swiftUI, but rather directly go straight to cross platform techs. SwiftUI is still a niche, even amongst iOS devs.. the documentation is still lacking and the knowledge won’t be useful to anything else ( not to mention the fact that it’s transforming swift into a frankenstein language) React native or flutter seems more long term ( although i must say i find them also problematic in some regards ). Knowing the OP works with java, i would also recommend another option going with kotlin and do android only, as it i by far the largest market, and you will have a far lesser risk to get banned from the store for dubious reasons. Edit : reading other comments i realize the cordova / ionic option also makes perfect sense on today’s hardware. Just make sure you understand the limitations and try a few apps made with that tech from the store first.
- Razengan 7y ago> going with kotlin and do android only, as it i by far the largest market From what I read here and there, that's a half-baked myth in a number of ways. Android users often lag behind the latest Android version, lacking access to the latest features. In terms of revenue as well, Android apps don't seem to be ahead of their iOS counterparts. Someone with experience in publishing for both ecosystems may be able to correct/corroborate this. SwiftUI targets iOS, macOS, tvOS and watchOS, all counting for over a billion users combined. That's a substantial market, even when considering that it's limited to the latest version of each OS. And it's obvious that Apple's focus will be on SwiftUI going forward.
- bsaul 7y agoyou can’t combine ios/watchos/macos sales and reach 1.4b users. That’s probably the same people owning multiple apple devices. But by that metric android is 2.5 billions. now depending on your business, you may indeed want to target ios users as well, but gone are the days of « ios first, then maybe android later » (except maybe for tablets, where the ipad reigns alone). As for swiftui, apple does indeed seems to be pushing forward with the tech, but at this point i don’t think it matters much anymore. Videogames are developped with cross platform tools ( because 3d) , form-based apps are developed with cross platforms tools (because ui performance is now good enough). All we’re left with are non-gaming interactive apps where you still need maximum responsiveness. And even in this case you’re often better just developping only that screen natively and leave the rest cross platform.
- BrandoElFollito 7y agoI am an amateur dev, developing for fun and to annoy my family with home automation. I needed to build front-ends and went the JS way. Vue.js and a framework (bootstrap vue for instance) and you are good to go. With PWA you can make such an app very similar to a native one. In terms of effort, for an amateur Python dev like myself, it took maybe a weekend to understand how this works, and then more time to get the details.
- ketzo 7y agoI haven’t seen it said here, but Swift and SwiftUI make it very easy to make stuff that looks good without knowing a thing about design.
- AbstractFactor 7y agoIf you know Java, Android can be programmed in Java or Kotlin (a Java like JVM language). A lot of Android is not front end. SQLite databases, models, maybe use cases, JUnit unit tests etc. You know how to do a DAO to MySQL, Oracle or Sqlite? You know how to do a JUnit unit test of a data structure? That part will be easier then. Keep UI simple - one Activity, Navigation and Fragments. Use a ConstraintLayout and simple views like TextViews. Use a popular, simple image library. Much of Android work is not UI work. Keep the UI simple initially.
- dehrmann 7y agoMost of the Android-specific stuff is around app lifecycle and yes, UI. And you're right that a lot of this isn't so different from backend Java. I'd suggest OP download Android Studio. It's based on IltelliJ, so there's a good chance OP will feel right at home.
- jayd16 7y agoThere's also the option of building a mobile web page if that's easier for you. It's cross platform and no publishing headaches. Of course if you need background execution or platform support it can be easier to just go the app route.
- wolco 7y agoYou should download: quasar.dev or the ionic.io framework
- cobbzilla 7y agoHas anyone tried Vue-Native? [1] Curious if this is a viable option for a web-based app. [1] https://vue-native.io/ https://vue-native.io/
- melling 7y agoI have around 30 small Swift iOS examples on Github. https://github.com/melling/ios_topics https://github.com/melling/ios_topics I’d pick one platform and build a great app for it. If you go Android, Kotlin looks like the way to go.
- rubicon33 7y agoI started my career as a backend developer as well, and I'd like to echo another comment in this thread: Start learning. It has literally never been easier to build a mobile app. Flutter is IMO the best option right now if you want to build a cross platform app. I've developed native iOS applications, native android applications, and even react-native applications that run on both ios/android. By far, hands down, Flutter is THE BEST of all the options if you need to target both platforms.
- m11a 7y ago> By far, hands down, Flutter is THE BEST of all the options if you need to target both platforms. Would you mind elaborating on why you feel this? Particularly why you personally felt it to be better than React Native?
- mikaelmello 7y agoI can't say for myself, but Nubank (one of the largest digital banks) wrote an extensive report on why they chose Flutter. https://cdn.nubank.com.br/mobile/taskforce/nubank-mobile-architecture-task-force-mission-report.pdf https://cdn.nubank.com.br/mobile/taskforce/nubank-mobile-arc...
- petagonoral 7y agoThat's a good read. It's a pity the sample code repos aren't public.
- rubicon33 7y ago1) Documentation - The Flutter team has done an amazing job supporting their ecosystem with great documentation and examples. I've learned how to write production-level apps with animations, networking, bluetooth, security, and native features like Core Data integration... in EVERY instance it was easier to find the documentation for how to do it with Flutter. They also have a great YouTube channel with daily updates of quick 'how to' videos that are actually quite useful. 2) Tooling. Everything about the installation, update, package import, debugging, UI inspecting, performance monitoring... EVERYTHING about the development lifecycle is better with Flutter and that's because of its TOOLING. Straight out of the box you get debugging and performance monitoring. It couldn't be simpler. You run your app in debug mode and it ASKS you if you want to display a performance monitoring tool. Awesome. 3) "Out of the box" widgets / components. Hands down, Flutter ships with more widgets (components) out of the box. Often when looking for a component in flutter, it was supported "out of the box", whereas React Native required I npm install some 3rd party package, from some developer I'd never heard of, who probably isn't maintaining the project anymore. 4) Performance. I'm a strong advocate for writing your app in native code. I believe you will never get the same performance in a hybrid app, especially if you have complex animations, or huge lists. With that said... Flutter has completely blown me away. For the first time, I actually can't tell if an app is hybrid if it's a flutter app. The responsiveness is on par with native. The UI / Animations are on par with native. The same simply cannot be said for React Native.
- PretzelFisch 7y agoI am just kind of looking to make the same journey but from c++/C#. What is the recommendation for a good macbook? should I be looking at a macbook pro? In regards to Android what table or phone should I invest in as a testing platform?
- pryelluw 7y agoDepends on the apps you want to build. What would be the first app youd create?
- deleted 7y ago[deleted]
- me551ah 7y agoCreating an app is quite easy. There are many cross platform solutions available like Flutter, React Native and Xamarin and you should be up and running quickly. I personally prefer Xamarin since I am more comfortable with C# and really like its layout engine. Though I know quite a few backend developers who have built apps and struggled with the following issues. 1. UI/UX - UX and UI are critical for an app and you might have to hire a designer to create those interactions for you. Backend roles usually involve no/little UI/UX work and it's easy to only focus on the functional bit of it. 2. Updates - It's easy to rollback a backend codebase from production or revert it to it's last state when something goes wrong. When deploying an app you have no such option. Android updates take about a week to reach 80% adoption. And if you encounter a critical bug in that time period, you have to halt the rollback. You end up with some users on a new buggy version and some users on an older version. This can be tricky to manage.
- ryanmccullagh 7y agoYou seem like a software engineer and mobile development is just an area of software engineering. Is time a concern? I believe you can learn a new technology stack.
- soulchild37 7y agoIf you know Java already, learning Android shouldn't be too difficult, mostly just need to learn the lifecycle of activity (the view / UI) and some Android SDK stuff
- on_and_off 7y agothe hardest part is to learn "modern android" and not to be bogged down by all the old ways to do things that you can find on the web. e.g. lifecycles, we now have good tools to wrap them and don't really have to care about them. The official doc is a good starting point.
- randomor 7y agoI'm one of those backend developers who created this app that was showcased here last week (ZenJournal): https://news.ycombinator.com/item?id=21876939 https://news.ycombinator.com/item?id=21876939 I started my career as a mobile dev so getting back to mobile from web was not very scary to me although I've forgot most of what I've learned 7 years ago. Luckily React Native is an very easy entry point, because I still sometimes help with frontend tasks at my work with React, so that's what I used.
- on_and_off 7y agoI started as a backend c++ dev, I am now a mobile dev. The transition was actually pretty easy, especially since I had some familiarity with java (mostly from the uni). You already know java, learning Android should be pretty easy, whether you leverage kotlin or not. That would be the obvious option number 1 to develop your app. Whether you want to : - do it in java or kotlin for Android - start with ios instead learning swift - use a crossplatform sdk. Caution, there is a reason why these sdks are still only marginally used. It is not because mobile devs are grumpy but because they come with some advantages and drawbacks and very often these drawbacks are too important. - find somebody to code it for you. will depend on what kind of app you are doing, and what you want to do with it. e.g. some kind of social app should probably be on all platforms because you want to maximize network effects. Photography apps are a bit easier to develop on iOS. As with everything dealing with low level, having a smaller surface of change helps. It depends also on your market.
- julius_set 7y agoAs an engineer who’s done most of it: • Native iOS / Android for years • Backend development • Frontend web development • Machine learning models I would suggest you one thing: Do your research on finding really good succinct tutorials. The best approach is asking the right question on google. You usually find tons of blogs / tutorials with very basic or simple examples. Your task — if you want to learn it — is to _research_ and find the best tutorial that covers the most ground in the shortest amount of time. This is not easy to do, but that’s a good skill quick learners have.
- tomerbd 7y agoAnswer HN: http://flutter.io/ http://flutter.io/
- ivan_gammel 7y agoFor cross-platform development you can learn ionic. TypeScript/Angular resembles Java and Spring a bit, UI is based on HTML and CSS, which you probably already know. I think it’s the easiest entry to both Android and iOS at once for Java developers and it works surprisingly well (we just released nice medical app on this platform). My main advice will be here not technical one: invest your time in UX, build wireframe (or even paper) prototype of your app and test on 3-5 real users. Then test final design. There will be useful insights for sure, which may save you a lot of effort and you’ll get less one star ratings after launch.
- sharma_pradeep 7y agoI have done all of them and from your comments it seems you start to like Cordova, means you are interested in cross platform release. Anyway, I recommend to read this first My Background: Coming from Java backend experience, I built multiple android apps(native Android), tried react native and then learned Flutter. I also outsourced two apps and successfully got it done in react native. My Advice: 1. Do it yourself if you want to really learn mobile development. I recommend to explore Flutter(cross-platform and similar to Java), try to build a sample app in a day or two. Whether you succeed or not, ask yourself, how do you feel now, would you want to learn and code yourself? Remember, it is going to take a lot more time than you estimate now(when I learnt Android first, I estimated a week to learn and years after, I'm still learning, I shipped my first decent app after 4 months, while working on backend parallely) 2. If the answer is No to all above questions Outsource the work. How? A. Do you know any friend who'd want to do this? B. Hire a developer on hourly basis to work with you closely and ofcourse remotely. Where? Invide or Toptal. Few tips for successful outsourcing - Do not go for upwork or freelancer or project basis work - Teamwork is key, hire someone who's a team player - Have weekly call to discuss progress with the dev. Discuss things other than the project as well, build relationship. Transaction based approach does not work. - Think how can you make it easy for the other person to understand. Can you get every minute screen detail designed via a designer and hand it over to the dev?
- dogukanzengin 7y agoThanks, great mind map !
- girishso 7y agoWould you still recommend Flutter over Cardova (with Elm app inside)? Flutter/Dart seems cool, but I'm in love with Elm these days. Looking to build a app by myself not outsourcing.
- zazzlez 7y agoI would say, jfdi. You can provably build a decent mvp in a few weeks from scratch with no prior knowledge in a tool of your choice. I would personally chose react native + typescript + mobx.
- jhales 7y agoTake a look at expo. Rapid development with a minimum amount of domain specific setup knowledge.
- panpanna 7y agoA lot of people here recommend Flutter, React and similar. But these build upon frontend technologies and use a frontend mindset you might find very difficult to get into. If you know Java, I would instead recommend going through Googles new Kotlin courses for a week or so and see where that leads you: https://www.udacity.com/course/kotlin-bootcamp-for-programmers--ud9011 https://www.udacity.com/course/kotlin-bootcamp-for-programme... https://codelabs.developers.google.com/advanced-android-kotlin-training/ https://codelabs.developers.google.com/advanced-android-kotl... https://codelabs.developers.google.com/codelabs/kotlin-android-training-welcome/index.html#0 https://codelabs.developers.google.com/codelabs/kotlin-andro... Worst case, you have learned som kotlin which may eventually help you in your day job since kotlin is getting big in backend too.
- cliqueiq 7y agoI was a back-end & full-stack guy for some time, doing things from ETL stuff to pipe-lining more colorful things interfacing with things from search, other analysis, etc... I started doing more "real" software development midway into college and was lucky (or maybe unlucky) enough to be able to develop my skills with a pretty full-stack spectrum (now doing things with Dart, React, to Python, Java, Docker, ES, Reddis, Helm, Jenkins, K8, AWS/GCP, etc, etc...). I love Java (literally the best). Django is easy. Go is alright. jQuery & Bootstrap are great. Moving into heavy UI i.e, React/Redux, the entire JS ecosystem, mobile fragmentation, absurd, pointless policy changes in the UI world are absolutely 10x more annoying, difficult, arbitrary, meaningless, buggy, and horrible than anything back-end. TensorFlow, Unstructured-Data, NoSQL, CI/CD? No problem. You have an API, documentation that works, Linux systems that are consistent, predictable, repeatable. UI/UX? Changes every day. Docs from 2 years ago often don't work. Lower barrier to entry, lower quality ecosystem. Security & supply-chain nightmare. Fragmentation for no reason other than large corporations focusing on bottom lines and leaking core-rot. It's a insult to time investment. I can build a full-stack, horizontally scalable, complex, awesome system with whatever tools you want I can guarantee you that no matter what you throw at me, I'll spend prob 75% screwing around with JS bugs, mobile garbage, awful ecosystems, and pointless garbage that at the end of the day comes down to nitpicking about pixel performance and arbitrary platforms. I know I'm not the only who's wasted countless hours of my own time, clients money, companies time, and real-end-user money and value on things that were shiny and interesting to a PM or UX team and ended up sinking over half the cost of project on effectively nothing. The people that make the decisions don't understand it, because UI/UX is literally all they can "see". It's insanity. If I ever start a company, I'd love to model it off a concept like Stripe; such a beautiful concept of a beautiful idea run by some of the smartest guys out there, all based entirely off an API. No play-store policies, shifting trends, corporate politics, useless garbage, pure JS developers maintaining random repo's for tools that don't need to be built. If you're smart, be like Amazon, Google, Facebook and every other huge idea: Make an unresponsive, useful front-end and just say no to fancy UI. Amazons website is an glorious defiance to the quite frankly disgusting culture of what robs real engineers time and resources away from something like curing disease, balancing equality, providing security, and focusing on things that could actually make the world a better place. Look at this site right here. Look what happened to Reddit. If it's more than Bootstrap and you're not funded, just say no to UI/UX. JUST SAY NO. EDIT: There's probably some good takeaways from the book "Zen and the Art of Motorcycle Maintenance". Do yourself and the world a favor by not feeding this economy of engineered over-complexity and willful-ignorance, especially in this day in age. Our species might be about to go extinct. There's more important things to do. Seriously.