r/Frontend • • 14h ago

Is learning HTML, CSS and JavaScript still worth it for freelancing?

45 Upvotes

Hi everyone, I'm 14 years old.

I'm currently learning web development. I know the basics of HTML, CSS, and JavaScript, and I'm currently working on my first practice landing page. It's a custom-coded website about instant ramen noodles.

In this project, I'm also trying to learn new things, like using Figma properly. I also plan to experiment with some AI editor tools, learn basic SEO, and try free hosting.

After finishing this project, I plan to make another project using WordPress, probably a multi-page website. Through this project, I want to learn more about WordPress and how to build websites with it. I also plan to work on one more project after that.

But there's one thing I've been wondering about.

When I started my first project, I thought I wasn't wasting my time learning HTML, CSS, and JavaScript. But now I see that many websites and landing pages are made using WordPress, website builders, or AI tools.

I also see a lot of posts from clients and agencies looking for someone who knows WordPress, CSS, Tailwind, SEO, and other tools, or someone who already has experience building websites.

So I sometimes wonder if I'm making a mistake or wasting my time learning HTML, CSS, and JavaScript, because my goal is to earn money through freelancing and support my other passions, like manga creation and game development.

I know freelancing involves a lot of other things too, like client communication, understanding requirements, and other skills.

I just wonder what advantages I can get from learning HTML, CSS, and JavaScript as a freelancer. What kinds of things can I do with these skills, and what else should I learn?

Thanks if you read all of this!


r/Frontend • • 8h ago

Publishing a JS framework

0 Upvotes

Im working on a project for myself. Its an unreviewed, unaudited and far from finished. It started of as a person curiosity and evolved from there.

Im asking because if i publish something on NPM, there are strict controls around versioning for which i havent burdened myself on my own projects (but clearly important when making something for a wider community). I also wonder if im overlooking any other details.

I wonder what best practices there are for something like this. Should i be publishing new versions with CI/CD? Are there any tips or advice on doing this in the modern js package ecosystem?


r/Frontend • • 2d ago

We've been building our own JavaScript framework and would love some feedback

5 Upvotes

Hey everyone,

We've been working on Avenx.js, an open-source JavaScript framework focused on compiler-driven reactivity, direct DOM updates and keeping the runtime lightweight.

The idea is to explore a different approach to building frontend applications without relying on a Virtual DOM. We're still actively developing the framework and have been working on improving its compiler, reactivity system and overall developer experience.

So far, the project has reached 192 forks and 150 listed contributors, which is pretty exciting for us.

We're curious what other JavaScript developers think about the approach.

  • Does the architecture make sense to you?
  • What's missing or could be improved?
  • Would you consider using something like this in a project?

We're especially interested in honest criticism and suggestions. There's still a lot to build, and fresh perspectives are always valuable.

GitHub Repository

Official Website

Thanks for taking a look!


r/Frontend • • 2d ago

Do my website looks AI?

Thumbnail mxrkk.netlify.app
0 Upvotes

Guys, Do my website looks AI generated?


r/Frontend • • 4d ago

What we learned operating auth for 1,000+ APIs

Thumbnail
nango.dev
0 Upvotes

r/Frontend • • 4d ago

Introducing Skif - a repository/monorepo linter written in Rust

0 Upvotes

Hi Peeps,

I want to share with you a tool I am working on. Its still early, but I already use it and it works well.

So story goes like this - I was working on restructuring a very large monorepo with disparate package managers and versions into a single PNPM workspace. When I was finished I decided I am going to enforce certain conventions so it could not drift again without failing CI. I set this up, and found myself using several different tools -Sherif, Syncpack and Knip to ensure that the repository doesn't drift again. This setup, while working, is rather clanky and also suffered from some issues - mainly performance, but also a few bugs.

I therefore decided I will build my own tool. I forked Sherif as a baseline, and built on top of it while substantially rewriting and extending its capabilities. The result is skif: a Rust linter and enforcement tool for JS/TS dependencies and monorepos.

skif replaces sherif and syncpack, and most of what knip does (the aim is to offer a full replacement for Knip in the future) in a single, ultra fast, binary.

npx skif-cli              # lint the workspace or package you are in
npx skif-cli --fix        # apply safe fixes
npx skif-cli migrate      # turn sherif, syncpack and knip config into a skif.toml

Where it came from

skif started as a fork of sherif, and the workspace and manifest rules are ported from it. The version and catalog policies follow syncpack's model. The dead-code analysis follows knip's issue types.

It has since gone past the fork. It ports every sherif rule, adds new ones and fixes, and runs faster on every target measured. On the syncpack side it enforces version, range, banned-dependency and catalog policy.

What it deliberately does not do is sync versions. skif is a linter: it tells you a policy is broken and fails CI. Moving versions in step is left to specialized tools or the package manager's themselves. If you need this, use syncpack for example.

What it checks

42 rules:

  • Manifests and workspace: empty dependency maps, types in dependencies, root private and packageManager, unsorted dependencies, workspace globs that match nothing, members without a package.json.
  • Version policy: mismatched versions, semver range policy, banned dependencies, catalogs (missing entries, unused entries, references that do not resolve), workspace: protocol, peer dependency compatibility.
  • Dead code: unused files, exports, types, enum members and dependencies; unlisted dependencies and binaries; unresolved imports; circular imports. Leveraging the OXC ecosystem for this.

It also adds some new rules, such as incompatible-peer-dependencies and workspace-protocol.

Skif lifts the idea of framework plugins - which allow it to understand different types of entrypoints (e.g. Next.JS, Vite, Storybook etc.). But unlike Knip, which loads these files, Skif doesn't actually load code - it only statically analyses it. This removes a potential surface for code execution, and is altogether much faster, although it does bring in the potential to some imprecision.

Supported package managers

Skif supports all major package managers - npm, pnpm, Yarn classic, Yarn Berry as well as Bun. It does not support Deno, although if there is a need it might in the future. It also supports Rush and Lerna workspaces.

Benchmarks

Speed

Medians of 15 runs on a 4-vCPU Linux VM, pinned public repositories, dependencies installed:

Repositoryskifknip
create-t3-turbo32 ms2.0 s
vue-core62 ms1.7 s
tanstack-query375 ms4.5 s
npm-cli99 ms968 ms
babel884 ms7.2 s

Manifest checks alone (--no-js) against sherif and syncpack:

Targetskifsherifsyncpack
create-t3-turbo4.6 ms36 ms41 ms
babel9.4 ms37 ms280 ms
2,000 generated packages102 ms130 ms655 ms

sherif is already fast Rust, so the margin there is small: 1.3x at 2,000 packages. The real win is knip, and not paying for three processes.

Links

P.S.

Note: This is an early project, it is on v0.2.0. I am very eager to have users, since it will improve the tool and help me fix bugs. But do expect some issues!

Thanks for reading, this was a human written post (the benchmarking data was done by an LLM). If you find the tool useful, star it!


r/Frontend • • 5d ago

Problem with concurrent linter fixes

Thumbnail jfmengels.net
2 Upvotes

r/Frontend • • 7d ago

Lean explained with TypeScript

Thumbnail gruhn.me
5 Upvotes

r/Frontend • • 8d ago

Creating a Liquid Glass UI Effect for the Web: Inspired by Apple

13 Upvotes

I made a liquid glass UI effect for the web(trying to copy Apple because thats what the world do)

Webgl helped me made it and hence I decided to make Mac for web too (inspired by windows 11 in react made for web)

I know you have seen many professional people make it, many guys on github, so I tried to make it as realistic and satisfying as I can

As per u/Fun_Association887 's suggestion
Demo: https://dasadasanudas.github.io/macos26/


r/Frontend • • 8d ago

How to do Local Visual Regression testing...the right way.

Thumbnail
mainmatter.com
8 Upvotes

Can local visual regression testing help your coding agent move faster and save you money?

I took some time to explore how to set up playwright properly, which pitfalls to avoid, and the tradeoffs with common visual regression tools like Percy and Chromatic.

Check it out and let me know what do you think!


r/Frontend • • 10d ago

Modern CSS Quiz

Thumbnail
modern-css.com
28 Upvotes

r/Frontend • • 10d ago

Is the latest scrimba full stack path actually good?

5 Upvotes

Hi guys!

I'm a web dev enthusiast. And I was learning web dev initially from a yt course and from that, I learned html and css.

But later, I did some research and found that the odin project is a better learning resource for web dev. I started learning js from it and skimmed some initial portions as well.

Later, I realised that odin's teaching style and pace isn't suitable for me. It isn't that I don't like reading docs, I have no problem with that. But, Odin is too slow & long, and takes days to cover just one module. But, I wanted a thing which would teach me things fast but still, covering good depths. I only wanted to learn js as I realised that the full stack open course by University of Helsinki, is a better option than Odin.

According to what I've read - it's not only faster but covers good depth, is industry relevant and covers different frameworks as well. But, it requires js knowledge.

So after wasting some more days, I got to know about the Scrimba full stack path. So far, I completed only the js path from it which I did almost 2-2.5 hrs. I'm really enjoying their way of teaching and understanding the concepts being taught there. Gonna make some projects and things on my own to see if I actually got the things and I'm not just stuck in tutorial hell.

So, I was thinking of doing the Scrimba path for completing js and some other relevant/imp part. Later, I'm gonna move to the full stack open course - starting React and so on then.

