Morzaram

Morzaram

Hey everyone. I’m feeling a bit conflicted. I’ve learned Flutter and built a somewhat MVP of this app. I’m a solo dev and throughout this time though I’m realizing that I really don’t like having to maintain an elixir backend with a Flutter mobile. Also, wow the flutter web is so bad.

The concept was supposed to be simple. A way for you to write thoughts from the ‘voices’ in your head. You can take a look at the ‘MVP’ so you can see the basic specs of what I’m trying to do.

app.mentalkit.app
u: test@test.com
password: test@test.com

I feel like I’m at the point that I have a few routes in my mind:

  1. Drop the elixir backend and go all in with flutter and a BaaS-like pocketbase until it’s off the ground and just have mobile apps only. Not scalable but good enough for starters I guess.
  2. Pick up the old liveview code and somehow make it so I can turn this into an app. Although I really want offline mode and if I want that, then why bother doing this.
  3. Use the JS ecosystem, make it into a PWA, and find a way to put it into the stores. I’ve already written a significant version in Svelte but decided to drop it as well because I was thinking I can have all 3 with Flutter.
  4. A more brilliant option than in my list.

I’m only one person and I want to put this milestone of the project. I fear that if I don’t put it on the app stores, and potentially offline ability it won’t even have a chance. I really love the idea of this app and I can see the future of it but I feel that the flutter elixir combo isn’t the way until I get it off the ground.

For other MVP (and beyond) peeps in the space, I really need your advice on what to do. I know the Elixir bias is there but mine is too haha. If I could I would really prefer to just use Liveview and stick with that but it feels wrong and limiting for what I aspire this thing to be.

Anyways, would love to hear everyone’s thoughts on this. Thank you <3

Showing Posts 1 to 10

olivermt

olivermt

Supabase is an excellent BaaS made in elixir if you want tips in that direction.

code-shoily

code-shoily

Is maintaining the Elixir backend your only problem? Is there any other issues related to Elixir that made you regret your decision? Because if there isn’t, then whatever backend you decide to have you will have to maintain it. Unless you can go full Firebase but that comes with its own limitations.

Also, if web is involved, Flutter Web is a bad, bad framework. For MVP you could maybe stick to familiar tech stack and do something like OnsenUI or Ionic, and then move to more native solution when you have some dedicated availability? I haven’t been on this space since 2017 but those were good enough back then.

Edit: I wouldn’t bet on LiveView for mobile apps just yet. You need to keep your options open and having an API is optimal for that. You can wrap a web view or move to native and even switch from flutter to compose etc if you have this option. With LiveView you might have to touch some backend code again to switch front end to native if (and with mobile, it’s more of a when than an if) needed.

code-shoily

code-shoily

How is Flutter/Supabase friendliness? I know it has some magic when Firebase is involved.

absowoot

absowoot

If you still have the Svelte code, live_svelte might be worth a look.

Morzaram

Morzaram OP

For me maintaining the server isn’t the issue, it’s having to manage both front-end and back-end codebases as a solo dev while also dealing with Flutter’s quirks. I’m also questioning if I can see myself coding long-term like this because it’s a lot of dev time to give people native apps like this, and it’s not even out. You can see that it looks meh, and the onboarding has a lot to get through. It’s difficult concepts to teach people on how to use the app unless they’ve gone to therapy, so I need to nail the onboarding.

Essentially there’s a lot of mental overhead for my small brain to upkeep with both client and server, and I’m not too content with the client

Morzaram

Morzaram OP

My hesitation is vendor lock-in when it comes to superbase, but it is really solid when it comes to DX. Had a shot at it for this app and it was smooth!

josevalim

josevalim

Creator of Elixir

From what you are saying, the split brain between front and back is what is killing your productivity. It also looks like you want to go mobile first, so to me, going with Supabase or another BaaS is the way to go (option 1). LV is not mobile ready (yet) and I don’t think JavaScript is going to avoid the split brain (plus JS frameworks tend to be moving targets).

You should also question if it is worth going with Flutter or focusing on one of Android or iOS. Check the demographics you are targeting. Most likely both have a large user base that will be more than enough to validate your product.

It is best to have something out there that you can iterate later on than nothing. Good luck!

34
Post #7
Morzaram

Morzaram OP

Very valid points. Thank you Jose for weighing in! You’re right :slight_smile:

D4no0

D4no0

I can’t say much about flutter, but I can say about native android development, it is and was a big failure from the start, the abstraction level is too low, you need to understand a lot of android internals, the material is scattered and mostly consists of low quality answers on stackoverflow, the amount of scaffolding to get something going is insane, bad and opinionated practices that hug both old applications and new ones.

As much as I hate js, I would go almost always for a web application instead of a native one, solely from upfront investment you have to make.

ericdouglas

ericdouglas

Well, I will share a short summary of a journey I went through myself since your current conflicts are very related to the ones I had.

I have several app ideas (web & mobile), and started to try different stacks to see “what they taste like”.

I knew Elixir a bit, so I tried:

On mobile: Flutter, Swift & SwiftUI, Kotlin & Jetpack Compose.

On the backend: Go and Rust.

I work as Frontend/JS Developer, so I knew what was available in the frontend web space.

After several months of experiments, what I concluded was…

As a solo developer, creating an indie business, if I want to:

  • create a mobile app, I would create a native iOS app with Swift & SwiftUI.
  • create a web app, I would choose Elixir (with Phoenix and LiveView).

And the most important part of the message. Why would this be my choice?

The main reason: cohesive and convergent ecosystem. This is the most important thing a solo dev must have in order to have a chance to compete with a company with more resources IMO.

Both in Swift and Elixir ecosystems I felt that with very few tools I could create really solid applications, that in other ecosystems it would be nearly impossible to accomplish by myself with the same quality, velocity, and scope.

So my advice to you is, and what I am doing myself: do not try to win on all platforms at once as a solo dev. Choose one and nail it :wink:

If you go the mobile route, focus on the client and use a BaaS (in iOS you even have CloudKit “for free”).

If you go the web route, well, Elixir is my current bet.

I was really invested in mobile apps but in the end, I chose to go all-in in Elixir since it will give me more possibilities to create different types of apps in a high-level quality.

I also love functional programming, so it is a blessing to have this settled in the level of the language, without arguments :sweat_smile:.

ps: liveview native is very interesting since it is the only cross-platform framework AFAIK that uses the same building blocks that native frameworks use, so it is a better long-term investment knowledge-wise IMO. Definitely, I’ll try it in the future.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
GES233
I’m posting this in response to Jose’s recent tweet (Cr. link) : People are sleeping on Elixir for a coding harness: Hot-code swappi...
New
marciol
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
durvia
Anyone running long-lived stateful processes on BEAM? We’re building an AI agent runtime and would love to compare notes. We’re a small ...
New
nseaSeb
I’ve just put together a small POC exploring PDF inspection from Elixir/Phoenix: The idea is pretty simple: drag &amp; drop a PDF in a...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge &amp; Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews