seanwilson

Joined 12 years ago

Karma
8,492
Submissions
3,411
Member since
Dec 29
Projects:

https://www.checkbot.io/ - Chrome extension that crawls your website checking it follows SEO/speed/security best practices

https://www.inclusivecolors.com/ - Create Tailwind-style color palettes that are WCAG accessible by design

https://seanwilson.itch.io/wordoid - A fast-paced word spelling web game!

---

Homepage: https://www.seanw.org

Bluesky: https://bsky.app/profile/seanw.org

LinkedIn: https://www.linkedin.com/in/seanw-org/

Twitter: https://twitter.com/seanw_org

Email: [email protected]

SEEKING CONTRACT WORK | UX/UI & web design

Portfolio: https://www.seanw.org/

Location: Edinburgh, UK and remote (I’m used to time zone differences)

---

I help startups with the UX/UI and web design of their products. This includes websites, landing pages, screenshots and copywriting, and I can assist with frontend development where needed. My background as a startup founder and full stack developer helps me create practical design solutions that balance usability, aesthetics, development effort and performance. I work to fixed price quotes when projects are self-contained.

---

The best live example of my work is Checkbot (https://www.checkbot.io/), a browser extension that tests websites for SEO, speed and performance problems. The entire project is my own work including coding the extension itself, UX/UI design, website design (the homepage is optimised to load in 0.7 seconds, 0.3MB data transferred), website copy, and website articles on web best practices.

[ Rated 4.9/5, 50K+ active users, 100s of paying subscribers ]

---

I have 10+ years of experience, including a PhD in software verification and 5+ years working for myself helping over 20 companies including Just Eat, Triumph Motorcycles and Fogbender (YC W22). See my website for testimonials, portfolio and more:

https://www.seanw.org

Skills: Figma, Sketch, TypeScript, JavaScript, Vue, Hugo, Jekyll, WordPress, HTML/CSS, Bootstrap, Tailwind, OCaml, Java, Python, C, analytics, website SEO and speed optimisation.

Note: For larger projects, I usually have my partner assist alongside me in the background to speed things up and I’m working towards starting a design studio with her in the future.

---

Email [email protected] with a short description of 1) your project 2) how you think I can help 3) the business outcome you’re looking for and 4) any deadlines. I can get back to you within one working day to arrange a call to discuss a quote and how we can work together.

View on Hacker News

Recent submissions

Comment · 11 days ago
I'm still waiting for decent tooltips that are browser native. You can sort of minimally do them with the `title` attribute but they take ages to appear, can't contain HTML or styling (like bold text or images), and you can't choose their position. To do them properly with accessibility in mind (keyboard/mouse/touch support, screen reader support, keyboard focus, it's hard!), you need way too much markup with tricky custom JavaScript, and they're difficult to get right like making sure they don't render partially off-screen.

The new CSS anchor positioning and popover attribute help but something simple and built-in that doesn't require lots of wiring would be great. It's puzzling why we don't have this basic UI feature yet?

Comment · 16 days ago
https://en.wikipedia.org/wiki/Omission_bias probably? "Omission bias is the moral judgement in which people prefer omission (inaction) over commission (action), and tend to believe harm as a result of commission more negatively than harm as a result of omission."
Comment · 20 days ago
Isn't a big issue with Adobe that competitor apps don't stand a chance because they won't have the file saved/load support for current and past file formats that designers are forced to rely on?

Designers can't risk even pixel sized issues with the specifics of the above for daily project work, so it forces them to use Photoshop or InDesign with expensive cloud subscription plans to work with other designers and prevents them from using unsupported platforms like Linux. This kind of vendor lock-in has held back competition and created resentment for a long time.

The example of the sluggish brush rendering, or missing filters isn't going to be hard to fix even without AI, but network effects and 100% file support is what has made it almost impossible to compete with Adobe despite many honest attempts to make better apps.

Comment · 20 days ago
> The current generation of math AI is not a "good citizen" in that it doesn't try to make the most elegant additions to the shared framework, but will often just rebuild everything from scratch til get to some endpoint.

