Speak & Spell: my very first Elm attempt. I'd need feedback and suggestions, please

Hi all :slight_smile:

some context:

  • What helped you learn Elm?

  • This is my very first attempt at Elm (and functional programming in general). I’m doing this to test my understanding of Elm and of my learning with Elm in Action. I haven’t finish the book yet (stopped before the Testing chapters) and I will resume my learning path once this learning project is over.

  • See the Read Me file for more information about the app itself.

the code:

the post:

as a beginner, at this specific point of my learning, I believe I’ve reached the most I could achieve with the app logic. Before moving on with the UI, I’d love to hear from Elm community. So that I can have some external feedback and reference. I welcome all comments and criticisms, and I would like to ask for:

  • feedback/“code review”
  • how to continue for UI/UX

I’ve really worked hard, with almost no help[1], to make the code/logic the best that I could, going through refactoring and staring/going over at the code for days to then make a small change that seemed like a good improvement. I’d be grateful if you could help me understand the quality of the code, things I could/should have done differently, pointers to articles so that I can learn some more, does the code stinks? (a lot?), did I overdo/overuse something? and so on.

I would also appreciate your suggestions about using elm-css/elm-ui to make a UI that loosely resembles Speak & Spell (a toy in general), where basically everything needs to be custom CSS. I’m in between two minds here (elm-css or elm-ui? vanilla CSS? a CSS framework?!?) and I’ve been searching for pointers and articles on how to use elm-css in my projects to no avail. I’m not asking for a solution, and if you have good pointers/tutorial to get me started that would be awesome.

Please and thank you :pray:

[1] thank you to all whom have answered my questions on Slack :heart:


hello :wave: and happy new year!

I guess my original requests were a tad excessive, apologies; and that I’ll find out about my code stink and quality with time as I progress with my Elm learning.

In the mean time I’d like to share some progress with you: https://ellie-app.com/ghfYFs7FwFQa1

I went with elm-ui. The focus was to get it in shape to elm-ui. Now I need to make it responsive.



Hey @igghibu !

Looks like you’re doing just fine here, the project looks cool, and I see you’re letting it grow. Nice!

Looks like you’ve already learnt a tonne from what I can see there. I think in other languages there’d be room for tonnes of feedback mainly due to pitfalls, but I don’t think there’s too much to caution against here (at least, nothing that you won’t learn/encounter yourself in due time and is straightforward to refactor when you hit it!).

You might like to check out elm-review in time.

Carry on!


thank you @supermario , I appreciate your kind words :heart:

I’ll watch Evan’s talk once more, it’s been a while.

elm-review is on my radar as well. I do intend to learn “the tools of the trade”, in due time. I want to at least finish the books about basics and see if I can do a more advanced course, first.

I guess I’m biased from other languages (I tried to learn) when asking for feedback, true. Also because this (Elm and FP) is so new to me, that I seek early feedback/validation to improve. I’m sure that my app code could be improved and that there’s “a little too much of this and that” kinda stinks. I just wanted to understand how to be “good from the start”.

I can’t wait to finish this project and resume learning!


1 Like

@supermario I’ve watched Evan’s talk with new eyes and notions. Very much interesting and more meaningful to me now.

Also posting to share some more improvements. Loading and Error screens, getting ready for responsive ui and a few tweaks here and there: https://ellie-app.com/gkSRGHjQVjna1

Cheers :slight_smile:


This is a great application, congratulations! :clap:

1 Like

thank you @lucamug , that means a lot :heart:

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.