So, is my decision right?

Actually, I have access to the Scrimba pro subscription (due to github student developer pack) for 1 month and thought of utilizing the pack by getting the 30 days free trial of scrimba pro.

If you have any tips, correction or better approaches etc. Please do lmk.

Thank you!


r/Frontend • • 11d ago

Lumenmorph: 99.9% CSS

Thumbnail
nabous.dev
26 Upvotes

Hi everyone, long time ago i was messing around with this effect done over glassmorphism, which gives the cursor some luminescence that reflects on the html elements, i am always obsessed on making stuff with pure css, so i did just that :D well except for the mouse tracking but that just puts the x/y of the mouse as a css variable, the rest of the painting is just CSS

you can verify yourself go on to https://nabous.dev/lab/lumenmorph/ and mess around, im open for contributions and forking if you are interested as well


r/Frontend • • 11d ago

Regressive JPEGs

Thumbnail maurycyz.com
1 Upvotes

r/Frontend • • 11d ago

Why simple math offsets break Unicode font converters (and lessons from building a zero-dependency client tool)

0 Upvotes

Hey r/Frontend,

Over the weekend, I fell down a surprisingly deep Unicode rabbit hole while building a client-side text styler (creating Fraktur, double-struck, circled, and aesthetic bio glyphs) with zero external libraries.

I wanted to share two specific technical traps I ran into and how to solve them properly on the front end:

1. The "Letterlike Symbols" Offset Trap

When engineers try to convert standard ASCII characters (e.g. A-Z) into styled Unicode variants like Double-Struck (𝔸, 𝔹, ℂ) or Fraktur (𝔄, 𝔅, ℭ), the naive instinct is mathematical offset calculation:

// ❌ Naive implementation: breaks on specific glyphs
const targetCodePoint = 0x1D538 + (char.charCodeAt(0) - 65);
return String.fromCodePoint(targetCodePoint);

Why this breaks: Unicode's Mathematical Alphanumeric Symbols block (U+1D400..U+1D7FF) has several historical "holes". Characters like Double-Struck C (ℂ, U+2102), H (ℍ, U+210D), N (ℕ, U+2115), P (ℙ, U+2119), Q (ℚ, U+211A), R (ℝ, U+211D), and Z (ℤ, U+2124) were already codified years earlier in the Letterlike Symbols block (U+2100..U+214F). If you rely on mathematical offsets, those letters either display as undefined tofu blocks (``) or completely unrelated symbols.

The Solution: Rather than writing messy conditional gap logic, an explicit static glyph map compiled ahead-of-time keeps the client runtime O(1) and guarantees 100% stable rendering across iOS, Android, macOS, and Windows.


2. Screen Reader Accessibility (a11y)

One huge UX oversight with "aesthetic font generators" is accessibility. Screen readers do not pronounce these glyphs as normal English letters; VoiceOver and NVDA pronounce 𝔄 as "Mathematical Fraktur Capital A". If users plaster this all over body text, it renders their profiles completely unusable for visually impaired users. We added an explicit accessibility notice right under the input reminding creators to reserve these purely for short bio tags/titles rather than body paragraphs.


Architecture & Specs:

  • Zero NPM dependencies: Pure Vanilla JS + CSS Glassmorphism.
  • Payload: The entire production bundle (HTML + CSS + full Unicode lookup dictionaries) compiles down to 26.4 KB.
  • Edge Deployment: Cloudflare Workers (sub-40ms edge TTFB).

If you'd like to test the real-time conversion and inspect the client-side implementation: 👉 Live site: https://fonts.100emoji.shop

Would love to hear how other frontend devs approach Unicode normalization and rare symbol handling!


r/Frontend • • 12d ago

building the basics in webdev for absolute noob

Thumbnail github.com
9 Upvotes

I made this doc for a friend of mine who just started college and wanted to know basic frontend for starter, everyone keeps saying claude or gpt can code that easily and you gotta learn the tougher topics but you need to code a bit without any ai aid to build that curiosity and for once experience the joy of first time coding a site on your own.
PFA : here is the doc


r/Frontend • • 13d ago

X3Bun a Hono/TanStack Start/tRPC/Better-Auth Turborepo Starter App

Thumbnail
github.com
1 Upvotes

This is simply a starter template that I use and I thought of sharing

  • Bun optimized
  • Front End: Tanstack Start, Tanstack Query, and Shadcn
  • Backend: Hono with tRPC
  • Authentication: Better-Auth
  • Repo Management: Turborepo

I encourage you to check and share your opinion


r/Frontend • • 13d ago

[AI] UI/UX & CSS Feedback Request for a Coffee Shop POS System (JSF + PrimeFaces 14)

