Three of my passions in one pic: Flightcontrol, flying, inspiring & helping Dayton youth to get into STEM
You arenโt limited to one life pursuit. Let all your passions find a way to blend together.
The pivotal moment of transitioning from intermediate to advanced
@typescript
was realizing the type system is a programming language in itself, w/ variables, functions, conditionals, & loops.
Utility types like Required, Record, Pick, Omit are all built with these primitives.
๐ฅ HUGE ANNOUNCEMENT
Introducing Blitzโก๏ธ, a Ruby on Rails equivalent for monolithic fullstack React apps!
This radically improves the productivity of building React apps ๐
You can delete all your APIs, data fetching, client side state management & caching for most apps!
๐
๐Big news: Sold my app "Storeo for Instagram"!
My very first side-project, launched in March 2017
๐ 76,000 total downloads
๐ต $55,000 total sales
๐ $27,500 sale price
๐ป 245 total dev hours (only 41 since May '17)
โ $61,000 total profit (split 50/50 with my biz partner)
My professional opinion is that you should build new apps with Remix instead of Next.js
It feels like next.js has become too complex to manage. Made extra challenging that itโs not directly driving revenue, so hard to justify the investment it really needs.
This is after
What is this you ask? It's the built-in
@nextjs
"take a break" screen that happens about every 20 minutes while developing. ๐ฅ
The app router dev speed is certainly faster than old pages router now, but you still get dumb stuff like this. This is latest nextjs + node v20
I just found 6 hidden bugs in our code by adding these eslint rules ๐
You have to upgrade to eslint 8.14+ to use no-constant-binary-expression, but I very much recommend it!
๐ฅ BLITZ.JS IS NOW IN BETA!
โ Rails-like Fullstack Framework
โ Built on Next.js
โ Zero-API data layer abstraction eliminates need for REST/GraphQL
๐ Ready to start building production apps at the speed of โก๏ธ
๐จ And we just launched our new website!
๐Announcing the
@blitz_js
Alpha Release!! ๐
โ๏ธ Blitz is a Rails-like framework for monolithic, fullstack React apps
โก๏ธBuilt on Next.js
โก๏ธDonโt have to build an API
โก๏ธCSR, SSR, & static pages
โก๏ธTypescript
โก๏ธConcurrent Mode
๐ Get Started Here ๐
๐ฅANNOUNCING
@FLIGHTCONTROLHQ
1.0 ๐ฅ
Heroku is too limiting & expensive. AWS is too complex.
We solve both by bringing world-class deployment DX natively to your AWS account.
๐ One more thing โ
@Flightcontrolhq
&
@blitz_js
are in
@ycombinator
W22 ๐ฑ
๐ฅANNOUNCING FLIGHTCONTROL๐ฅ
The next generation Heroku that brings world-class DX to fullstack apps on your own cloud
โ Optimized for fullstack Next.js &
@blitz_js
apps
โ Comprehensive fullstack infra
โ Supports containers & serverless functions
๐ฅ ANNOUNCING
@FLIGHTCONTROLHQ
2.0 ๐ฅ
AWS has been too intimidating and tedious, causing teams to settle for a simplistic black box PaaS or hiring devops too early. But no more! ๐ ๐ผ
Our Developer-first AWS infrastructure enables you to use the best AWS services without manual
Migrating to Next.js App Router: the good, bad, and ugly
Last year we rebuilt the
@Flightcontrolhq
dashboard with App Router ๐
In this post, I share our perspective on it after using it for a significant production app
We reduced our monthly GitHub Actions usageย from 46,144 minutes to 19,155 minutes. This reduced our bill by 63%.
All from skipping jobs when related files haven't changed!
You have to use a community action to enable this.
This also significantly reduces waiting times for
๐ Technical Design Patterns for SaaS
(A thread)
Goals:
โข Fantastic end-user experience
โข Build as little as possible
โข Speedy development
โข System resiliency
โข Easy for a solo dev
First part is a specific stack, but the rest is stack-agnostic.
This book would sell X,000 copies pretty quickly and create substantial value, so if anyone wants to take a stab at writing it... Much of it is not rocket science, but having every SaaS entrepreneur independently reinvent not-rocket-science as table stakes is clearly suboptimal.
๐ฑ Here's a mind blowing side-by-side comparison of GraphQL vs
@blitz_js
โ๏ธ All the end-to-end code needed for a single query
โ๏ธ Both use Next.js w/ support for SSR
โ๏ธ Both have end-to-end type safety with Typescript
โ๏ธ Both select certain model fields
Imo, @โtypescript-eslint/no-floating-promises is THE SINGLE BEST eslint rule in the history of linting.
I've seen so so many bugs caused by dangling promises where you forget to add `await` or whatever.
๐ฅ Ultimate guide to multi-tenant SaaS data modeling ๐ฅ
This is now the most comprehensive guide on the internet for implementing multi-tenancy.
Multiple approaches are explained and explored. Everything from database schema, to auth, to analytics ๐ ๐ผ
Let me know if you find
HOLY SMOKES. MISSION ACCOMPLISHED!
First time airplane owner, of a Harmon Rocket no less!!! Itโs a 300+ HP speed demon, extremely fuel efficient, and aerobatic.
Flew it home from Illinois yesterday ๐
Of course will add the
@Flightcontrolhq
logo to it ๐
This is like the worst time to be starting a new web app build ๐
New nextjs app router?
Tanstack router?
Everything is ๐ฉธ ing edge
How are yโall deciding what to build new things with right now?
On my way out of Thailand for now ๐ฅฒ
Next stop: SF for
@nextjs
conf
My total cost for 1 month in Thailand:
$1,300 USD
Includes lodging, restaurant 3x per day, plenty of coffee & drinks, motor bike rental, cowork fee, 1 day scuba diving. (Doesnโt include cost to get here)
I think VC companies might have ruined open source.
Or at the very least changed it forever.
Devs baseline expectations for OSS seems to now be beyond what is possible with people doing it in free time. At least for anything beyond very simple libraries.
Itโs not necessary
Dear
@rauchg
,
This is a desperate plea for extra engineers to work fulltime on dev server perf until this is fixed. ๐
Sincerely,
The global
@nextjs
community ๐ค
Holy cow, I canโt believe I suffered building web apps with
@nextjs
pages router for 5 years ๐ฌ๐ฅธ
Proper layouts and nested routes in the new app router feels like heaven.
Turns out you can add โuse clientโ to all layouts and pages to effectively disable server components.
๐ฅ Hiring a Developer Advocate for
@Flightcontrolhq
! ๐ฅ
๐ Rare chance to be 4th hire at high growth devtool startup
๐๏ธ Fully remote
๐ Emphasis on written content
โ๏ธ Need 3 years experience as software engineer
See the full details and application here:
What's the current best Node.js GraphQL backend for a real production React app?
I think the only real contenders right now are:
1. AWS AppSync (My current recommendation)
2.
@HasuraHQ
3. Apollo Server + Prisma2
๐ Thread on the pros/cons of each
Yโall out here hyped over saving 10kbโฆ never have I ever had a user complain about too much Javascript.
Of course there is a point where itโs way too much freaking JS, but for dashboards I ainโt got time to worry about 10s of kbs
Want to easily turn a JSON object into a zod schema, like for validating webhook payloads?
Use this awesome little tool!
(it also has LOTS of other very useful conversions)
What is this you ask? It's the built-in
@nextjs
"take a break" screen that happens about every 20 minutes while developing. ๐ฅ
The app router dev speed is certainly faster than old pages router now, but you still get dumb stuff like this. This is latest nextjs + node v20
๐ Oh snap! A very big announcement is coming Monday! ๐ค
Biggest news from me since first announcing Blitz ๐
And itโs for the entire ecosystem, not just Blitz users! ๐ฏ
(So not Blitz 1.0, thatโs still coming)
Headed home from
@RenderATL
and my heart is so full!!!! But also so sad itโs over ๐ญ
This conf has the highest density of the most inspiring and beautiful people ever.
I love you all so much!!!
RSC is farther from production-ready than I thought. Time to get back to work on current Remix APIs.
I'm genuinely excited about RSC though. It's given us a clearer view to build migration paths from React Router+SPA to Remix+RSC and we can start now. No rewrites required.
After working with your team in person for 3 weeks and having to go home, you feel disappointed with remote work ๐
Remote clearly is best overall, but wow the tradeoff is painful. Not from a productivity standpoint, but from a personal connection standpoint.
Next.js conf is in 3 days
As someone who rebuilt our product on Next.js this year, the only thing I care about is improved quality, robustness, and speed in dev mode.
I'm sure there are people who need new features, but if we get new features without more quality, robustness,
India has totally stolen my heart ๐ญ
@react_india
was the single best conf Iโve ever been to.
Everyone was SO kind, welcoming, deeply intelligent, and INSPIRING.
The talks were incredible and the food OFF THE CHARTS.
THANK YOU India! See ya next time โค๏ธโค๏ธโค๏ธ
#reactindia2022
๐จ๐ผโ๐ป I'm looking for remote contract work! (what a terrible time to be needing work๐คฆ๐ผโโ๏ธ)
โ Senior Fullstack Dev
โ Skills: JS/TS, React/React-native, browser extensions, Electron
โ Available now for ~20-30 hrs/wk
โ
RTs appreciated!
If you want to hire frontend, go to Twitter.
If you want to hire devrel, go to Twitch.
If you want to hire backend, go to the basement.
If you want to hire web3, go to the club.
If you want to hire fullstack, go home.
Twitter makes you feel like everyone wants to use certain technologies, like GraphQL, for example.
But in reality, most people donโt care at all about specific technologies or architectural patterns. They just want to use whatever is easy and makes them productive and successful
๐ฅ [RFC] Important Discussion On Possible
@blitz_js
Pivot ๐
Hey friends, we've come to a decision point. Please check out the RFC and provide your feedback ๐
Holy smokes!! Our superjson library now has over 4 million monthly downloads!
Iโve literally never looked at this chart, but just got an email from npm enforcing extra security since it passed 1 million weekly downloads.
Good stuff
@skn0tt
!!
YES YES YES!! I spent almost 40 hours getting to this point!
โ Next.js browser extension with react-native-web
โ React-native iOS app
โ React-native Android app
โ The exact same code running on all three
โ Full offline support + robust sync with PouchDB
I'm working on the promised Ultimate Guide to multi-tenant SaaS data modeling!
There are 3 main user-org access models.
Which do you think is the best default for B2B SaaS apps?
We recently migrated from
@PlanetScale
to AWS Aurora v2.
Because we want a serverless database.
PlanetScale was originally marketed as serverless, but has switched away.
This post by our CTO
@abadir_
goes into the details and how Aurora stacks up:
Finally
@nextjs
added a comprehensive doc on hosting nextjs outside Vercel on containers!!
But it's still has a huge missing hole of docs on how to deploy Next.js serverless ๐ฅบ
๐ฅ I am extremely happy to announce that
@Flightcontrolhq
has hired
@aleksandrasays
as Lead
@blitz_js
Maintainer!! ๐
She was an engineering manager at Hasura, loves Blitz & loves open-source. She's co-organizer of
@wroctypescript
meetup, and is like a literal Typescript Wizard!
YEAAHHHHH!!! Passed my Flight Review with flying colors after 6 years out of the cockpit. Wow it feels so amazing to be flying again ๐๐๐
Instructor said usually it takes an hour of instruction per year off. I didnโt even need an hour ๐ (but had to get 1 hr for regulation)
Wat!!! I had no idea Server Actions was a React thing instead of a Next.js thing.
Super cool to see a refined idea of
@blitz_js
RPC now built directly into React!
Server Actions are now in React Canary, ready for frameworks and libraries to adopt! Server Actions are functions created alongside your components that run on the server for tasks like data mutations
Rolling your own auth is nothing, have you tried implementing a searchable combobox with custom styles and select items??
I'll keep my auth, but give me a third party service for this!
One of the top highlights of
@react_india
was meeting
@DeepankarBhade
. We stayed up till 3am talking about building product, being a founder, and AVIATION ๐
This guy is a prodigy. Yaโll better watch out, heโs going to be a famous person in tech.
After 2 years, Iโve finally returned to my favorite place in the world.
Koh Tao, Thailand
A tiny paradise island where a number of significant life changes happened, including creating
@blitz_js
Iโll be here for a month. Come join me!
Please!! Stop calling using a battle tested auth library โrolling your own authโ
Clerk seems cool, but I very much despise this bad narrative they are pushing
So about a month or so ago, Tailwind cracked 10 million total installs, which given its humble beginnings, completely blows my mind ๐ณ
Hereโs the story from the beginning, while itโs still fresh enough to rememberโฆ
My
@tursodatabase
was replaced with someone elseโs database. It has wallet information etc. Iโm not reading it (me good guy) but I want my data back because my project fails now (no data bad)
๐ฅ HUGE ANNOUNCEMENT
Introducing Blitzโก๏ธ, a Ruby on Rails equivalent for monolithic fullstack React apps!
This radically improves the productivity of building React apps ๐
You can delete all your APIs, data fetching, client side state management & caching for most apps!
๐
๐ฅ Attention
@planetscaledata
users!! ๐ฅ
Here's how to automatically create a PS branch, deploy request, and update the branch schema any time your schema.prisma file changes!
The
@blitz_js
Routes Manifest feature is one of my favorite power features that Next.js doesn't have (at least yet)
๐ฅ Typesafe routing
๐ฅ Prevents broken links
๐ฅ Decouples route path from Link, lets you move pages around (to different path) without having to change any Links!
BONUS
Without looking at the solution, try to recreate every utility type on this page:
Once you are fully stumped, look at solution here: and study it until you fully understand it.
This will do wonders for your TS skills
SO MANY people don't built proper user <> organization memberships into their product at the start.
Please at orgs & memberships on day 1 even if you are convinced you don't need them. You will.
Here's a great domain modeling recipe if you need:
Officially christened a
@blitz_js
fork of next.js today!
This begins the final journey towards 1.0. Most of the existing bugs are from our (somewhat gross) compiler approach. Moving some things into next core is going to be a game changer!
More details:
One of biggest myths of serverless functions is that they allow you to โfocus more on business logicโ
Itโs a baseless marketing ploy.
You still must worry about CPU, memory, and which region itโs running in.
Plus, you now have to worry about cold start, code size & duration
First helicopter solo flight todayโผ๏ธ
๐๐คฉ๐ฅณ๐
Been dreaming of this for SO many years! Few more hours left, and Iโll be a certified helicopter pilot.
End of an era! Off-boarding my last consulting client this week, ending over 4 years of consulting. Itโs been a really awesome experience and gave me the flexibility to spend significant time on Blitz while also having a decent income.
๐
@blitz_js
๐
@Flightcontrolhq
๐ฅ Hiring a 2nd Developer Advocate for
@Flightcontrolhq
! ๐ฅ
๐ Rare chance to be 7th hire at high growth devtool startup
๐๏ธ Fully remote
๐ฉโ๐ซ Make Cloud accessible & fun
โ๏ธ Need 1+ yr experience in devrel
See the full details and application here:
Iโve officially stopped coding for
@Flightcontrolhq
๐ฏ๐
End of an era ๐บ
Now I can focus on hiring, product design, marketing, etc.
Iโve always been more interested in product design and business than coding. So Iโm more than happy to have a team doing the building ๐คฉ
WHOA look at this fancy new Discord UI spotted in the Remix discord!
It's a fancy UI + tags on top of discord threads. Forces people to use threads, which is great for help channels
The most absurd thing Iโve heard from a tech influencer is that the only people that can have good opinions about a technology are those who are pushing that tech forward.
If you are merely using it (ex. Lambda), you canโt have a good opinion. Only the elite experts working on
Lol, somehow Iโve uncovered a rare bug deep inside npm infrastructure thatโs preventing me from publishing new versions of
@blitz_js
One of their engineers is working on this and is belong very helpful and providing clear updates.
๐ฅ HIRING Backend Typescript Engineer at Small DevTools Startup ๐ฅ
Come join us at
@Flightcontrolhq
! ๐
๐ Remote, UTC-7 (PST) to UTC+2 (CEST)
๐ป Intentional about a thriving culture
๐ Went through YC, growing fast
๐ด You can grow with us
Clocked another year, 33 in total ๐
Itโs been an incredible year taking
@Flightcontrolhq
from 0 to 1.
But the best part has been all the great new and deepened friendships and acquaintances.
I celebrate you all!
๐ The
#7
product on
@ProductHunt
today is built with:
โข Next.js & React
โข Styled-components
โข CSS Grid
โข Hosted on
@zeithq
โข
@graphcool
backend
โข
@algolia
search
AND itโs open source! (Link on PH)
Vercel keynotes/launches are not helping the React discourse.
Because it seems everything they announce is a next only thing they developed, where some of this is react specific that anyone react app will be able to use.
Ever wish Next.js had better type-safety on the routing layer?
We did too, so made a pattern adding full type-safety and runtime validation for route and query params.
In this blog, I detail the pattern and include the little code utilities for you to copy/paste.
Link in next
Here's what I think
@remix_run
really shines at:
๐ช Giving full control, i.e. sharp knives, to the developer. Contrasting to Next.js which gives dull knives so you don't hurt yourself.
๐ Routing: both nested and great integration with data-loading
How can this
@PlanetScale
be considered serverless even in the loosest definition?
It doesn't even have any type of autoscaling
We're considering switching to Aurora
Is
@PlanetScale
adopting the AWS usage of "serverless" that's not actually serverless?
We are hitting 100% CPU memory and it's saying we need to upgrade our plan, but the plans don't say anything about CPU and memory ๐คจ
PSA founders and startups โ you don't have to pay $36,000/year to get blazing fast Next.js hosting.
You can get the same, or better, perf AND the ~same DX with
@Flightcontrolhq
+ AWS for < $1,000/year