⭐ 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

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.

You May Also Like

1/“What would need to be true for you to….X”

Why is this the most powerful question you can ask when attempting to reach an agreement with another human being or organization?

A thread, co-written by @deanmbrody:


2/ First, “X” could be lots of things. Examples: What would need to be true for you to

- “Feel it's in our best interest for me to be CMO"
- “Feel that we’re in a good place as a company”
- “Feel that we’re on the same page”
- “Feel that we both got what we wanted from this deal

3/ Normally, we aren’t that direct. Example from startup/VC land:

Founders leave VC meetings thinking that every VC will invest, but they rarely do.

Worse over, the founders don’t know what they need to do in order to be fundable.

4/ So why should you ask the magic Q?

To get clarity.

You want to know where you stand, and what it takes to get what you want in a way that also gets them what they want.

It also holds them (mentally) accountable once the thing they need becomes true.

5/ Staying in the context of soliciting investors, the question is “what would need to be true for you to want to invest (or partner with us on this journey, etc)?”

Multiple responses to this question are likely to deliver a positive result.