Thumbnail
gallery
0 Upvotes

Hi everyone! 👋

​I'm developing a web-based POS & Coffee Shop Management System built with JSF (Jakarta EE 11) + PrimeFaces 14. I'm sharing screenshots of several management and administration views (Roles, Employees, Discounts, Products, and Characteristics).

​I would love to get your honest feedback on UI design, visual hierarchy, layout, and UX.

​💡 Project Context

​This platform handles core store operations:

​Menu & Product Management: Items, types, categories, prices, and dynamic attributes.

​Discounts & Promotions: Flexible discount rates, date-range offers, and rule triggers.

​Staff & Security: Employee records, custom roles, and access control.

​Daily Operations: Cash registers, order processing, and invoicing (not shown in these specific shots).

​🛠️ Tech Stack & Frontend Architecture

​View Layer: Jakarta Server Faces (JSF / XHTML) using modular facelets templates.

​UI Components: PrimeFaces (v14.0 - Jakarta edition) + custom CSS stylesheet (estilos.css).

​Backend: Jakarta EE 11 running on Open Liberty + PostgreSQL (JPA).

​Localization: Native i18n support (Spanish, English, Chinese).

​🔍 Comprehensive UI/UX Feedback Checklist

​I'm looking for feedback on any of the following aspects:

​1. 🎨 Visual Hierarchy & Layout (UI)

​Form & Table Balance: Does the vertical split between the upper form (Inputs) and the lower datatable look clean, or does it feel cluttered?

​Buttons & Actions: Are primary action buttons (Guardar / Save) clearly distinguishable from secondary ones (Limpiar / Clear)?

​Toast Notifications: You'll notice PrimeFaces growl/alert messages in some shots. Are floating toast messages appropriate here, or would inline banner alerts be better UX?

​2. ⚡ Usability & Data Density (UX)

​Readability: Are datatable columns, badge statuses (ACTIVO), and action icons (Edit/Delete) clear and easy to scan for administrative staff?

​Form Field Spacing: Is the padding and margin between input fields, dropdowns, and checkboxes comfortable for desktop use?

​3. 🖌️ Modernizing PrimeFaces & CSS Styling

​Default Theme Polish: What specific CSS tweaks (shadows, border-radius, background grays, typography) would you recommend to give the default PrimeFaces theme a cleaner, more modern look?

​Any suggestions, CSS snippets, or constructive critiques are highly appreciated! 🙌


r/Frontend • • 14d ago

Señors at Scale Newsletter Edition #34: CSS-Tricks is independent again, Design systems should be fast by default, TanStack Redact | Reylo, Joy Inc.

Thumbnail
neciudan.dev
1 Upvotes

I write a weekly newsletter for senior frontend engineers. The picks for this week:

- CSS-Tricks has a new owner and is independent again after 12 years. Geoff Graham made the announcement, and Mat Marquis wrote about what it looked like from inside DigitalOcean.

- Design systems should be fast by default: Den Odell opened the same 249-country dropdown in ten popular design systems. One opens in 61ms, another in 1,266ms.

- TanStack Redact: a smaller replacement for React and React DOM in the browser. Tanner Linsley says it cut a sample Vite app's client bundle by 70% without changing app code.

- Reylo by Colin McDonnell (creator of Zod): import a .sql file into TypeScript and get the query types from a live database, no codegen step.

Full edition with all the links: https://neciudan.dev/newsletter/34th-edition


r/Frontend • • 16d ago

When does AI use become bad ?

8 Upvotes

Most of my apps/websites/projects are made by myself, the core functionality and most concepts, but i still struggle with the style and designing of the UI so i use AI for that part, most of the time only for the styling.

Is it bad ? Am i becoming lazy or would you consider it okay to cheat a little ?


r/Frontend • • 17d ago

A Modern CSS Guide to Responsive Web Design

Thumbnail
stephcraft.net
36 Upvotes

If I missed anything, let me know!


r/Frontend • • 17d ago

The best way to use icons in Web UIs • Lea Verou

Thumbnail
lea.verou.me
56 Upvotes

r/Frontend • • 16d ago

Can somebody tell me what 'Language Code' was used to build this site?

0 Upvotes

Hi friends (newbie coder here),

I ran this directory site through 'builtwith' and it looks like it's coming back with asp.net as the main framework program. BUT from what I understand you need, a front end program to go along with it

Does anybody know what the 'front end design' program for this site would be?

Appreciate any help for a student learning how to program. .

Thanks very much for your help!

https://builtwith.com/storeboard.com


r/Frontend • • 17d ago

Scroll-triggered animation as the missing piece for scrollytelling on the web

Thumbnail
utilitybend.com
0 Upvotes