NoRedInk Engineering
tech.noredink.com · Company blog · on HN since 2015
The engineering team at NoRedInk, an education company, writes about Elm, Elixir, JavaScript, hiring, and remote work.
What HN saysHN commenters point to its walkthrough of introducing Elm into a JavaScript app as a convincing case for Elm, and note its production use.
38HN people shared it
17linked it in comments
31stories submitted
385story points
4 months agolast shared
2015people per year2026
Most-shared posts
- 1Elixir as an Object-Oriented Language6 people · 103 points · first shared 2016 · 28 comments on HN
- 2Evan Czaplicki, Creator of Elm, Joins NoRedInk5 people · 4 points · first shared 2016 · discussion on HN
- 3Homepage5 people · first shared 2016
- 4Introducing Elm to a JavaScript Web App4 people · 2 points · first shared 2016 · discussion on HN
- 5Our engineering hiring process4 people · first shared 2016
- 6On boarding as a new remote engineer think about4 people · first shared 2016
- 7Noredink – Funding the Roc Programming Language3 people · 14 points · first shared 2022 · discussion on HN
- 8Switching from immutable.js to seamless-immutable3 people · 5 points · first shared 2016 · discussion on HN
- 9Haskell for the Elm Enthusiast2 people · 117 points · first shared 2021 · 53 comments on HN
- 10Pufferfish, Please Scale the Site2 people · 4 points · first shared 2021 · 1 comments on HN
- 11Designing Meetups to Build Better Communities2 people · 2 points · first shared 2016 · discussion on HN
- 12The most object oriented language2 people · first shared 2019
- 13Welcome evan2 people · first shared 2018
- 14SVGs as Elm Code1 people · 77 points · first shared 2022 · 42 comments on HN
- 15Maybe the Cookies API should not exist1 people · 21 points · first shared 2016 · 1 comments on HN
What HN people wrote when they linked it
perryprog · 2025-01-31
NoRedInk[0] also uses some Haskell in their backend, as well as Elm for most of their frontend. They've also worked some with Roc according to a blog post from a few years back; not sure if using it.
[0] https://blog.noredink.com
lsjroberts · 2017-04-28
NoRedInk use it in production and are quite big advocates (having hired the BDFL) - http://tech.noredink.com/
tyurok · 2016-12-22
You'll find that Elixir/Erlang is a mix of FP and OO at the end, which is why I find it amazing. While people debate FP vs OO, it takes the good parts of both.
You can read more about the OO aspects of Erlang from the author himself: http://tech.noredink.com/post/142689001488/the-most-object-oriented-la…
gshulegaard · 2016-07-11
For others interested in looking at ELM, I found Richard Feldman's walk through at NoRedInk to be a pretty convincing examination of it's usefulness:
http://tech.noredink.com/post/126978281075/walkthrough-introducing-elm…
On another note, with Web Assembly coming, I think ELM could stand to benefit greatly from compiling to WA instead of JS...but that is perhaps just me.
zalmoxes · 2016-05-10
No that's not true. Richard from NRI wrote a great blog post about just "trying out" elm in your React app.
http://tech.noredink.com/post/126978281075/walkthrough-introducing-elm…
rtfeldman · 2022-07-02
NoRedInk | Full-Stack Engineers, Senior Full-Stack Engineers, Principal Full-Stack Engineers, Frontend Accessibility Engineers, Growth Engineers, Quality Assurance Engineers, and Engineering Managers | REMOTE from time zones between (and including) Pacific Time (PST) through Brasília Time (BRT), which includes both the continental USA as well as countries outside the USA.
We’re a growing ed-tech company on a mission to help all students become better writers! NoRedInk is used by 1 in 2 school districts in the US, and students have answered over 5 billion questions on our platform. If you're looking to join a team of friendly people who listen to and learn from each other, discuss past mistakes openly as we adapt to the challenges that come with progress, all while realizing our mission, then you'll be excited to learn more about us.
Our colleagues span six time zones, California to Berlin and points in between, with lively discourse flowing freely across Slack, Zoom, and the office when we're able to be there. Wherever we're working from, we've always delighted in our work to ship new features—beginning with our curriculum and product teams, designers, through to testing by our dedicated quality assurance folks—that put teachers and students first. [1]
Our engineering team [2] takes prides in producing innovative, maintainable software. We use the cutting-edge Elm programming language for all our front-end development. Our back-end is primarily Ruby on Rails by lines of…
jscheur · 2019-05-03
NoRedInk | Full-Stack, Site Reliability Engineers, and Engineering Managers| San Francisco, CA | REMOTE Pacific Time (PST) to Central European Time (CET)
We’re an ed-tech company on a mission to help all students become strong writers! Our team may be small, but NoRedInk is used by 1 in 2 school districts in the US, and students have answered over 5 billion questions on our platform.
We’re a group of friendly people who listen to and learn from each other. We discuss past mistakes openly so we can adapt our processes to the challenges that come with progress. Puns flow freely across our San Francisco office as well as on Slack, and we have remote engineers spanning six different time zones.
Our engineering team [1] prides itself on code quality and innovation. We use the cutting-edge Elm programming language for all our new front-end code, and have been migrating legacy React code to Elm as well. Our back-end is primarily Ruby on Rails, although we are working to split off smaller services as we scale to keep up with our traffic. You can read about our experiences with these technologies on our team blog! [2]
In addition to spending work hours open-sourcing useful libraries we develop [3], we also invest financially in open source. We hired the creator of Elm, Evan Czaplicki, to develop Elm full time. [4] Evan discusses his plans for the language with the team every week, periodically pairs with other engineers on Elm, and cracks up members of the sales team with his…
PopeDotNinja · 2019-03-18
You're the Truffle Ruby person, yeah? Hi!
Re: method_missing, I supoose it's not as easy to understand as I thought, which is to say if I understood it better, I could explain it better. The best I can do is this...
1. A typical method call in Java means "I pass a message (args) to a method on some object, and block until I get a response", which usually means building of up stack of blocking calls waiting for a response". The message passing is sending the message, which in Java is tightly coupled to receiving the response.
2. In Erlang, you might have a process (think of it as an object for this example [1]), that sends a message to another process. The sending process doesn't need to wait for a response. Erlang does have function calls that feel pretty much exactly like method calls in Java, and then there is message passing between processes, and that separation makes the differences more clear to me, which is not to say I understand things correctly.
3. method_missing in Ruby is kind of like sending a letter in the mail to Santa Clause. There is no physical address for Santa (aka an undefinded function), but someone at the post office looks at the intended destination (SantaClause.mailing_address) of the North Pole and message itself ("I have been good, and want a Nitendo Swith for Xmas"), and determines how to respond (method_missing) to the message.
I do not know if this explanation is any good, so please be kind :) Doing my best!
[1] this article…
ashleynoredink · 2017-06-01
NoRedInk | Front-end, Backend, Infrastructure Engineer | San Francisco, CA | REMOTE Pacific Time (PST) to Central European Time (CET)
We’re an ed-tech company on a mission to help all students become strong writers! Our team may be small, but NoRedInk is used by 1 in 3 school districts in the US, and students have answered over 2 billion questions on our platform.
We’re a group of friendly people who listen to and learn from each other. We discuss past mistakes openly so we can adapt our processes to the challenges that come with progress. Puns flow freely across our San Francisco office as well as on Slack, and we have remote engineers spanning six different time zones.
Our engineering team [1] prides itself on code quality and innovation. We use the cutting-edge Elm programming language for all our new front-end code, and have been migrating legacy React code to Elm as well. We started with Ruby on Rails on our backend, and have lately been working to introduce Elixir to our stack. You can read about our experiences with these technologies on our team blog! [2]
In addition to spending work hours open-sourcing useful libraries we develop [3], we also invest financially in open source. We hired the creator of Elm, Evan Czaplicki, to develop Elm full time. [4] Evan discusses his plans for the language with the team every week, periodically pairs with other engineers on Elm, and cracks up members of the sales team with his lunchtime jokes.
We use Amazon AWS for our…
undershirt · 2016-11-28
Oops, didn't realize that seamless does its own shallow copying strategy with `merge`, `set`, `setIn`. I can't speak to how this compares to persistent data structures implemented by immutable.js, clojure, elm, etc. But it looks like the seamless author said the following about it:
> Persistent data structures are different, as their performance improvements are passive. Although seamless-immutable does not (and cannot, while maintaining its backwards compatibility with vanilla JS collections) use things like VLists under the hood, its cloning functions—such as merge—only bother to make shallow copies, as shallow and deep copies of immutable values are equivalent. In practice, this simple passive optimization has been sufficient; we have yet to encounter a performance problem that Bagwell-style persistent data structures would have solved.
from: http://tech.noredink.com/post/107617838018/switching-from-immutablejs-…
mtoledo · 2016-11-01
NoRedInk | San Francisco, CA or REMOTE for Senior, Pacific Time (PST) to Central European Time (CET)
We’re an ed-tech company on a mission to help all students become strong writers! Our team may be small, but NoRedInk is used by 1 in 3 school districts in the US, and students have answered over 1 billion questions on our platform.
We’re a group of friendly people who listen to and learn from each other. We discuss past mistakes openly so we can adapt our processes to the challenges that come with progress. Puns flow freely across our San Francisco office as well as on Slack, and we have remote engineers spanning six different time zones.
Our engineering team [1] prides itself on code quality and innovation. We use the cutting-edge Elm programming language for all our new front-end code, and have been migrating legacy React code to Elm as well. We started with Ruby on Rails on our backend, and have lately been working to introduce Elixir to our stack. You can read about our experiences with these technologies on our team blog! [2]
In addition to spending work hours open-sourcing useful libraries we develop [3], we also invest financially in open source. We hired the creator of Elm, Evan Czaplicki, to develop Elm full time. [4] Evan discusses his plans for the language with the team every week, periodically pairs with other engineers on Elm, and cracks up members of the sales team with his lunchtime jokes.
We use Amazon AWS for our infrastructure and automate all of our…
1-more · 2026-07-06
Oh yeah those are a bear: grammarly, 1password, and darkreader were the big ones, but translation was too. Elm assumes it's the only thing modifying the DOM underneath its root element; the extensions assume the DOM is free to be manipulated. NRI did a writeup on how they fixed it. https://blog.noredink.com/post/800011916366020608/adopting-elm-safe-vi… The TLDR is to use https://github.com/lydell/elm-safe-virtual-dom/
devoutsalsa · 2022-05-09
Reminds me of this blog post:
"The Most Object-Oriented Language" => https://blog.noredink.com/post/142689001488/the-most-object-oriented-l…
hitekker · 2021-04-19
Oh nice, thanks for the context. NoRedInk published a big blog post about him joining a few years ago https://blog.noredink.com/post/136615783598/welcome-evan so I thought he'd get a "fond farewell" for leaving too
tessierashpool · 2016-10-17
A rare few people are using Elm server-side in production already with lukewestby's worker stuff. Check the Elm subreddit. Elm's JS interop is much more interesting than your understanding of it: it's a pub-sub system which allows you to embed small Elm components in otherwise "normal" web pages very easily. More info here:
http://tech.noredink.com/post/126978281075/walkthrough-introducing-elm…
I'm sorry to be so negative but I really hope your comment doesn't remain the top comment as it's not very well-informed at all.
asymmetric · 2016-06-20
Do you agree with the POV that sees Erlang as implementing some of the core tenets of OOP, namely message passing and encapsulation of state? (Cfr. for example http://tech.noredink.com/post/142689001488/the-most-object-oriented-la…
nanoojaboo · 2016-01-05
"It's unprecedented for a company our size to hire a language creator," says R.Feldman of NoRedInk. http://tech.noredink.com/post/136615783598/welcome-evan This might be true, but it's also a very smart marketing investment. I would have never visited NoRedInk otherwise, and it's the kind of company that would benefit immensely from general word of mouth discussion