⭐ 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

When the university starts sending out teaching evaluation reminders, I tell all my classes about bias in teaching evals, with links to the evidence. Here's a version of the email I send, in case anyone else wants to poach from it.

1/16


When I say "anyone": needless to say, the people who are benefitting from the bias (like me) are the ones who should helping to correct it. Men in math, this is your job! Of course, it should also be dealt with at the institutional level, not just ad hoc.
OK, on to my email:
2/16

"You may have received automated reminders about course evals this fall. I encourage you to fill the evals out. I'd be particularly grateful for written feedback about what worked for you in the class, what was difficult, & how you ultimately spent your time for this class.

3/16

However, I don't feel comfortable just sending you an email saying: "please take the time to evaluate me". I do think student evaluations of teachers can be valuable: I have made changes to my teaching style as a direct result of comments from student teaching evaluations.
4/16

But teaching evaluations have a weakness: they are not an unbiased estimator of teaching quality. There is strong evidence that teaching evals tend to favour men over women, and that teaching evals tend to favour white instructors over non-white instructors.
5/16
I was a recipient of KGSP for my Msc from 2013-2016

Korean Government Scholarship Program (KGSP) Application made easy

Application period- 1 February 2021- 31 March, 2021

MS- 3yrs (1 year Korean language + 2 years MS)

PhD- 4yrs (1 year Korean language + 3 years PhD)

How to navigate the
https://t.co/6Ne99JDfyv page

1. Type https://t.co/ow51lWVKcQ in your browser and hit the enter button

2. Click on scholarships and select GKS notice as attached in the picture👇

3. Play with the notice dashboard to see various announcements from NIIED.


4. E.g in 2020, the Global Korea Scholarship for Graduate Degrees was announced on 11, February as indicated by no 205. You can click to download the application materials to get familiar with what is expected. I attached series of links in this thread to assist too.

Category- All fields

Benefits

1. Visa fee

2. Airfare: Actual cost (To and fro from your home country to Korea and upon completion to your home country)

3. Resettlement Allowance: KRW 200,000 (Given upon arrival in Korea)

4. Monthly stipend: Graduate (MS/PhD)-KRW 1000,000 (362,610.35 Nigerian Naira) per month ,Research Program including Postdoctoral fellow and visiting Professors - 1,500,000 KRW (542,824.78 Nigerian Naira) per month
The outrage is not that she fit better. The outrage is that she stated very firmly on national television with no caveat, that there are no conditions not improved by exercise. Many people with viral sequelae have been saying for years that exercise has made them more disabled 1/


And the new draft NICE guidelines for ME/CFS which often has a viral onset specifically say that ME/CFS patients shouldn't do graded exercise. Clare is fully aware of this but still made a sweeping and very firm statement that all conditions are improved by exercise. This 2/

was an active dismissal of the lived experience of hundreds of thousands of patients with viral sequelae. Yes, exercise does help so many conditions. Yes, a very small number of people with an ME/CFS diagnosis are helped by exercise. But the vast majority of people with ME, a 3/

a quintessential post-viral condition, are made worse by exercise. Many have been left wheelchair dependent of bedbound by graded exercise therapy when they could walk before. To dismiss the lived experience of these patients with such a sweeping statement is unethical and 4/

unsafe. Clare has every right to her lived experience. But she can't, and you can't justifiably speak out on favour of listening to lived experience but cherry pick the lived experiences you are going to listen to. Why are the lived experiences of most people with ME dismissed?

You May Also Like

A brief analysis and comparison of the CSS for Twitter's PWA vs Twitter's legacy desktop website. The difference is dramatic and I'll touch on some reasons why.

Legacy site *downloads* ~630 KB CSS per theme and writing direction.

6,769 rules
9,252 selectors
16.7k declarations
3,370 unique declarations
44 media queries
36 unique colors
50 unique background colors
46 unique font sizes
39 unique z-indices

https://t.co/qyl4Bt1i5x


PWA *incrementally generates* ~30 KB CSS that handles all themes and writing directions.

735 rules
740 selectors
757 declarations
730 unique declarations
0 media queries
11 unique colors
32 unique background colors
15 unique font sizes
7 unique z-indices

https://t.co/w7oNG5KUkJ


The legacy site's CSS is what happens when hundreds of people directly write CSS over many years. Specificity wars, redundancy, a house of cards that can't be fixed. The result is extremely inefficient and error-prone styling that punishes users and developers.

The PWA's CSS is generated on-demand by a JS framework that manages styles and outputs "atomic CSS". The framework can enforce strict constraints and perform optimisations, which is why the CSS is so much smaller and safer. Style conflicts and unbounded CSS growth are avoided.