Nov 20th, 2023 · Case studies
We helped an award-winning home loan provider unveil their new brand with the launch of two websitesRead more about this entry
Nov 10th, 2023 · Case studies
We helped ELMO build an award-winning design system to increase UX consistency and developer efficiencyRead more about this entry
Thinkmill turns 10 🎉
In September 2013, our Co-Founders Jed Watson and Boris Bozic officially registered Thinkmill's ABN. From there, we begun our journey as a software consultancy powered by a skilled team of design-engineers, open-source enthusiasts, and problem-solvers. Today, we're still that, with sharper tools and the same goal of building great software. Thank you to our team, friends, and clients who've been a part of our first decade. We naturally had cookies and cake to celebrate. Here's to the next!
Designing at scale: an overview of Design Systems
Our Design-engineer Nathan Simpson recently gave a Design Systems talk at Innovate Orange - a technology meetup in regional NSW. Watch the recording for Nathan's high-level overview of Design Systems, and how large organisations can achieve design at scale.Innovate Orange(opens in new window)
Aug 22nd, 2023 · Find out more about ThinkmillLabs
Keystatic now featured in Astro docsdocs.astro.build(opens in new window)
An exciting milestone for our Labs team; Astro has released an official guide to using Keystatic as a CMS to power Astro sites.
Panellists at Design x Engineering Co-Lab
Our Co-CEO, Boris Bozic, was one of three expert panellists who spoke at the first Design x Engineering Co-Lab on Design Systems, in Sydney. We're proud to have his serious design systems knowledge at the helm of our design-engineering practice. Thank you for the words of wisdom and experience shared by the other panellists, Dominik Wilkowski and Maria Christley; and to Morgan Fletcher for MC-ing the event, and Atlassian for hosting us with an impressive pizza spread. We'll be there for the next.
Jun 23rd, 2023 · Writing
7 Things I ❤️ About Keystatic — A Thread 🧵👇
After using Keystatic full-time for about 5 months, I thought I'd share some of the things I really like about it. The talk was at the SydJS meetup, held on the 21st of June 2023 at the Atlassian HQ.Read more about this entry
Jun 22nd, 2023 · Case studies
We helped Koala implement a lead capture and onboarding feature, with personalisation capabilities that exceeded expectationsRead more about this entry
Jun 22nd, 2023 · Case studies
We helped Koala improve their fulfilment ops and expand into new markets with a multichannel serverless integrationRead more about this entry
May 29th, 2023 · Case studies
We helped Rugby Australia rebuild their publishing infrastructure with Keystone to power the content of 3000 websitesRead more about this entry
May 26th, 2023 · Writing
Accessibility at Thinkmill
How we approach the multi-faceted world of accessible design, and how improvements made for one user group can benefit all of us.Read more about this entry
May 25th, 2023 · Writing
What we learned applying the Thinkmill Method to a complex accounting app
We recently wrapped up delivery of a feature for a client’s complex accounting app. The project presented a valuable opportunity to battle-test our thinking around how we build products. We implemented a range of activities and techniques from the Thinkmill Method, and came away with valuable insights related to where it shines, what’s needed in order for it to do so, and how to improve it going forward. Here‘s what we learned along the way.Read more about this entry
May 24th, 2023 · Writing
Visualising a schema-led approach using FigJam
Thinkmill uses a schema-led approach to design, which involves building visual representations of data structures to help teams understand the underlying relationships and dependencies. Recently, we used the Schema Nodes FigJam Widget to visualise the schema and relationships.Read more about this entry
May 23rd, 2023 · Writing
How we think about research at Thinkmill
The true goal of conducting user research is to test the assumptions that have been made, and bring confidence and clarity to a project and its vision. However, organisations often perceive research as a long, drawn-out process that won't bring value for months. At Thinkmill, we focus on designing user research that can be acted on immediately and will make a substantial difference to your team today.Read more about this entry
Jordan Geizer has made another Figma plugin that’s near and dear to our heart. Schema Nodes makes it easy to create a visual representation of your product’s GraphQL schema. Handy for practicing schema-led design & engineering.
I was inspired recently by some schema diagrams @GiselleStidston & @chrisdale_io had made but couldn't quickly add fields & types - as they had - during a live workshop.— Jordan Geizer (@jordangeizer) May 11, 2023
So I made a little @figma widget! It lays out GraphQL types in a menu & you can easily arrow up each field. pic.twitter.com/MCDxuCa1RG
A group of Thinkmillers returned to Chennai to present a progress update of the work we’re doing for the team at Anywhere Works, and share best practices for effective cross–functional product design & development.
Accessibility in Design Systems
Jordan Overbye spoke at React Sydney about our collaboration with the Australian Government’s Department of Agriculture, Fisheries & Forestry to implement AgDS – a modern and accessible React Design System. AgDS achieved AA-level compliance against WCAG 2.1 and is noted as an exemplary implementation of an accessible React-based design system by independent accessibility consultants, Intopia.React Sydney(opens in new window)
Thinkmill founder Jed Watson introduced React Sydney to Keystatic our new file-based content management system that makes Markdown, JSON and YAML content in your codebase editable by humans.React Sydney(opens in new window)
Apr 2nd, 2023 · Find out more about ThinkmillLabs
Using Keystatic with Astro’s Content Collections
Simon has a new video walking you through the process of implementing Keystatic to power parts of the site you’re on right now! Built with Astro, this site leverages the power of two new features recently added to the framework: Markdoc, and Content Collections.
Mar 20th, 2023 · Writing
Route Map - a lightweight schema for defining a UX blueprint
A Route Map is essentially a lightweight URL schema for an app or experience. This is how we use it.Read more about this entry
Celebrating a decade of partnership with P.JOHNSON
This month, we celebrated P.Johnson being a Thinkmill client for 10+ years — and a true partner. Not only did our co-founder’s wedding see the groom and his groomsmen don P.Johnson suits, but we’re proud to have grown together with them over this decade of learning and progress. Here’s to the next decade of success (and weddings).
Project walkthrough: Agriculture Design System
Watch Jordan Overbye and Nathan Simpson outline the origins of our recent collaboration with the Australian Government’s Department of Agriculture, Fisheries & Forestry to implement a modern and accessible React Design System.
Mar 3rd, 2023 · Writing
The $64,000 question to create more accessible and inclusive experiences
Empathising with your blind users to create better experiences for all.Read more about this entry
Feb 28th, 2023 · Find out more about ThinkmillLabs
Serverless website & booking system with Keystone, Planetscale, Vercel, & Next.js
Josh Calder has open-sourced a new website he built for his wife’s performing arts business. It lets students view a timetable, check fees, find available lesson times, and enrol through a portal. It combines Planetscale and Vercel to make for a fully “serverless” Keystone stack.
Feb 23rd, 2023 · Find out more about ThinkmillLabs
Our latest R&D project, Keystatic, is ‘officially’ in early access, with some handy templates and this step-by-step guide . Like most of the innovation borne of Thinkmill Labs, Keystatic is in its fledgling stage. There are some rough edges, and we’d love your feedback to keep the wheels of innovation turning. Join our community and follow @thekeystatic on Twitter for everything else.
Feb 22nd, 2023 · Writing
Orienteering: A framing for software consultancy
Orienteering aims to better align a consultant’s mindset with the real-world experience and evolve their way of thinking in a more sustainable way.Read more about this entry
Feb 22nd, 2023 · Writing
All about Artefacts
Artefacts are a guaranteed by-product of software development and managing them effectively is important. This article aims to give deeper insight into what we mean when we say artefacts and highlight some key shortcomings as well as the strategies we’ve found to overcome them.Read more about this entry
Feb 21st, 2023 · Writing
Building layouts with placeholder components
An approach to rapidly building and evolving layouts as a project progresses and becomes more defined.Read more about this entry
Feb 20th, 2023 · Find out more about ThinkmillLabs
Keystatic’s now on Twitter 🐦. Follow along to stay connected to the latest news.
Hi Twitter 👋— Keystatic (@thekeystatic) February 20, 2023
Feb 19th, 2023 · Find out more about ThinkmillLabs
Livestream: landing page with Keystatic, Tailwind, and Next.js
We’re working on a few Keystatic starter templates for devs interested in early access. Watch Simon livestream the build of our first example – a marketing website landing page.
Feb 10th, 2023 · Find out more about ThinkmillLabs
Our new database-free CMS experiment is up on GitHub
While it’s still early days for this project, you can now take "Keystatic" (working title) for a test drive. For more info checkout the README.
Feb 10th, 2023 · Writing
The Thinkmill Learning Loop
How the work we do in open source and client services drives our craft to new levels.Read more about this entry
Feb 9th, 2023 · Find out more about ThinkmillLabs
The Labs team is working on a new and exciting way to work within content inside git-native workflow.
Feb 8th, 2023 · Writing
Our Philosophy of Working
The mindsets, principles, and enablers that shape how we build great products.Read more about this entry
Design, content, & code in parallel: Thinkmill’s new website
Simon made a playback of an internal team presentation we did this week. It looks at how we built the new Thinkmill website in a hyper-iterative way; with content, design, and code evolving in parallel streams. Our journey to launch presented an interesting set of challenges and learning opportunities.
Produce traditional and vertical videos with the same footage!Better Dev Screencasts(opens in new window)
Simon V has a new article that shows you how to produce landscape and portrait formatted videos from the same footage.
How we built our website newsfeed
This newsfeed you’re reading is a recent addition to the Thinkmill site. Here’s Tom Whitaker with an inside look at how we built the feed to surface material from a wide range of content types including articles, snippets, events, case studies, and more.
And just like that, we’re reflecting on 2022! It’s been a year that has challenged and rewarded us, brought growth and fun. So, we took a moment to thank some of our best partners: our clients. Thanks to Urban Plant Growers for creating these EcoKitchens, which give sustainable, real-life flavour to gifting (with a touch of tech, of course). Our clients give us the opportunity to do what we love -- to solve complex software problems together, and sharpen our tools as we go. Cheers to a 2023 of more successes and tasty, herbaceous salads.
Dinesh has released a series of beautiful, performant, and accessible blog templates for Astro.
Design System Talks: Using CSS logical properties for internationalisation
In this first-ever Thinkmill recording, we reveal the juiciest bits of an internal Slack discussion on design systems and logical properties. Served up with a dose of casual chat, two of our design systems experts, Joss Mackison and Luke Bennett, unpack best practices for the use of CSS logical properties for better internationalisation in design systems.
Dec 14th, 2022 · Find out more about ThinkmillLabs
Use Keystone in Next.js applicationsKeystoneJS.com(opens in new window)
Dinesh gives a run through of how you can use Keystone as a data layer in a Next.js project.
Nov 21st, 2022 · Case studies
We helped Vocal scale from a hunch to a multi-million user publishing platformRead more about this entry
Dinesh made a handy tool to let you embed text into Open Graph images for social sharing purposes.
Talking remote-first work at the Tech Council of Australia
Jed was invited by The Tech Council of Australia to talk at their showcase on the future of work. As a panel member, Jed shared Thinkmill’s experience of working in a Covid-era, how our business has been successfully navigating a remote-first approach since 2019, and what the future of our HQ may be. As a member of the TCA, we’re able to give a voice to software R&D and tech, from the trenches of community and innovation.
Luke Bennett special guests on The NavBar pod
Luke Bennett joined Simon & John from The NavBar to review the exciting new announcements at Next Conf 2022, and the release of Next.js 13.
Delightful products, the Antifragile way
Boris recently spoke at Dovetail about our method for building great products within cross-functional teams.Delighters Conf(opens in new window)
Jed & Alex traveled to India for a week-long code/design audit and training workshop with a new client. We’re helping them find better ways of working and levelling-up their codebase and design system to support future growth.
Oct 24th, 2022 · Find out more about ThinkmillLabs
Singletons have arrived to KeystoneKeystoneJS.com(opens in new window)
One of the community’s most highly requested features. Singletons give you an easy way to work with lists that will only ever have one item. Think website configs, global navigation, and user settings.
Oct 24th, 2022 · Find out more about ThinkmillLabs
Keystone has a BlogKeystoneJS.com(opens in new window)
Stay connected to all the latest news and developments in our open source app backend framework.
Oct 20th, 2022 · Case studies
We helped Dovetail build and launch Outlier – a unique blog experience for sharing delightful product storiesRead more about this entry
Dinesh recently gave a lightning talk at Sydney’s Web Directions Meetup on schema-driven development. Here’s a quick recap in case you missed it.Web Directions Meetup (SYD)(opens in new window)
Oct 9th, 2022 · Find out more about ThinkmillLabs
Static blogs with KeystoneDinesh’s blog post(opens in new window)
Dinesh has a great post about making static blogs using Keystone.
Sep 20th, 2022 · Case studies
We helped ReachOut rebuild their mobile apps while coaching their team in React Native architecture and best practicesRead more about this entry
Sep 20th, 2022 · Case studies
We helped an Australian Government department build a Design System to support their digital transformation goalsRead more about this entry
Sep 20th, 2022 · Writing
A day out at DDD Perth 2022
Highlights from Perth’s annual inclusive conference for the tech community.Read more about this entry
Congrats to our strategic partner Meld Studios for winning Good Design team of the year for 2022 🥳
We’re really proud to see so much adoption of our OSS tools
I'm not sure how to measure impact in #opensource, but I learned some cool numbers this morning...— Jed Watson (@JedWatson) September 15, 2022
Classnames passed a billion downloads early this year (total 1,288,598,280)
And react-select is sitting pretty with 504,538,808 lifetime downloads
So that's something 😀
Single source of truth development
Jed demonstrates an end-to-end project using Prisma, Keystone, GraphQL, TypeScript and Next.js where everything is derived from a single source of truth for the schema and types.GraphQL Sydney(opens in new window)
How to establish multi-disciplinary teams to effectively design and build products
Lauren recently co-presented with Meld presented at UX Australia 2022 about how to establish multi-disciplinary teams to effectively design and build products.UX Australia 2022(opens in new window)
Sep 8th, 2022 · Find out more about ThinkmillLabs
Joss has released a new open source collection of utilities that smooth out the rough edges of working with TypeScript.
Jordan Geizer has released an update to his awesome Automatic Style Guides plugin. Now with hsla() support.
Simon Vrachliotis is making great progress with his upcoming Pro Tailwind course. Here’s a sneak peek of what’s in store:
Jul 27th, 2022 · Find out more about ThinkmillLabs
The State of Headless CMS
Jed joined a panel of experts to discusses the current state of Headless CMS and what lies over the horizon.This Dot Media(opens in new window)
Simon has launched a Podcast series
Simon Vrachliotis and his friend John Myers from Supabase have launched the NavBar – a podcast dedicated to web development and content creation. Check out the teaser.
Jul 2nd, 2022 · Find out more about ThinkmillLabs
Introducing KeystoneJS, the CMS & API Platform for Prisma
Jed’s workshop on how to build a polling system into a blog with Keystone, NextJs, GraphQL & Prisma.Prisma Days 2021(opens in new window)
Jun 30th, 2022 · Find out more about ThinkmillLabs
Keystone now supports MySQLKeystoneJS.com(opens in new window)
We’ve added support for MySQL to Keystone’s list of DB providers, bringing the total number of supported DB types to three.
May 20th, 2022 · Case studies
We helped Brighte create Spark - a new Design System for their Mobile AppsRead more about this entry
Feb 9th, 2022 · Find out more about ThinkmillLabs
Learn Keystone with our new beginner’s series
We’ve released a new learning series for Keystone. Aimed at beginners, the new series shows you how to turn an empty folder into a functioning blog backend with relationships, auth, and session data.
Dec 21st, 2021 · Find out more about ThinkmillLabs
Keystone 6 is now in General Availability!
Today’s Keystone is faster and more flexible than it’s ever been, and is ready for you to build amazing things with.
Oct 22nd, 2021 · Find out more about ThinkmillLabs
Jordan Geizer has released an Automatic Style Guide plugin for Figma that generates (and keeps up to date) formal style guide documentation based on your local Figma styles. Now you can prepare a clean and functional style guide for clients & developers with a click of a button.
Oct 9th, 2021 · Find out more about ThinkmillLabs
Keystone, GraphQL & Prisma
Jed discusses the new Keystone 6 at Prisma’s Korea MeetupPrisma Korea Meetup(opens in new window)
We’ve joined the Tech Council of Australia
We’ve joined the Tech Council of Australia to help reach 1m tech jobs by 2025
Sep 20th, 2021 · Case studies
We helped Breville build their first mobile app for next-gen sous vide commercial cooking appliancesRead more about this entry
Aug 20th, 2021 · Case studies
We helped Enlitic pioneer medical AI for diagnostics and pathology detectionRead more about this entry
Jul 29th, 2021 · Find out more about ThinkmillLabs
Customisable Admin UIKeystoneJS.com(opens in new window)
Custom navigation components & custom routes have landed in Keystone
Next-gen CMS & GraphQL API with Keystone & Prisma
Jed shared our freshly minted Keystone 6 with the world at Prisma Day conference in July 2021. His talk is a great way learn how Keystones combination of features and flexibility set it apart from other backend frameworks and Content Management SystemsPrisma Days 2021(opens in new window)
May 20th, 2021 · Case studies
We helped Atlassian adopt React and build the front-end platform that unifies its productsRead more about this entry
Feb 26th, 2021 · Writing
ReactConf AU, one year later
We put on Australia’s first ever React Conf in February 2020. You won’t believe what happened next!Read more about this entry
GraphQL for designers
Why do developers love GraphQL and how can designers best work with them?Design Systems Meetup(opens in new window)
Lifting your Design Systems by focusing on a11y
Examples of awesome a11y things inside design systems.Design Systems Meetup(opens in new window)
All the ReactConf AU talks
All the recordings from ReactConf AU are available on YouTube. Here’s the full playlist:
The "state" of UI
This will come as a surprise to many of you, but user interfaces on the web, have different types of state. It might be that "State", much like "Design Systems", is a word that has lost all meaning for you, but regardless, I think you will agree the UI state designers talk about is different from the application state developers refer to. Let’s figure out how to have a discussion about these similar sounding but very different concepts for the sake of our sanity and better design system components.Design Systems Meetup(opens in new window)
Mar 17th, 2020 · Writing
Illustrations for ReactConf AU 2020
A unique illustration for each presentationRead more about this entry
Targeted extensibility: Lessons learned from building Atlaskit
Often when building a design system we face tension between consistent and resilient API’s that encapsulate valuable and reusable logic, and sufficient flexibility to ensure that our components can be customised to fit bespoke product use cases. Towing this line is difficult, and becomes more difficult as a design system scales. Charles uncovers some of the hard-learned lessons towing this line in React-Select, and Atlaskit – Atlassian’s Design System.ReactConf AU(opens in new window)
The Value of Open Source
Jed wraps up ReactConf AU by discussing the sustainability of open source, the value OSS creates for us all individually and as a collective, and then proposes some small steps we can all take to ensure the future of our vibrant community.ReactConf AU(opens in new window)
Lauren describes the Engineering-led Design mindset, and the 5 behaviours that a cross-disciplinary team can adopt to make work life (and the software we make) better.ReactConf AU(opens in new window)
Mar 4th, 2020 · Find out more about ThinkmillLabs
Building with Monorepos
Monorepos are everywhere in the React community from design systems and apps to open source libraries. Being able to work on multiple packages together is powerful, but it’s not without its problems. Emma shows you how to solve these problems by exploring the evolution of Emotion’s monorepo.ReactConf AU(opens in new window)
Dec 30th, 2019 · Find out more about ThinkmillLabs
Keystone featured on the SyntaxFM podcast
Wes Bos talks about Keystone. Best practices, things to avoid, and why you should check it out.
Dec 13th, 2019 · Writing
How to safely inject HTML in React using an iframe
If you need to inject HTML into your React app and you don’t want to use `dangerouslySetInnerHTML`, this article is for you.Read more about this entry
Nov 21st, 2019 · Writing
Thinkmill in Space
The year is 2225. Thinkmill has taken to space. Currently orbiting the moon, sending explorers to discover the universe.Read more about this entry
Nov 21st, 2019 · Writing
Progressive Rendering — The Key to Faster Web
Progressive Rendering is the technique of sequentially rendering portions of a webpage in the server and streaming it to the client in parts without waiting for the whole page to rendered.Read more about this entry
Nov 6th, 2019 · Writing
Oct 31st, 2019 · Find out more about ThinkmillLabs
Building React Select
Jed talks about how he accidentally built the most popular React component, experienced death by a hundred props, got buried under hundreds of PRs, invented a component extension API, learned that styles are also a function of state, influenced some major design systems and finally got some sleep.ReactConf(opens in new window)
Sep 14th, 2019 · Writing
React Dev Tools - Debug like a ninja
Hands down console.log() was, is and will always be the greatest debugging tool of all time.Read more about this entry
Aug 15th, 2019 · Writing
Introducing Keystone 5
Keystone 5 is a scalable platform that allows you to create a highly customised CMS and API in minutes.Read more about this entry
On design systems legibility
A design system that nobody can understand is a design system nobody can use. This is why good documentation is so key to having a well-used and well-loved design system. I will walk you through two of Atlassian’s documentation sites for the company-wide design system & component library Atlaskit, showing how the content is built and written, and the practical steps you can take immediately to tackle the hard problems around large documentation projects.Design Systems Meetup(opens in new window)
Nov 10th, 2018 · Case studies
We helped Reckon implement a unified front-end platform and design systemRead more about this entry
Jed discusses the upcoming React Select 2 and his experiences working in open source.React NYC(opens in new window)
Tom and Boris discuss and demonstrate how (and why) to prototype UI animations and interactions before development, and how to build a native-quality app for SydJS using web technologies.SydJS(opens in new window)
Content Management & Node.jsSydJS(opens in new window)
Oct 22nd, 2015 · Writing
Prototyping: Solutions vs. Interactions
Designing and prototyping the solution is different to prototyping interactions. Appreciating the distinction will help you pick your tools and be more effective at both.Read more about this entry
Going Mobile with React
Jed shares what we’ve learned approaching the unique challenges of mobile web apps.ReactConf EU(opens in new window)
Feb 17th, 2015 · Writing
Sep 1st, 2014 · Writing
My first year of Open Source Commitment and KeystoneJS
If you want to do something, do it every day. This is the story of my first year writing open-source software.Read more about this entry
Aug 3rd, 2014 · Writing
Prototyping UI Animation
Interaction design with Edge AnimateRead more about this entry