⭐ I’m a frontend dev. I work mainly w/HTML, CSS, & JS

last year I built stuff that doesn’t sound like frontend work:

- custom APIs and DBs (both GraphQL & REST)
- user dashboards
- video manipulation

but it all *felt* comfortable & within my skillset

how? a thread: 🧵

I do all sorts of demos and "hello world" projects, but I want to focus on real-world apps only in this thread. specifically, I'll talk about this production project:

✨ Jamstack Explorers 👩‍🚀

this is a load-bearing app that a lot of people depend on
to build Jamstack Explorers, we needed:

🗄 a custom database to track mission progress
📝 a content management system
🔐 user authentication
🎬 video manipulation

we were a small team of frontend devs and we needed to ship quickly — this was a daunting todo list 😅
🗄 custom database

using @HasuraHQ Cloud, we were able to create a new DB, configure it, and test the API all from a web interface — no config files or server setup required

we got it running in a day & I never felt like I was in over my head, even though DBs make me nervous!
📝 content management

we chose @sanity_io as a CMS. we used their CLI + JSON schema to set it up for Markdown + @mdx_js, exposed through a GraphQL API

the docs were great — it still felt like I was well within my frontend wheelhouse while we set this up
🔐 user authentication

OAuth2 is a challenge to set up, *BUT* by using @Netlify Functions, we only had to figure out how to handle auth — not how to set up/deploy a server, listen for requests, AND handle auth. it was head-bendy, but it's still written in JS, so it felt familiar
🎬 video manipulation

this scared me — like, where do we even start?

fortunately, @cloudinary made it super approachable! we upload videos through Cloudinary's UI, then use the URL-based API to handle transformations like auto-generated title cards & auto-inserted bumper videos
👉 remember: we did all of this — user dashboards, custom databases, on-the-fly video editing — in a Next site that deploys to Netlify with a few serverless functions and SaaS tools. we deployed without ever having to think about containers or kubernetes or SSH-ing into a server
it felt GREAT to be able to build all of that functionality without having to step very far outside my primary skillset. I got to be a frontend developer, and when we needed more, we stitched in third-party services and relied on serverless to keep things approachable 🔥
this approach also made us SO MUCH FASTER. we built all of that functionality as a team of frontend devs in a couple months while *also* working on a pile of other projects *and* making all the video content for it 🤯

what we *didn't* do is go into crunch mode to ship 👀
while I'd love to say it's because my team is incredible (they are), the truth is that the Jamstack architecture with SaaS powering backend needs will make teams faster no matter who they are. there's less context switching, fewer layers to navigate, and clearer system boundaries
➡️ my major point here is: I am *so stoked* I get to be a frontend dev right now. I never would have dreamed I could build even half of what I helped build

I'm even *more* stoked to see what the devs in this incredible community can do with all these capabilities! 💜

More from Education

Time for some thoughts on schools given the revised SickKids document and the fact that ON decided to leave most schools closed. ON is not the only jurisdiction to do so, but important to note that many jurisdictions would not have done so -even with higher incidence rates.


As outlined in the tweet by @NishaOttawa yesterday, the situation is complex, and not a simple right or wrong https://t.co/DO0v3j9wzr. And no one needs to list all the potential risks and downsides of prolonged school closures.


On the other hand: while school closures do not directly protect our most vulnerable in long-term care at all, one cannot deny that any factor potentially increasing community transmission may have an indirect effect on the risk to these institutions, and on healthcare.

The question is: to what extend do schools contribute to transmission, and how to balance this against the risk of prolonged school closures. The leaked data from yesterday shows a mixed picture -schools are neither unicorns (ie COVID free) nor infernos.

Assuming this data is largely correct -while waiting for an official publication of the data, it shows first and foremost the known high case numbers at Thorncliff, while other schools had been doing very well -are safe- reiterating the impact of socioeconomics on the COVID risk.
Working on a newsletter edition about deliberate practice.

Deliberate practice is crucial if you want to reach expert level in any skill, but what is it, and how can it help you learn more precisely?

A thread based on @augustbradley's conversation with the late Anders Ericsson.

You can find my complete notes from the conversation in my public Roam graph:
https://t.co/Z5bXHsg3oc

The entire conversation is on

The 10,000-hour 'rule' was based on Ericsson's research, but simple practice is not enough for mastery.

We need teachers and coaches to give us feedback on how we're doing to adjust our actions effectively. Technology can help us by providing short feedback loops.

There's purposeful and deliberate practice.

In purposeful practice, you gain breakthroughs by trying out different techniques you find on your own.

In deliberate practice, an expert tells you what to improve on and how to do it, and then you do that (while getting feedback).

It's possible to come to powerful techniques through purposeful practice, but it's always a gamble.

Deliberate practice is possible with a map of the domain and a recommended way to move through it. This makes success more likely.
It appears to be a combination of some of these factors, along with others not mentioned here. Ibn Khaldun’s analysis appears to be a good foundation to go off. [Thread]


Ibn Khaldun makes an important distinction between what he calls العُمران الحضري and العمران البدوي, which, for convenience’s sake, I’ll translate as urban civilisation and rural/Bedouin lifestyle.

He notes that the rural world is largely nomadic, and, as such, Bedouins build character traits that assist the survivalist lifestyle — e.g. the fact that they have to kill snakes that might pop up at any time during their travels helps them build courage and bravery.

The lack of stability and a proper settlement means they don’t really have the luxury of sitting down to let their minds wonder around. They thus build a preservation mindset, which manifests itself through emphasis on memorisation and transmission.

Inhabitants of urban world, on the other hand, are largely settled and established. This means they face less attacks from snakes, lions or danger of human attack from other tribes. Thus, they don’t build the courage and bravery of the Bedouins.

You May Also Like

The entire discussion around Facebook’s disclosures of what happened in 2016 is very frustrating. No exec stopped any investigations, but there were a lot of heated discussions about what to publish and when.


In the spring and summer of 2016, as reported by the Times, activity we traced to GRU was reported to the FBI. This was the standard model of interaction companies used for nation-state attacks against likely US targeted.

In the Spring of 2017, after a deep dive into the Fake News phenomena, the security team wanted to publish an update that covered what we had learned. At this point, we didn’t have any advertising content or the big IRA cluster, but we did know about the GRU model.

This report when through dozens of edits as different equities were represented. I did not have any meetings with Sheryl on the paper, but I can’t speak to whether she was in the loop with my higher-ups.

In the end, the difficult question of attribution was settled by us pointing to the DNI report instead of saying Russia or GRU directly. In my pre-briefs with members of Congress, I made it clear that we believed this action was GRU.