4 ms·
When our education startup built out its first product in 2012 (real time student content delivery and live chat etc on iPads) the internet in many schools was
by jv22222 8y ago
When our education startup built out its first product in 2012 (real time student content delivery and live chat etc on iPads) the internet in many schools was terrible.
To counter that awful bandwidth issue we created a local server version of our cloud based application.
In each classroom we created an intranet with one web server and a wireless access point.
When students used the system their ipad directly connected to that local access point and intranet (ie for chatting via node/socket.io etc.)
It did not matter if the internet went down the full system still worked perfectly well as all the kids were operating 100% locally.
The hard part was making an entire system that could be online or offline at any time sync with the mothership cloud. Especially hard was synching, well everything. Node chat, Rabbit, mySQL, linux updates etc.
The app allowed the teacher to drive the content via node, live chatting between students, live answers/questions/assignemnts etc.
We needed to write a lot of software from the ground up that allowed for 100% asynchronous provisioning of machines, content synching, live chat syncing, message bus routing etc.
Crazy thing was, a kid could be playing and accidentally pull the plug out! We needed to account for all sorts of shenanigans.
Essentially, it was a bit like creating dropbox that was also a full stack architecture and a ridiculously distributed data center with servers that could switch on or off at any time.
It worked pretty well.
The teachers couldn't understand why our app always worked lighting fast when all the other internet stuff they did was so slow!
As time moved on, we realized that single point solutions would not solve the main goal we were targeting in education which is to modernize all aspects of districts.
So, we built out new software that helps districts take the 5 year journey of moving from a traditional district to a modern learning environment. Ironically the platform that does that is pretty simple by comparison. Essentially it's systametized consulting.
I think we still have one district still using that old software (5+ years old now) and we are about to sunset it.
We did that whole thing with a team of 3 devs in 12 months.
Honestly, it was the most fun I ever had coding!