> Sure, we learned if the statement is true or false; but the proof can't be merged into the pure math codebase unless it's completely rebuilt. This is thankless work that humans are unlikely to want to do, and so the "solution" instead risks leaving a desolate patch of land, where existing efforts in extending the codebase lost their motivation.

Are the AI proofs really that hard to refactor? Wouldn't the AI prover get stuck by straying too far from the safety of existing frameworks and not breaking the larger goal into smaller subgoals?

Why is coming up with a better proof (e.g. shorter, more intuitive, more general, connected to existing frameworks) thankless work? How much of this is a problem because of current incentives?

Comment · 20 days ago
https://squoosh.app/editor is a great app to compare how well an image compresses with newer formats like AVIF and WebP, compared to JPG/PNG.

It feels more practical now to have a fast loading page with large images now without too much effort. It was far too much of a burden before to have to provide fallbacks to older formats, on top of different images for different screen sizes/densities.

Comment · 20 days ago
Comment · 1 month ago
Location: Edinburgh, UK

Remote: Yes (I’m used to time zone differences and async work)

Willing to relocate: No

Technologies: Figma, Sketch, TypeScript, JavaScript, Vue, Hugo, Jekyll, WordPress, Django, HTML/CSS, Bootstrap, Tailwind, OCaml, Java, Python, C, analytics, WCAG accessibility, website SEO/speed optimisation.

Résumé/CV: See https://seanw.org/ for portfolio, and https://checkbot.io/ and https://inclusivecolors.com/ for live example projects

Email: [email protected]

---

SEEKING FREELANCE WORK | UX/UI & web design

I help startups with the UX/UI and web design of their products. This includes web apps, websites, landing pages, copywriting, and I can assist with frontend development where needed. My background of launching my own products and being a full stack developer helps me create practical designs that balance usability, aesthetics, development effort, and performance. I work to fixed price quotes for self-contained projects.

---

