I was just walking home & stopped for a solid 5 minutes on the sidewalk to pet this SPECTACULAR doggie 🐶
If you missed it yesterday, I ran a workshop at PrideMakers with special guest Guillermo Rauch! I explain why/how React.js & Next.js were invented & the difference between them, then walk through how React components work, & build a small app with static generation & near-infinite pages for personal TV show recommendations. Resources here. youtu.be/aEbxzp4Fqg4
Join me in 2 hours at PrideMakers 2021, where I’ll teach you Next.js & React.js, but queer :technologist:️
🌈 Streamed live for free at 1pm PDT / 4pm EDT today: twitch.tv/teamliquid
Sooooo I’m 20 now 🎈 hot girl summer here we come!!!
Carbon emissions dropped during COVID—but working from home introduces its own emissions. I’ve helped build an interactive calculator at Watershed to model these emissions: watershedclimate.com/wfh-calculator (& wrote a Twitter thread with some design details!)Playing with 3D animated text with React/Three.js & making generative clouds with SVG + CSS this weekendCooked Chiang Mai noodles & tofu with a chili-lime cabbage salad for dinner
Had a great time teaching the personal website workshop at CincyHacks this morning!! Thanks @avascherocman :)
🌎 For the past two weeks I’ve been helping Watershed Climate make a new website, & we’re live!! watershedclimate.com
Watershed helps companies cut carbon, already including Square, Shopify, & sweetgreen. We’re on Bloomberg, Fast Company, & Business Insider too.Set up a camera slider (took several hours…) & captured this looping tracking shot of my dad painting in his studioI published <https://supercons.vercel.app|Supercons>, my successor to hackclub/icons, now with 200 icons! github.com/lachlanjc/supercons
I published Next Theme Starter, a batteries-included Next.js + Theme UI + MDX starter for new sites (a successor to hackclub/theme-starter, but for non-Hack Club sites) github.com/lachlanjc/next-theme-starter
Found this old timelapse of me designing/building hackclub.com/bank, February 19, 2019. Video courtesy @zrl 😄Taught my sister to use GitHub to update her website! catherinecampbell.me (uses Next.js/MDX/Theme UI/Vercel)
This episode of Song Exploder diving into the experiences/writing/production of Billie Eilish’s “everything i wanted” is one of the most compelling things I've listened to in awhile overcast.fm/+EwEyvtW8cDesigned some website mockups for a friend as a little design exercise ✨
Making applesauce!!! 🍎Banklings, the rumors are true! After 12 hours of fighting with CSS Grid, flexbox, widths, margin, padding, & overflow, Bank has a sweet new sidebar (or tab bar on mobile/tablet screen sizes) with quick access to everything, while making drastically better use of screen space. I’m super excited about this.
&, if you’ve lost or never got a receipt for a transaction, you can now mark that with one tap! Empty out your inbox & celebrate. 🥳
Took a nice walk yesterday afternoon 🌳Got my iPhone 12 Pro today! The reviews super undersold how fabulous the new design is. Huge fan. Pacific Blue is perfect.
I was making a harrys.com order & they offered a mystery item for $5, which was a delightful question so I took them up on it. To further add to the experience & avoid confusing you with something you didn’t order, they wrap the mystery item inside this amazingly amazing bag. Incredible design & copywriting on both sides. Notice that they keep track of what they send as a mystery so it’s always different. Going to keep ordering mystery items, I love this.
I’m volunteering at the polls today!! Please vote if you can!! Make sure your family votes!! My sticker fell off right before I took the picture but oh well. 🇺🇸
Happy Halloween, Scrapbookers! Celebrate your streaks with a seasonal heatmap. 🎃 (Thanks for the help @sampoder!)
(Limited-time offer. Can be combined with other seasonal offerings. Terms apply.)
Happy birthday, Zach—it’s such a privilege to work with you every day, & I so deeply appreciate what you’ve done for me over the years. Hope you’re having an amazing day!!Good day, Banklings! It’s way easier to check out with virtual cards now, since I’ve redesigned the card page with all the details you need in one list & handy stats below. Transaction lists are more reliable now, with a bunch of display issues (esp in Transparency Mode) fixed, & the amounts right-aligned. I also refreshed the My Cards page to show more card details. One quick ask—we don’t do tracking beyond pageviews by default in Bank, but we now let you opt into session tracking. If you’d like to help us debug stuff, turn it on in your settings :)
I don’t have a specific way of coming up with ideas for projects. A lot of my projects are also iterations on a theme; I made a site called NRA Funded as one of my first React projects in 2016 (nrafunded.now.sh), then Fossil Funded a year later (lachlanjc.github.io/fossilfunded), then returned to the idea last year with Gun Funded (gunfunded.com). The original idea came from the Pulse shooting in the news, then I kinda kept growing it from there. Same thing happened with predictcovid.com then testing.predictcovid.com, those were the dominant news items in March & I wanted to visualize them with data.
My open source libraries are mostly extracting a solution I came up with for a problem (e.g. snowflakes in React for hackclub.com/santa, github.com/lachlanjc/resnow) to make it reusable (Hack Club Theme is this as well). I think otherwise it’s easy to make not-very-useful projects, & once you’ve solved the problem yourself you have more constraints & opinions on how to do it well/make it useful.
I also tend to reuse & remix many elements from past projects (look at Gun Funded vs testing.predictcovid.com), & I’m not afraid of constantly remixing my ideas & code in public. You don’t need to learn a new tech stack & make an entirely new design language for every project—& I think lowering the barrier by reusing elements makes it easier to make more stuff, which is a positive cycle. I wrote about this: notebook.lachlanjc.com/2019-09-06_my_websites_look_the_same (including an image for Scrapbook)
Several small ships on Bank today: you can now create another project right from your dashboard, modals are way easier to dismiss on mobile, and the Emburse page is now clearer about its status.
Walking these bois is the best part of the day 🐕
Dexter is keeping my foot warm!! Also he was wagging a bit ago. He is so good.
If you were wondering where to go get it
Small ship: the card transaction pages now show a ton more details about your transaction, such as the location of the merchant, so you can find out exactly where & when someone spent money, with lots more details for finding receipts or tracing back details.
Big ship: you can now order yourself a new card right on Bank, including virtual cards! Virtual cards can be generated instantly & used for online transactions, no waiting for shipping. If you haven’t ordered yourself a new card, it’s right on your Cards page now. (Personally, super happy with the design of this!)
4th hot air balloon I saw this weekend…I’ve always wanted to ride in one. Also, iPhones are remarkable. (Shot with Halide, edited in Darkroom.)
New Allbirds & dual hot air balloons vibe 🎈
It’s been another week!! Got some great, focused work in on Bank this week & feeling solid.Super happy with the progress I’ve been making on :bank-hackclub: Hack Club Bank—you can now upload receipts super quickly from your phone without logging in, unified transactions list shows who made each card transaction, you’ll see shipping status & tracking when your cards are on the way. Bank gets better every few hours 🌟
It’s weird since working on Bank is totally unlike everything else I do at Hack Club…takes a few days to get back into the swing of working on a long-term product, not just one-off changes to a website & constant context-switching on comms & visual projects. Feeling proud of my last week though.
Had a productive day, though I took a break to watch the :appleinc: Apple Event with @matthew. (Not buying anything yet, somehow!) Made the first version of unified transaction lists on :bank-hackclub: Hack Club Bank (pictured below!), improved the 🧾 receipt experience for the new Stripe Issuing cards. (Lots more coming there.) Also worked with @christina695 at the end of the day, bringing some design polish to a slide deck for an upcoming donor call.
I’ve been learning to cook alongside @matthew this last two months. Last night we did sesame noodles + cucumber + fried egg & tonight we did polenta + sesame green beans + my second salmon teriyaki. It was so good!!! I’m really proud of our progress.
Made a bunch of upgrades to :scrappy: Scrapbook! Text parsing is much better & handles cases like punctuation following @ mentions, handles edge cases like posts starting with colons, emoji parsing is better, and images now load noticeably faster due to proxying + caching (with HTTP/2 + fewer DNS lookups). You can also now fully opt out of streaks, if you like: /scrappy-togglestreaks all, & they won’t show up on your profile, Slack status, or elsewhere on Scrapbook. @alchzh upgraded us to Next 9.5 & added tooltips to the contribution chart as well, so thanks! Photo from Switchyard Park, Bloomington.
Got away from posting daily updates this week, but it’s been quite a week! Made the new hackclub.com homepage which I’m pretty proud of, got (dozens of) other things ready behind the scenes for the Clubs launch on Wednesday, continuing our social media. Working with Michael, Amogh, Christina, Matthew, & Max every day. Now I’m full steam ahead on Bank & the cards migration we’re starting to roll out. Here are @matthew’s doggies from last weekend!! 🐕 :macbook-air-space-gray-screen::yay:
(This photo is the Bloomington HQ’s main room at the beginning of the day.) In between desk assembly & assorted fun times yesterday:
• Worked on Bank v2 product planning with the singular @msw. Came to some great new ideas for cards on Bank I’m really excited to build; essentially, virtual + physical cards for every team member, clearer transaction ownership, simpler ordering & management. Excited to work on some UI prototyping for that today
• Had a wonderful chat with @scott, who’s been working on the Bank backend recently
• Took a walk with @zrl to discuss my work recently & the DNC/RNC & news
• Checked in with @amogh on iPad project
• Shipped a set of small design improvements to Bank
• Embarked on a tale of two packages I hope you’ll discover next week(?) in #scrapbook
Then I made some salmon teriyaki with corn & green beans for dinner with @matthew that was surprisingly good!!
Last day in our temporary office today, in Bloomington:
• Ended SoM hardware grants with a wonderful PR from @sampodergithub.com/hackclub/summer-site/pull/57 & gave him feedback on our upcoming homepage by him!!
• Bank: fixed a Transparency Mode bug on the G Suite page
• Bank: reached out to someone I super admire about working on an explorative new project together
• Workshops: in preparation for the new Clubs, standardized our formatting & streamlined authoring open letters github.com/hackclub/workshops/pull/20
• Moved forward on iPad distribution project
• Unblocked @neel.redkar on serverless deployment
• Talked with @michael.destefanis to plan Bank work, @tmb about MacBook project, @msw about Slack comms, then a long chat with @zrl about workflow/responsibilities at HQ
Here’s what @matthew & I made for dinner. Going on a quick weekend trip in the morning!
Moved houses & got a late start yesterday, but got a few things in:
• Added print styles to Workshops site, h/t @melody, to improve usability github.com/hackclub/workshops/pull/19
• Bank: Added example HTML embed code for embedding your donation form on your website
• Bank: Removed the webfonts for improved performance & a nice design tweak
• Bank: Shipped verrry first prototype of new cards ordering flow I’m working on (not public)
• I started my reign over Brand Twitter, now that I’m running our Twitter twitter.com/hackclub/status/1296655498842906625?s=21
Photo from a nighttime walk around campus with @matthew!!
Bouncing around as usual yesterday:
• Published another VIP newsletter, from June 17: hackclub.com/vip-newsletters/008
• Added a page to our website to answer the common email we get, “Will you sponsor my hackathon?” hackclub.com/sponsorship
• Fixed the Slack form, which is now using the non-SOM flow, where we manually approve people. (Absolute fight to the death with CORS & API headers.) This flow is temporary; discussed with @matthew a new post-SOM Slack signup flow to implement soon
• Fixed Badger the Slack bot, as well as custom emojis on Scrapbook
• Set up automated API testing with checklyhq.com—public dashboard coming soon
• Updated the Code of Conduct to replace there being a specific Working Group with our team: github.com/hackclub/hackclub/pull/1286
• Did the first half of converting hack.af to serverless
I didn’t take any cool photos yesterday, so here’s two from a year ago, walking around Bellefonte, PA at night.
Productive day yesterday!
• I got our old domains working again (they previously didn’t point toward us, now they just redirect): hackclub.org, hackclub.io, hackedu.us
• Made all the frontend changes for taking down the Apply site in preparation for the new Clubs program this fall
• Began migrating back to the pre-SOM Slack signup flow; CORS nailed me a few times so finishing today
• Made a plan to begin distributing the iPad gifts with @amogh & @dinaelhanan, had a quick call with @christina695, & @tmb was really helpful as well. Super excited to move that project forward!
• Started working on automated checks for various API endpoints around Hack Club; finishing today. Hoping to have a public dashboard
• Removed legacy analytics from v3; need to fix analytics on v2 site today
Today, focused on a wide range of primarily maintenance updates across the org. Photo is from walking around Bloomington last night with @matthew 😊
The past 3 days, I’ve been in New Haven, CT to move out of New Haven HQ & move @matthew & somewhat @msw out of their apartment. I am the most exhausted I’ve been at least all of 2020 after moving, packing, cleaning, transporting, loading etc thousands of pounds of stuff. We shipped maybe 25 boxes all 25-60 pounds at FedEx ($1220) & spectacularly loaded Matthew’s car. Massive shoutout to Matthew & Max for all pouring it on, we are all sweaty & exhausted but now driving to my house. (& don’t worry, Matthew was wearing a mask all the time except when I took a picture)
Worked on infrastructure today, my most visible ship was a refreshed website footer. Made fish tacos with the team.
Unproductive but enjoyable day…sat out on the dock listening to Easy & spent awhile tonight talking to @cwalker about iPad productivity & RSI.
Coded all day, made dinner with @matthew, saw some incredible stars & the Milky Way & satellites & a comet.
Chill day today. Used Next.js serverless functions to add APIs to the Hackathons & Events sites, fixed bugs, lounged around. Worked with @cwalker on Operator & @msw on a crazy hack with Vercel.
This photo is from a wondrous night with @msw a few days ago…we sat out on the dock looking up at the glorious night sky & I saw the Milky Way I think for the first time. It was a solid day of infrastructure work today though—shipped a massive update to Hack Club Theme & little updates to a bunch of other sites, switched our asset hosting from CloudFront to Vercel, improved documentation on theme-starter, bugs on Bank. Lots of things I work on no one ever notices, but sometimes that’s the most important to work on.
Had a productive day today, adding reactions to the Scrapbook homepage & adding mention pages for users, thinking about explorability/browsability, being able to get lost in the site in a way that feels natural. Also made a site for Hack Club’s Minecraft server & got started on another site.Made dinner for the team with @matthew & went kayaking & had more discussions about clubs & such, in reverse order ↕️
Long day planning next school year & working on tooling. In a (first step of a) slightly new direction, shared our notes on GitHub today. Photo by @msw 📸
Every two weeks, @christina695 & @zrl & I write a newsletter to Hack Club’s biggest donors & supporters. Though they look simple, we each spend many hours planning, writing, editing, revising, & testing them. They’ve been an incredibly useful tool for our fundraising, so as we send out new ones, we open source old ones, six weeks behind. Since I’ve been writing our latest issue, I’ve also published our issue from May 20. Here’s a video of the shortcut I made on my iPad to publish!Sitting out on the dock reading as a lightning storm rolls in. Had a relaxing afternoon kayaking (the only one not falling out of my boat…🏊♂️) & cooking a great dinner with the team. 🚣♂️🍕Had a fantastic week making dozens of improvements & adding new features to Scrapbook, conversations with the team, new ideas to work on for the summer. Feeling like I’ll really be hitting my stride next week. Besides the crazy heat, so enjoying being with the team & kayaking in the lake everyday.
Just found a scientific poster I designed in :figma: & presented with a team from my high school about local water quality in relation to fracking in Pennsylvania
I use Figma every day for everything I design—logos, branding, stickers, posters. I love using it esp on my iPad :figma:
Personally I really 💖 custom emojis :yay: on our Slack :slack: & I may be :expanding_brain_4::expanding_brain_2: working on some improvements to :dumpster-fire: Scrappy to launch today 🛫 @neel.redkar pulled through with a super helpful PR to get it rolling.
If you’d like to help test something else, adding an emoji reaction to this post would be great!
Incredible storm on the lake today ⛈️Not a super exciting day—drove up to Vermont with @matthew to spend the next few weeks with the team! The Chipotle stop was delicious.
Did some coding, made macaroni & cheese, went for a walk punctuated by a lot of fireworks. Rewatching Schitt’s Creek (again!) to show my sister. Started packing to leave for Vermont on Monday—there’s kind of nothing to do at home but work, cook, & go for long walks, so looking forward to working with the team again.
Had a pretty normal day—fixed some bugs, introduced some bugs, built a new feature for Scrapbook 👀, edited/sent our latest VIP newsletter. Finished the day making some incredible pizza 🍕 with my family & watching the Hamilton film, so I laughed a bunch & cried even more. Jam for today: America by Sufjan Stevens 🎶
Struggled to work a lot of the day due to RSI flaring up (pain & extra heat in my wrists/arms), so got out an old ergonomic keyboard to set up at my desk with my iPad so I can still get work done. It functioned well, but adapting to a totally different keyboard layout slowed down my typing like 70%. Put a new Scrapbook feature on hold, but I updated the Summer of Making site & made it the hackclub.com homepage, redesigned the card pages on Bank with a new layout, & a few other small things. RSI is something I’ve struggled with for several years, typing for so many hours a day, & hoping I can better mitigate it as time goes on.
I don’t have a very fun image today so I have a GIF of @christina’s iconic goats instead. Did a ton of small things today! There’s richtext support on Scrapbook, I fixed the GitHub-style streak graph bug, halved build time, a variety of Scrapbook & Bank bugs fixed, I doubled the PageSpeed & halved the initial data download of Bank pages through a bunch of frontend optimizations, & lots more. Planning to start a new Scrapbook feature tomorrow & hoping to get back to my Swift project as well.
I didn’t make progress on my Swift project today, or have a super coherent update on one project. I did dozens of small things all day, most of which no one will ever fully notice but were very productive. Every night I go for a ~5-mile walk in the darkness, after the sun sets, & I took this picture while walking home tonight in pitch darkness. Just feeling incredibly, incredibly grateful for all the amazing people in my life & how lucky I am to be living the life I am.
I’ve tried several times over several years to get somewhere into iOS development, & it’s just never worked out very well for me. Over the last few days, I’ve been digging into SwiftUI more seriously, & made good progress on downloading/parsing JSON (so much harder than on the web!) & using views/layouts (so much simpler than CSS/JS!) to build a little native Scrapbook client. Building an async image gallery today & figuring out date formatting, with the assistance of a multi-hour Zoom with an experienced dev friend, pushed my limits of Swift knowledge super far. Hoping to add a few more features & get it up on TestFlight—so cool to be learning something wholly new.
Designed 49 new/revised icons for Hack Club Icons, for use on our websites & Bank. 🖊️
Learned some new SwiftUI to build an extremely basic native Scrapbook client!
I worked on Bank navigation & attended the awesome AMA with ladyada today, but an unexpected highlight was this remarkable, 6” Luna moth visiting tonight.
On the road heading home with @matthew. Made profile pages load way way faster on Scrapbook 🚗💨
Another video about Bank coming very shortly 👀 but went on a windy hike at sunset ⛰️🥾🌅@zrl posted a video with all the details & a live demo, but made a ton of bug fixes & added some new features to Scrapbook today, like user mentions & autolinking. In between streaming WWDC & being extremely excited all day about all the Apple goodness, a productive Monday!
Made enchiladas with the team & hung out with @matthew today. Did only a bit of coding but there were ✨ good vibes ✨
The work I did today was just fixing a bunch of bugs on Events & Scrapbook (the homepage is no longer 200MB…) 😅 but had a really nice evening getting Five Guys & walking along the beach at sunset with @matthew + @melody
Had a fantastic conversation with @zrl under this tree about my role at Hack Club & recent work. After a long way ending in staying up for 37 hours launching Scrapbook & Summer, nice to take a break.
Over the last 18 hours, I’ve designed & built a new website for Hack Club Summer of Making I’m pretty proud of. It just went live. Open source, as always: github.com/hackclub/summer-site
Spent all weekend working on designing & building this Scrapbook site with Next.js & Airtable. Open sourcing on Thursday!