Jeremy Keith's Blog, page 7
December 4, 2024
Cocolingo
This year I decided I wanted to get better at speaking Irish.
Like everyone brought up in Ireland, I sort of learned the Irish language in school. It was a compulsory subject, along with English and maths.
But Irish wasn���t really taught like a living conversational language. It was all about learning enough to pass the test. Besides, if there���s one thing that���s guaranteed to put me off something, it���s making it compulsory.
So for the first couple of decades of my life, I had no real interest in the Irish language, just as I had no real interest in traditional Irish music. They were both tainted by some dodgy political associations. They were both distinctly uncool.
But now? Well, Irish traditional music rules my life. And I���ve come to appreciate the Irish language as a beautiful expressive thing.
I joined a WhatsApp group for Irish language learners here in Brighton. The idea is that we���d get together to attempt some converstation as Gaeilge but we���re pretty lax about actually doing that.
Then there���s Duolingo. I started ���playing? doing? Not sure what the verb is.
Duolingo is a bit of a mixed bag. I think it works pretty well for vocabulary acquisition. But it���s less useful for grammar. I was glad that I had some rudiments of Irish from school or I would���ve been completely lost.
Duolingo will tell you what the words are, but it never tells you why. For that I���m going to have to knuckle down with some Irish grammar books, videos, or tutors.
Duolingo is famous for its gamification. It mostly worked on me. I had to consciously remind myself sometimes that the purpose was to get better at Irish, not to score more points and ascend a league table.
Oh, did I ascend that league table!
But I can���t take all the credit. That must go to Coco, the cat.
It���s not that Coco is particularly linguistically gifted. Quite the opposite. She never says a word. But she did introduce a routine that lent itself to doing Duolingo every day.
Coco is not our cat. But she makes herself at home here, for which we feel inordinately honoured.
Coco uses our cat flap to come into the house pretty much every morning. Then she patiently waits for one of us to get up. I���m usually up first, so I���m the one who gives Coco what she wants. I go into the living room and sit on the sofa. Coco then climbs on my lap.
It���s a lovely way to start the day.
But of course I can���t just sit there alone with my own thoughts and a cat. I���ve got to do something. So rather than starting the day with some doomscrolling, I start with some Irish on Duolingo.
After an eleven-month streak, something interesting happened; I finished.
I���m not used to things on the internet having an end. Had I been learning a more popular language I���m sure there would���ve been many more lessons. But Irish has a limited lesson plan.
Of course the Duolingo app doesn���t say ���You did it! You can delete the app now!��� It tries to get me to do refresher exercises, but we both know that there are diminishing returns and we���d just be going through the motions. It���s time for us to part ways.
I���ve started seeing other apps. Mango is really good so far. It helps that they���ve made some minority languages available for free, Irish included.
I���m also watching programmes on TG4, the Irish language television station that has just about everything in its schedule available online for free anywhere in the world. I can���t bring myself to get stuck into Ros na R��n, the trashy Irish language soap opera, but I have no problem binging on CR��, the gritty Donegal crime drama.
There are English subtitles available for just about everything on TG4. I wish that Irish subtitles were also available���it���s really handy to hear and read Irish at the same time���but only a few shows offer that, like the kid���s cartoon L�� Ban.
Oh, and I���ve currently got a book on Irish grammar checked out of the local library. So now when Coco comes to visit in the morning, she can keep me company while I try to learn from that.
November 28, 2024
Going Offline is online ���for free
I wrote a book about service workers. It���s called Going Offline. It was first published by A Book Apart in 2018. Now it���s available to read for free online.
If you want you can read the book as a PDF, an ePub, or .mobi, but I recommend reading it in your browser.
Needless to say the web book works offline. Once you go to goingoffline.adactio.com you can add it to the homescreen of your mobile device or add it to the dock on your Mac. After that, you won���t need a network connection.
The book is free to read. Properly free. Not the kind of ���free��� where you have to supply an email address first. Why would I make you go to the trouble of generating a burner email account?
The site has no analytics. No tracking. No third-party scripts of any kind whatsover. By complete coincidence, the site is fast. Funny that.
For the styling of this web book, I tweaked the stylesheet I used for HTML5 For Web Designers. I updated it a little bit to use logical properties, some fluid typography and view transitions.
In the process of converting the book to HTML, I got reaquainted with what I had written almost seven years ago. It was kind of fun to approach it afresh. I think it stands up pretty darn well.
Ethan wrote about his feelings when he put two of his books online, illustrated by that amazing photo that always gives me the feels:
I���ll miss those days, but I���m just glad these books are still here. They���re just different than they used to be. I suppose I am too.
Anyway, if you���re interested in making your website work offline, have a read of Going Offline. Enjoy!
November 24, 2024
Syndicating to Bluesky
Last year I described how I syndicate my posts to different social networks.
Back then my approach to syndicating to Bluesky was to piggy-back off my micro.blog account (which is really just the RSS feed of my notes):
Micro.blog can also cross-post to other services. One of those services is Bluesky. I gave permission to micro.blog to syndicate to Bluesky so now my notes show up there too.
It worked well enough, but it wasn���t real-time and I didn���t have much control over the formatting. As Bluesky is having quite a moment right now, I decided to upgrade my syndication strategy and use the Bluesky API.
Here���s how it works���
First you need to generate an app password. You���ll need this so that you can generate a token. You need the token so you can generate ���just kidding; the chain of generated gobbledegook stops there.
Here���s the PHP I���m using to generate a token. You���ll need your Bluesky handle and the app password you generated.
Now that I���ve got a token, I can send a post. Here���s the PHP I���m using.
There���s something extra code in there to spot URLs and turn them into links. Bluesky has a very weird way of doing this.
It didn���t take too long to get posting working. After some more tinkering I got images working too. Now I can post straight from my website to my Bluesky profile. The Bluesky API returns an ID for the post that I���ve created there so I can link to it from the canonical post here on my website.
I���ve updated my posting interface to add a toggle for Bluesky right alongside the toggle for Mastodon. There used to be a toggle for Twitter. That���s long gone.
Now when I post a note to my website, I can choose if I want to send a copy to Mastodon or Bluesky or both.
One day Bluesky will go away. It won���t matter much to me. My website will still be here.
November 12, 2024
The meaning of ���AI���
There are different kinds of buzzwords.
Some buzzwords are useful. They take a concept that would otherwise require a sentence of explanation and package it up into a single word or phrase. Back in the day, ���ajax��� was a pretty good buzzword.
Some buzzwords are worse than useless. This is when a word or phrase lacks definition. You could say this buzzword in a meeting with five people, and they���d all understand five different meanings. Back in the day, ���web 2.0��� was a classic example of a bad buzzword���for some people it meant a business model; for others it meant rounded corners and gradients.
The worst kind of buzzwords are the ones that actively set out to obfuscate any actual meaning. ���The cloud��� is a classic example. It sounds cooler than saying ���a server in Virginia���, but it also sounds like the exact opposite of what it actually is. Great for marketing. Terrible for understanding.
���AI��� is definitely not a good buzzword. But I can���t quite decide if it���s merely a bad buzzword like ���web 2.0��� or a truly terrible buzzword like ���the cloud���.
The biggest problem with the phrase ���AI��� is that there���s a name collision.
For years, the term ���AI��� has been used in science-fiction. HAL 9000. Skynet. Examples of artificial general intelligence.
Now the term ���AI��� is also used to describe large language models. But there is no connection between this use of the term ���AI��� and the science fictional usage.
This leads to the ludicrous situation of otherwise-rational people wanted to discuss the dangers of ���AI���, but instead of talking about the rampant exploitation and energy usage endemic to current large language models, they want to spend the time talking about the sci-fi scenarios of runaway ���AI���.
To understand how ridiculous this is, I���d like you to imagine if we had started using a different buzzword in another setting���
Suppose that when ride-sharing companies like Uber and Lyft were starting out, they had decided to label their services as Time Travel. From a marketing point of view, it even makes sense���they get you from point A to point B lickety-split.
Now imagine if otherwise-sensible people began to sound the alarm about the potential harms of Time Travel. Given the explosive growth we���ve seen in this sector, sooner or later they���ll be able to get you to point B before you���ve even left point A. There could be terrible consequences from that���we���ve all seen the sci-fi scenarios where this happens.
Meanwhile the actual present-day harms of ride-sharing services around worker exploitation would be relegated to the sidelines. Clearly that isn���t as important as the existential threat posed by Time Travel.
It sounds ludicrous, right? It defies common sense. Just because a vehicle can get you somewhere fast today doesn���t mean it���s inevitably going to be able to break the laws of physics any day now, simply because it���s called Time Travel.
And yet that is exactly the nonsense we���re being fed about large language models. We call them ���AI���, we look at how much they can do today, and we draw a straight line to what we know of ���AI��� in our science fiction.
This ridiculous situation could���ve been avoided if we had settled on a more accurate buzzword like ���applied statistics��� instead of ���AI���.
It���s almost as if the labelling of the current technologies was more about marketing than accuracy.
November 10, 2024
FFConf 2024
I went to FFConf on Friday. It did me the world of good.
To be honest, I haven���t much felt like venturing out over the past few days since my optimism took a big hit. But then when I do go and interact with people, I���m grateful for it.
Like, when I went out to my usual Wednesday evening traditional Irish music session I was prepared the inevitable discussion of Trump���s election. I was ready to quite clearly let people know that I didn���t want to talk about it. But I didn���t have to. Maybe because everyone else was feeling much the same, we just played and played. It was good.
The session on Thursday was good too. When we chatted, it was about music.
Still, I was ready for the weekend and I wasn���t really feeling psyched up for FFConf on Friday. But once I got there, I was immediately uplifted.
It was so nice to see so many people I hadn���t seen in quite a while. I had the chance to reconnect with people that I had only been hearing from through my RSS reader:
���Terence, I���m really enjoying your sci-fi short stories!���
���Kirsty, I was on tenterhooks when you were getting Mabel!���
(Mabel is an adorable kitty-cat. In hindsight I probably should���ve also congratulated her on getting married. To a human.)
The talks were really good this year. They covered a wide variety of topics.
There was only one talk about ���AI��� (unlike most conferences these days, where it dominates the agenda). L��onie gave a superb run-down of the different kinds of machine learning and how they can help or hinder accessibility.
Crucially, L��onie began her talk by directly referencing the exploitation and energy consumption inherent in today���s large language models. It took all of two minutes, but it was two minutes more than the whole day of talks at UX Brighton. Thank you, L��onie!
Some of the other talks covered big topics. Life. Death. Meaning. Purpose.
I enjoyed them all, though I often find something missing from discussions about meaning and purpose. Just about everyone agrees that having a life enfused with purpose is what provides meaning. So there���s an understandable quest to seek out what it is that gives you purpose.
But we���re also constantly reminded that every life has intrinsic meaning. ���You are enough���, not ���you are enough, as long as there���s some purpose to your life.���
I found myself thinking about Winne Lim���s great post on leading a purposeless life. I think about it a lot. It gives me comfort. Instead of assuming that your purpose is out there somewhere and you���ve got to find it, you can entertain the possibility that your life might not have a purpose ���and that���s okay.
I know this all sounds like very heavy stuff, but it felt good to be in a room full of good people grappling with these kind of topics. I needed it.
Dare I say it, perhaps my optimism is returning.
November 9, 2024
Optimism
I think of myself of as an optimist. It makes me insufferable sometimes.
When someone is having a moan about something in the news and they say something like ���people are terrible���, I can���t resist weighing in with a ���well, actually������ Then I���ll start channeling Rutger Bregman, Rebecca Solnit, and Hans Rosling, pointing to all the evidence that people are, by and large, decent. I should really just read the room and shut up.
I opened my talk Of Time And The Web with a whole spiel about how we seem to be hard-wired to pay more attention to bad news than good (perhaps for valid evolutionary reasons).
I like to think that my optimism is rational, backed up by data. But if I���m going to be rational, then I also can���t become too attached to any particualar position (like, say, optimism). I should be willing to change my mind when I���m confronted with new evidence.
A truckload of new evidence got dumped on my psyche this week. The United States of America elected Donald Trump as president. Again.
Even here I found a small glimmer of a bright side: at least the result was clear cut. I was dreading weeks or even months of drawn-out ballot counting, lawsuits and uncertainty. At least the band-aid was decisively ripped away.
Back in 2016, I could tell myself all sorts of reasons why this might have happened. Why people might have been na��ve or misled into voting a dangerous idiot into power. But the na��vet�� was all mine. The majority of America really is that sexist.
This feels very different to 2016. And hey, remember when we woke up to that election result and one of the first things we did was take out subscriptions to the New York Times and the Washington Post to ���support real journalism���? Yeah, that worked out just great, didn���t it?
My faith in human nature is taking quite a hit. An electoral experiment has been run three times now���having this mysogistic racist narcissistic idiot run for the highest office in the land���and the same result came up twice.
I na��vely thought that the more people saw of his true nature, the less chance he would have. When he kept going off-script at his rallies, spouting the vilest of threats, I thought there was an upside. At least now people would see for themselves what he���s really like.
But in the end it didn���t matter one whit. Like I said in a different context:
To use an outdated movie reference, imagine a raving Charlton Heston shouting that ���Soylent Green is people!���, only to be met with indifference. ���Everyone knows Soylent Green is people. So what?���
I never liked talking about ���faith��� in human nature. To me, it wasn���t faith. It was just a rational assessment. Now I���m not so sure. Maybe I need some faith after all.
I wonder if my optimism will return. It probably will (see? I���m such an optimist). But if it does, perhaps it will have to be an optimism that exists despite the data, not because of it.
November 4, 2024
Myth and magic
I read Madeline Miller���s Circe last year. I loved it. It was my favourite fiction book I read that year.
Reading Circe kicked off a bit of a reading spree for me. I sought out other retellings of Greek myths. There���s no shortage of good books out there from Pat Barker, Natalie Haynes, Jennifer Saint, Claire Heywood, Claire North, and more.
The obvious difference between these retellings and the older accounts by Homer, Ovid and the lads is to re-centre the women in these stories. There���s a rich seam of narratives to be mined between the lines of the Greek myths.
But what���s fascinating to me is to see how these modern interpretations differ from one another. Sometimes I���ll finish one book, then pick up another that tells the same story from a very different angle.
The biggest difference I���ve noticed is the presence or absence of supernatural intervention. Some of these writers tell their stories with gods and goddesses front and centre. Others tell the very same stories as realistic accounts without any magic.
Take Perseus. Please.
The excellent Stone Blind by Natalie Haynes tells the story of Medusa. There���s magic a-plenty. In fact, Perseus himself is little more than a clueless bumbler who wouldn���t last a minute without divine interventation.
The Shadow Of Perseus by Claire Heywood also tells Medusa���s story. But this time there���s no magic whatsoever. The narrative is driven not by gods and goddesses, but by the force of toxic masculinity.
Pat Barker tells the story of the Trojan war in her Women Of Troy series. She keeps it grounded and gritty. When Natalie Haynes tells the same story in A Thousand Ships, the people in it are little more than playthings of the gods.
Then there are the books with just a light touch of the supernatural. While Madeline Miller���s Circe was necessarily imbued with magic, her first novel The Song Of Achilles keeps it mostly under wraps. The supernatural is there, but it doesn���t propel the narrative.
Claire North has a trilogy of books called the Songs of Penelope, retelling the Odyssey from Penelope���s perspective (like Margaret Atwood did in The Penelopiad). On the face of it, these seem to fall on the supernatural side; each book is narrated by a different deity. But the gods are strangely powerless. Everyone believes in them, but they themselves behave in a non-interventionist way. As though they didn���t exist at all.
It makes me wonder what it would be like to have other shared myths retold with or without magic.
How would the Marvel universe look if it were grounded in reality? Can you retell Harry Potter as the goings-on at a cult school for the delusional? What would Star Wars be like without the Force? (although I guess Andor already answers that one)
Anyway, if you���re interested in reading some modern takes on Greek myths, here���s a list of books for you:
Madeline MillerThe Song Of AchillesCirceNatalie HaynesA Thousand ShipsStone BlindPat BarkerThe Silence Of The GirlsThe Women Of TroyThe Voyage HomeClaire NorthIthicaHouse Of OdysseusThe Last Song Of PenelopeJennifer SaintAriadneElektraAtalantaClaire HeywoodThe Shadow Of PerseusDaughters Of SpartaCostanza CasatiClytemnestraMargaret AtwoodThe PenelopiadNovember 2, 2024
Unsaid
I went to the UX Brighton conference yesterday.
The quality of the presentations was really good this year, probably the best yet. Usually there are one or two stand-out speakers (like Tom Kerwin last year), but this year, the standard felt very high to me.
But���
The theme of the conference was UX and ���AI���, and I���ve never been more disappointed by what wasn���t said at a conference.
Not a single speaker addressed where the training data for current large language models comes from (it comes from scraping other people���s copyrighted creative works).
Not a single speaker addressed the energy requirements for current large language models (the requirements are absolutely mahoosive���not just for the training, but for each and every query).
My charitable reading of the situation yesterday was that every speaker assumed that someone else would cover those issues.
The less charitable reading is that this was a deliberate decision.
Whenever the issue of ethics came up, it was only ever in relation to how we might use these tools: considering user needs, being transparent, all that good stuff. But never once did the question arise of whether it���s ethical to even use these tools.
In fact, the message was often the opposite: words like ���responsibility��� and ���duty��� came up, but only in the admonition that UX designers have a responsibility and duty to use these tools! And if that carrot didn���t work, there���s always the stick of scaring you into using these tools for fear of being left behind and having a machine replace you.
I was left feeling somewhat depressed about the deliberately narrow focus. Maggie���s talk was the only one that dealt with any externalities, looking at how the firehose of slop is blasting away at society. But again, the focus was only ever on how these tools are used or abused; nobody addressed the possibility of deliberately choosing not to use them.
If audience members weren���t yet using generative tools in their daily work, the assumption was that they were lagging behind and it was only a matter of time before they���d get on board the hype train. There was no room for the idea that someone might examine the roots of these tools and make a conscious choice not to fund their development.
There���s a quote by Finnish architect Eliel Saarinen that UX designers like repeating:
Always design a thing by considering it in its next larger context. A chair in a room, a room in a house, a house in an environment, an environment in a city��plan.
But none of the speakers at UX Brighton chose to examine the larger context of the tools they were encouraging us to use.
One speaker told us ���Be curious!���, but clearly that curiosity should not extend to the foundations of the tools themselves. Ignore what���s behind the curtain. Instead look at all the cool stuff we can do now. Don���t worry about the fact that everything you do with these tools is built on a bedrock of exploitation and environmental harm. We should instead blithely build a new generation of user interfaces on the burial ground of human culture.
Whenever I get into a discussion about these issues, it always seems to come back ���round to whether these tools are actually any good or not. People point to the genuinely useful tasks they can accomplish. But that���s not my issue. There are absolutely smart and efficient ways to use large language models���in some situations, it���s like suddenly having a superpower. But as Molly White puts it:
The benefits, though extant, seem to pale in comparison to the costs.
There are no ethical uses of current large language models.
And if you believe that the ethical issues will somehow be ironed out in future iterations, then that���s all the more reason to stop using the current crop of exploitative large language models.
Anyway, like I said, all the talks at UX Brighton were very good. But I just wish just one of them had addressed the underlying questions that any good UX designer should ask: ���Where did this data come from? What are the second-order effects of deploying this technology?���
Having a talk on those topics would���ve been nice, but I would���ve settled for having five minutes of one talk, or even one minute. But there was nothing.
There���s one possible explanation for this glaring absence that���s quite depressing to consider. It may be that these topics weren���t covered because there���s an assumption that everybody already knows about them, and frankly, doesn���t care.
To use an outdated movie reference, imagine a raving Charlton Heston shouting that ���Soylent Green is people!���, only to be met with indifference. ���Everyone knows Soylent Green is people. So what?���
October 24, 2024
Making the website for Research By The Sea
UX London isn���t the only event from Clearleft coming your way in 2025. There���s a brand new spin-off event dedicated to user research happening in February. It���s called Research By The Sea.
I���m not curating this one, though I will be hosting it. The curation is being carried out most excellently by Benjamin, who has written more about how he���s doing it:
We���ve invited some of the best thinkers and doers from from in the research space to explore how researchers might respond to today���s most gnarly and pressing problems. They���ll challenge current perspectives, tools, practices and thinking styles, and provide practical steps for getting started today to shape a better tomorrow.
If that sounds like your cup of tea, you should put February 27th 2025 in your calendar and grab yourself a ticket.
Although I���m not involved in curating the line-up for the event, I offered Benjamin my swor��� my web dev skillz. I made the website for Research By The Sea and I really enjoyed doing it!
These one-day events are a great chance to have a bit of fun with the website. I wrote about how enjoyable it was making the website for this year���s Patterns Day:
I felt like I was truly designing in the browser. Adjusting spacing, playing around with layout, and all that squishy stuff. Some of the best results came from happy accidents���the way that certain elements behaved at certain screen sizes would lead me into little experiments that yielded interesting results.
I took the same approach with Research By The Sea. I had a design language to work with, based on UX London, but with more of a playful, brighter feel. The idea was that the website (and the event) should feel connected to UX London, while also being its own thing.
I kept the typography of the UX London site more or less intact. The page structure is also very similar. That was my foundation. From there I was free to explore some other directions.
I took the opportunity to explore some new features of CSS. But before I talk about the newer stuff, I want to mention the bits of CSS that I don���t consider new. These are the things that are just the way things are done ���round here.
Custom properties. They���ve been around for years now, and they���re such a life-saver, especially on a project like this where I���m messing around with type, colour, and spacing. Even on a small site like this, it���s still worth having a section at the start where you define your custom properties.
Logical properties. Again, they���ve been around for years. At this point I���ve trained my brain to use them by default. Now when I see a left, right, width or height in a style sheet, it looks like a bug to me.
Fluid type. It���s kind of a natural extension of responsive design to me. If a website���s typography doesn���t adjust to my viewport, it feels slightly broken. On this project I used Utopia because I wanted different type scales as the viewport increased. On other projects I���ve just used on clamp declaration on the body element, which can also get the job done.
Okay, so those are the things that feel standard to me. So what could I play around with that was new?
View transitions. So easy! Just point to an element on two different pages and say ���Hey, do a magic move!��� You can see this in action with the logo as you move from the homepage to, say, the venue page. I���ve also added view transitions to the speaker headshots on the homepage so that when you click through to their full page, you get a nice swoosh.
Unless, like me, you���re using Firefox. In that case, you won���t see any view transitions. That���s okay. They are very much an enhancement. Speaking of which���
Scroll-driven animations. You���ll only get these in Chromium browsers right now, but again, they���re an enhancement. I���ve got multiple background images���a bunch of cute SVG shapes. I���m using scroll-driven animations to change the background positions and sizes as you scroll. It���s a bit silly, but hopefully kind of cute.
You might be wondering how I calculated the movements of each background image. Good question. I basically just messed around with the values. I had fun! But imagine what an actually-skilled interaction designer could do.
That brings up an interesting observation about both view transitions and scroll-driven animations: Figma will not help you here. You need to be in a web browser with dev tools popped open. You���ve got to roll up your sleeves get your hands into the machine. I know that sounds intimidating, but it���s also surprisingly enjoyable and empowering.
Oh, and I made sure to wrap both the view transitions and the scroll-driven animations in a prefers-reduced-motion: no-preference @media query.
I���m pleased with how the website turned out. It feels fun. More importantly, it feels fast. There is zero JavaScript. That���s the main reason why it���s very, very performant (and accessible).
Smooth transitions across pages; smooth animations as you scroll: it���s great what you can do with just HTML and CSS.
October 22, 2024
Announcing UX London 2025
Is it too early to start planning for 2025 already? Perhaps. But you might want to add some dates to your calender:
June 10th, 11th, and 12th, 2025.
That���s when UX London will return!
It���ll be be back in CodeNode. That���s the venue we tried for the first time this year and it worked out really well.
You can look forward to three days of UX talks and workshops:
Tuesday, June 10th is Discovery Day���user research, content strategy, and planning.Wednesday, June 11th is Design Day���interaction design, accessibility, and interface design.Thursday, June 12th is Delivery Day���iteration, design ops, and cross-team collaboration.I realise that the alliteration of discovery, design, and delivery is a little forced but you get the idea. The flow of the event will follow the process of a typical design project.
The best way to experience UX London is to come for all three days, but each day also works as a standalone event.
I���m now starting the process of curating the line-up for each day: a mix of inspiring talks and hands-on workshops. If you trust me, you can get your ticket already at the super early-bird price.
If you reckon you���d be a good addition to the line-up, here���s a form you can fill out.
Now, I���ll be up-front here: if you���re a typical white dude like me, you���re not going to be top of the pile. My priority for UX London is creating a diverse line-up of speakers.
So if you���re not a typical white dude like me and you���ve ever thought about giving a conference talk, fill out that form!
If you don���t fancy speaking, but you want to see your company represented at UX London, check out our sponsorship options.
If you don���t want to speak and you don���t want to sponsor, but you want to be at the best design conference of 2025, get your ticket now.
Jeremy Keith's Blog
- Jeremy Keith's profile
- 55 followers