The best live example of my work is Checkbot (https://checkbot.io/), a browser extension that tests websites for SEO/speed/security problems. The entire project is my own work including coding the extension itself, UX/UI design, website design (the homepage is optimised to load in 0.7 seconds, 0.3MB data transferred), marketing, website copy, and website articles on web best practices.

[ Rated 4.9/5, 80K+ active users, 100s of paying subscribers ]

---

I have 10+ years of experience, including a PhD in software verification and 5+ years working for myself helping over 25 companies including Just Eat, Triumph Motorcycles and Fogbender (YC W22). See my website for testimonials, portfolio and more: https://seanw.org

Comment · 1 month ago
Location: Edinburgh, UK

Remote: Yes (I’m used to time zone differences and async work)

Willing to relocate: No

Technologies: Figma, Sketch, TypeScript, JavaScript, Vue, Hugo, Jekyll, WordPress, Django, HTML/CSS, Bootstrap, Tailwind, OCaml, Java, Python, C, analytics, WCAG accessibility, website SEO/speed optimisation.

Résumé/CV: See https://seanw.org/ for portfolio, and https://checkbot.io/ and https://inclusivecolors.com/ for live example projects

Email: [email protected]

---

SEEKING FREELANCE WORK | UX/UI & web design

I help startups with the UX/UI and web design of their products. This includes web apps, websites, landing pages, copywriting, and I can assist with frontend development where needed. My background of launching my own products and being a full stack developer helps me create practical designs that balance usability, aesthetics, development effort, and performance. I work to fixed price quotes for self-contained projects.

---

The best live example of my work is Checkbot (https://checkbot.io/), a browser extension that tests websites for SEO/speed/security problems. The entire project is my own work including coding the extension itself, UX/UI design, website design (the homepage is optimised to load in 0.7 seconds, 0.3MB data transferred), marketing, website copy, and website articles on web best practices.

[ Rated 4.9/5, 80K+ active users, 100s of paying subscribers ]

---

I have 10+ years of experience, including a PhD in software verification and 5+ years working for myself helping over 25 companies including Just Eat, Triumph Motorcycles and Fogbender (YC W22). See my website for testimonials, portfolio and more: https://seanw.org

Comment · 2 months ago
What's the problem of only keeping test 3 if it depends on test 2 and 1 passing anyway?

The article mentions not to do this because "Deleting test1 loses us another property from the Test Desiderata—tests should be specific. That’s the property of tests where, when one fails, you know exactly where the problem is." but you'll know what line it failed on. And some test runners let you break a test into steps, where groups of lines are given a description.

Or put each step + assert in a helper function (e.g. `doStep1AndAssert()`), and each test only calls these helper functions?

Nothing is perfect, but copy/pasting chunks between tests like this isn't great when you want to refactor and it's repetitive to read.

Comment · 2 months ago
Location: Edinburgh, UK

Remote: Yes (I’m used to time zone differences and async work)

Willing to relocate: No

Technologies: Figma, Sketch, TypeScript, JavaScript, Vue, Hugo, Jekyll, WordPress, Django, HTML/CSS, Bootstrap, Tailwind, OCaml, Java, Python, C, analytics, WCAG accessibility, website SEO/speed optimisation.

Résumé/CV: See https://seanw.org/ for portfolio, and https://checkbot.io/ and https://inclusivecolors.com/ for live example projects

Email: [email protected]

---

SEEKING FREELANCE WORK | UX/UI & web design

I help startups with the UX/UI and web design of their products. This includes web apps, websites, landing pages, copywriting, and I can assist with frontend development where needed. My background of launching my own products and being a full stack developer helps me create practical designs that balance usability, aesthetics, development effort, and performance. I work to fixed price quotes for self-contained projects.

---

The best live example of my work is Checkbot (https://checkbot.io/), a browser extension that tests websites for SEO/speed/security problems. The entire project is my own work including coding the extension itself, UX/UI design, website design (the homepage is optimised to load in 0.7 seconds, 0.3MB data transferred), marketing, website copy, and website articles on web best practices.

[ Rated 4.9/5, 80K+ active users, 100s of paying subscribers ]

---

I have 10+ years of experience, including a PhD in software verification and 5+ years working for myself helping over 25 companies including Just Eat, Triumph Motorcycles and Fogbender (YC W22). See my website for testimonials, portfolio and more: https://seanw.org

Comment · 3 months ago
Thanks! Any noticeable downsides?
Comment · 3 months ago
> over time decided the Django model was actually more effective as your cue to ask whether you should have been writing a Python function instead and calling it

I get the motivation, but is disallowing brackets and proper variables really the right way to do this? These make code clearer to read and reduce duplication more than they introduce complexity so this is going too far in my opinion and feels arbitrary.

Comment · 3 months ago
For Django's default template language, does it still have these limitations?

1. Brackets aren't allowed to help with boolean expressions like {% if a and (b or c) %}

2. You can't do basic arithmetic like {{ x * 2 }}, but you're allowed to do {{ x | add:"2" }}. There's hacks to multiply using {% widthratio a 1 b %} or division with {% widthratio a b 1 %} though (https://stackoverflow.com/questions/18350630/multiplication-...).

3. You can't assign expressions to variables like {% with x = a or b %}, so you have to repeat yourself.

4. You can't capture HTML generated from template code in a variable to pass into a partial template to write slots-style HTML components e.g. {% capture x %}Hello {{ username }}{% endcapture %}{{ include "partials/header.html" with body_html=x }}.

5. You can't pass variables to model methods.

I understand there's a philosophy that templates shouldn't contain complex logic, but I find the above pretty arbitrary and leads to code that's harder to maintain. Addition is okay but not multiplication? Boolean logic is okay but not with brackets? I often have to puzzle out some way to get my code to work that goes against what I'd normally want to do, some I'm forced to duplicate template code because you can't put expressions in variables or move basic one-off logic into views (which has poor locality https://htmx.org/essays/locality-of-behaviour/ and makes it harder to move template snippets between pages).

It's like hiding the kitchen knives because they might be misused.

Is Jinja2 a practical alternative or there's friction to using it?

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton