[HN Gopher] Show HN: CSS Studio. Design by hand, code by agent
___________________________________________________________________
Show HN: CSS Studio. Design by hand, code by agent
Hi HN! I've just released CSS Studio, a design tool that lives on
your site, runs on your browser, sends updates to your existing AI
agent, which edits any codebase. You can actually play around with
the latest version directly on the site. Technically, the way this
works is you view your site in dev mode and start editing it. In
your agent, you can run /studio which then polls (or uses Claude
Channels) an MCP server. Changes are streamed as JSON via the MCP,
along with some viewport and URL information, and the skill has
some instructions on how best to implement them. It contains a lot
of the tools you'd expect from a visual editing tool, like text
editing, styles and an animation timeline editor.
Author : SirHound
Score : 87 points
Date : 2026-04-09 11:23 UTC (5 hours ago)
(HTM) web link (cssstudio.ai)
(TXT) w3m dump (cssstudio.ai)
| ramon156 wrote:
| I'll be the boogeyman, how does this compare to Figma's AI Design
| tool? I've had an easy experience with it, although it's just a
| GPT wrapper.
| SirHound wrote:
| With Figma Make, that's essentially doing the same thing as
| your agent, just with a visual sandbox. i.e building something
| from scratch.
|
| CSS Studio leverages your existing agent - so it assumes you've
| already done this part. Where this comes in is when you want to
| design not just using chat (although it does also support
| chat). Drawing new elements, visual style controls, inline
| content editing, animation timeline editor and preview. Then
| once you're done you can send those changes to your agent with
| a click (or turn on auto-apply)
|
| It does have some similarities with Figma's Code Layers in that
| you can draw a new element on the page, click chat, and tell
| the agent to generate x inside.
| steve-atx-7600 wrote:
| I get a lot out of giving Claude screenshots of a baseline of
| what I want and describing how my goal design differs from it.
| Output is a single page apps where that I can use for high
| fidelity prototypes. Then, I have Claude implement the final
| version of this iteration into our product single page app repo
| (following existing patterns we've established for long term
| maintenance). For more throwaway code (maintenance not
| important, mostly static content), our marketing team is able
| to do this to create content that they put into webflow.
| evancaine wrote:
| Congrats on the launch.
|
| Now put a giant, 30 second video of the product being used,
| directly below "Design by hand.Code by agent."
|
| No one is clicking Get Started or Buy Now until they know what
| the product is, and a 30 second video is 100x better than any
| amount of text.
| SirHound wrote:
| I did have a video on for launch but removed it when I added
| CSS Studio itself to the page (check top right). Perhaps it can
| make a return though!
| bossyTeacher wrote:
| You need a video. Time is money
| SirHound wrote:
| It's up!
| serial_dev wrote:
| I'm on mobile, I'd much rather see some visual demo, ideally
| video, explaining your product in 60 seconds or less than try
| to tap around in the live demo.
| SirHound wrote:
| It's a great point, I added the video back
| sassymuffinz wrote:
| I'll be honest I didn't notice it sitting up there in the top
| right until I saw this message, it's in that area I ignore
| where people usually put social logos etc.
|
| Anyway - question on the software itself, how would CSS
| changes feed through to the code? Inline CSS, utility classes
| if you're using a framework? Does it support using something
| like Vite for compiling?
| SirHound wrote:
| All the technical decisions are yours. If you defined a
| padding (for instance) in a stylesheet, this is where
| updates will be applied. Likewise if it was on a style attr
| or elsewhere.
| yoz-y wrote:
| I think it would be preferable if the agent figured out
| the right place to do this.
|
| When I debug CSS or toy with styling, I will often edit
| the element styles directly but naturally I would like
| them to be applied within classes the element has, or
| maybe add a new utility. Never would I put styles on the
| element.
|
| I suppose that in the same fashion, if your project uses
| tailwind or something, you will edit styles manually but
| when you get it right you want them to be added as
| "whatever the code uses"
| SirHound wrote:
| Sorry, I mean to say the agent does figure out the right
| place, based on your technical decisions. So if you want
| to use classes it isn't going to start adding style
| attributes. The skill contains instructions about
| following the existing setup within the codebase.
| sassymuffinz wrote:
| So if I'm using Tailwibd let's say, and then I adjust the
| padding on an element does it update the HTML (or does
| the agent update my html) with an alternative padding
| class like p-4 or p-[11px] or something if nothing
| matches?
| gianthard wrote:
| The video better be visible on mobile. I read HN on phone.
| SirHound wrote:
| It's a fair point - deployed
| threethirtytwo wrote:
| bro listen to the guy above you. You need the lowest friction
| way to help users visualize what this is. By low friction I
| mean the exact way tik tok gets people to watch thousands of
| videos for hours. Only one click and zero brain power.
|
| I wanted to buy this. I tried the demo, but then I hit a wall
| of no agent connected and gave up and came here looking for
| reviews on whether this is good or shit.
| SirHound wrote:
| Yeah about an hour before you sent this I updated the
| homepage with a video.
| BloondAndDoom wrote:
| "Don't show them the keys of the piano, play the moonlight
| sonata. "
|
| The key to a good demo is not listing or even showing the
| features, it's showing them what they can accomplish with it.
| You need to inspire your prospects.
| tyleo wrote:
| The landing page feels tacky to me. It has a similar style to
| what I've seen LLMs churn out across the internet. Unclear if
| it's actually generated or not but it's at least in that style.
|
| For a design product, I'd expect it to have more personality.
|
| I'd recommend reving the landing by hand. The sense I get is that
| this tool can make a site that looks like everyone else's. It
| would be neat to see something unique.
| SirHound wrote:
| I suspect its the color scheme? I wanted something to contrast
| with but pair with https://motion.dev but I know AIs pump out a
| lot of purple. I'm mostly a developer though so my design
| skills are a little rusty still!
| BloondAndDoom wrote:
| Motion page looks much better, but other than purple I'd
| focus on design more, even to suggest hire a designer on
| project basis, let them make a stunning landing page. If you
| are selling a design tool (arguably CSS is somewhere in
| between) then you have to show your mastery of the domain.
| --assuming you are serious and it's not a weekend project
| duskdozer wrote:
| A big smell and my biggest pet peeve with them is the
| excessive, custom javascript animations that don't respect my
| settings to disable animations and which break through my own
| extra defenses, all tucked away in some webpack chunk I'd
| have to debug to get rid of. As soon as I see above-the-fold
| text fade and slide in I close the tab to spare my head,
| stomach, and CPU.
| BloondAndDoom wrote:
| This was my biggest take, when I see someone selling a design
| tool that's looks very much like designed by LLM, that's a red
| flag. I got the exact same vibe, no idea whether it was a
| prompt or a detailed design, but right now it looks like output
| of a prompt and not hand crafted.
|
| Given the whole idea is selling a design tool that's looks very
| gives user a sense of they can control details, this page
| doesn't deliver that at all. I'd focus on the design, because
| that's the biggest demo of your product maybe even bigger than
| the demo.
|
| Imagine a unique website that users looks and feel like I wish
| this was my website. A rare instance visual design actually
| matters for a startup :)
| SirHound wrote:
| I think it's a good point. I'm going to spend a bit more time
| on the design - and if sales continue well then I can look at
| getting a designer.
| Citizen_Lame wrote:
| The irony.
| latexr wrote:
| 64.23EUR and 256.92EUR are strange numbers. The latter looks like
| bad math, since the text suggests it's 51*5, which would be 255.
|
| Of course you can charge whatever you like, but I'm curious as to
| the reasoning behind those specific numbers.
| hapidjus wrote:
| If you go to the order page its 79EUR with VAT. Not sure why
| its shown sans VAT on the page. Also the price is 99$ on page
| load but updates fast.
| SirHound wrote:
| Was displaying without tax - fixed now
| latexr wrote:
| The team pricing still calculates wrongly (63*5 is 315, not
| 316).
| SirHound wrote:
| Just put out a fix for this, thanks
| rafaelmn wrote:
| Does this work with CSS in JS stuff and CSS frameworks - like if
| I was using Chakra would this be able to edit the site elements
| and have the agent reverse map to where the style attributes need
| to go ?
| SirHound wrote:
| Yes - if your agent can edit your codebase it will put the
| changes in the right place.
| dmje wrote:
| I'm definitely the audience for this - and +1 to the "show video
| of it in action" comments...
| SirHound wrote:
| Video added
| dmje wrote:
| Ta! Makes more sense now :-)
| mpeg wrote:
| Motion is an excellent library so I gave this a go on a prod
| site. Some feedback
|
| - I LOVE the concept, no clunky SaaS, you add the package and
| start it on your dev server and it just works. It seamlessly did
| with my vite based build.
|
| - Needs a diff view which tells me what the agent is going to
| change when I publish my changes, right now it's a bit scary to
| use without it (not sure if it does once you try to publish
| changes, I didn't get that far in the process)
|
| - I don't see the point of the "draw" feature. Maybe it's because
| I envision this kind of tool being used so that non-technical
| members of the team can make small design changes without dev
| support, and not as a way to design from scratch, but maybe you
| have a use-case for it.
|
| - Integration with tailwindcss would be a killer feature, this
| particular project uses tailwind so all the styles in the style
| view show as the default ones but of course they're being applied
| via classes. You could detect tailwind classes and either show
| them separately or resolve them and show what they do in the
| styles view, then on publish you'd tell the agent to edit using
| tailwind classes
|
| I agree with what others have said, a video or even better a live
| demo would be great. A demo would be extra work but would be
| super cool, as a stopgap you could have a stackblitz demo maybe.
|
| The client-side injected js -> mcp flow is brilliant though. I
| might have to steal that idea for some projects I'm working in, I
| can imagine a lot of scenarios where it would make a great
| interface
| SirHound wrote:
| Thanks for your feedback!
|
| I just pushed a video to the homepage, there was already a live
| demo though, it was actually quite simple to implement (mostly
| gate a few things). There was a bit of a fear that agent
| somewhere out there would still be listening though...
|
| I think a diff is an excellent idea. Perhaps with the ability
| to remove specific changes and switch before/after.
|
| In terms of Tailwind, I'm thinking about a token/strict mode
| which would detect Tailwind classes and CSS variables. It
| wouldn't expose these in the sense you had to apply each one
| manually, but if you were for instance changing padding, it
| would snap between all your pre-defined tokens.
|
| For the draw feature I think I'm just heavily Framer-pilled and
| it lets you pre-determine a rough width and height within a
| stack. But perhaps there's space for a click-to-add also with
| minimum dimensions.
| mpeg wrote:
| Sorry I'm blind! I completely missed the live demo. I think
| because it's on the top right corner I instinctively ignored
| it.
|
| Maybe could have a "Try live" button that sort of nudges you
| to it (could open the sidebar with the page structure or
| something to make it obvious you're in "edit mode") if other
| people struggle to find it
|
| Re. diff view, yes, I think it's the kind of thing that would
| give reassurance to users that they can play around with it
| without breaking anything, otherwise I feel I'd be a bit
| scared of accidentally touching something that shouldn't be
| changed (especially as you might experiment a bit before you
| land on the right style to change)
| megaman821 wrote:
| I was looking at this yesterday and wondering if it would play
| nice with design systems. AI loves making localized changes and
| when playing around with spacing I tend to just bump up and down
| values until they look close, so when this sends over the
| changeset, what are the chances the spacing token is going to be
| used rather than some exact pixel value?
| SirHound wrote:
| You can apply the token directly but of course this isn't as
| nice as freeform editing. I suspect the pixel value would be
| used because the intention probably isn't to change the root
| variable (as there's an explicit option for that). I'm thinking
| of making a token mode where we limit you to the values of
| available CSS variables or Tailwind classes (perhaps unless you
| hold shift or something)
| bigblind wrote:
| This looks interesting! I understand not wanting to put out a
| narrated tour as the video, but being visually impaired, i find
| video demos without narration, that constantly move around/focus
| on different things hard to follow. It still might be worth
| putting a short screencast with you actually walkign through
| usijng the product and narrating it.
| SirHound wrote:
| That's a great idea, I'll look into doing a more long form
| demonstration
| hirako2000 wrote:
| I find AI unable to do CSS. Perhaps because it's cascading.
|
| Sure AI can do styling though.
| nc1zdev wrote:
| awesome, can imagine it's a game-changer in frontend dev agentic
| development
| codetiger wrote:
| Unlike other comments, for me the experience on the product
| marketing worked well and straight forward. After reading the
| title and landing on your homepage, I had the feeling that this
| is yet another product claiming WYSIWYG like editor for the web
| claims on making CSS editing easier. And yes the product achieves
| same as I thought. Video confirmed it, and homepage live demo
| confirmed it again. Surprisingly the claim feels true, this time.
| It feels natural and UX feels great.
| SirHound wrote:
| Glad you enjoyed it! Thanks for the feedback. In fairness some
| of the the things like a video on the homepage are there as a
| response from initial comments in this thread.
| crepuscularJ wrote:
| I work in an agency that makes flashy marketing sites. My biggest
| concern with tools like this is always how it works responsively
| across viewports. I can make a change in dev tools and it can
| translate to my code, but it might not work at all when I drag
| the viewport up and down. Can you comment on how this product
| works on that problem?
| SirHound wrote:
| If you make the page small and then make some changes, it knows
| you're doing so in a small breakpoint. So if you have mobile-
| specific styles and you edit some - these are going to remain
| mobile specific. I am working (right this second) on a canvas
| mode where you can see breakpoints side by side which will make
| this a bit easier than physically making your screen small.
| tipiirai wrote:
| This launch feels weird. Every blog post is dated Nov 25, 2025
| (~6 months ago), and no events since. What's up?
| SirHound wrote:
| What blog posts?
| TehCorwiz wrote:
| There's a 'Blog' link in the footer.
| SirHound wrote:
| Oh. Hmm. I suppose I shouldn't deeplink into the Motion
| website. I can see why this is confusing. Also, re the
| dates. Looks to be a Framer bug that I will contact them
| about. Thanks.
| tipiirai wrote:
| The ones linked on the front page footer
| SirHound wrote:
| Fixed the dates, and actually removed the Motion deeplink
| as I can see it was confusing. Thanks
| dgb23 wrote:
| When I apply display:none, how would I get back the element
| without using the browser console? If I change things from the
| console, does your tool watch the changes via mutation observer
| or does it only know about the changes from the visual tool
| itself?
| SirHound wrote:
| It only knows about changes from the tool. I started this
| project by attempting to listen to changes from DevTools via a
| Mutation Observer but it was extremely noisy on many sites.
|
| I haven't added display and visibility yet, it's on the list,
| but you would simply toggle them back. There is an element
| selector sidebar so they're not going anywhere.
| Vachyas wrote:
| The video was really good, and the UI looks fun too.
|
| If I understand correctly, is this not as useful for
| frameworkless html/css/js development? Since when you make edits
| using browser-built-in-devtools it can and does modify the actual
| css files (in-memory, of course) which you can use to copy-
| replace with entirely (assuming no build/bundling step aswell).
|
| If so and this allows you to use any framework and still have
| that kind of workflow, that's fantastic. Half the reason I don't
| like using frameworks is because I lose the built-in WYSIWYG
| editor functionality. Guess I'd still lose the usefulness of the
| built-in js debugger, tho :(
| SirHound wrote:
| Yeah I mean you can basically achieve this set up even with
| frameworks, if you're using stylesheets, but it's the
| copy/pasting and finding source code that is usually the pain.
| With this you just press apply (or enable auto-apply) and your
| agent gets to work. You can also edit the content,
| add/remove/reorder elements etc, I don't know how good the
| browser dev tools are at writing all that back though.
| thrownaway561 wrote:
| "Hi HN! I've just released CSS Studio, a design tool that lives
| on your site, runs on your browser, sends updates to your
| existing AI agent, which edits any codebase. You can actually
| play around with the latest version directly on the site."
|
| I didn't see anything like that in the video you posted on the
| homepage. Personally I found the video VERY confusing on what
| exactly the benefit of the product is and actually how to use it.
| The music also was annoying and made it hard to focus on the
| actual video.
|
| You might want to redo it and concentrate on explaining exactly
| what the benefits of your product are over the 50+ other products
| just like this one.
| ape4 wrote:
| The music was trying too hard ;)
| ihycjnigghjljb wrote:
| Look, if you're making a design tool, the absolute very least
| that you can do to show that you know what makes a design tool
| good is design a good website for it.
|
| LLMs already carry (rightfully, I might add) a "laziness" aspect
| to them. You're doing yourself and your work a major disservice
| by making this website not only generic as hell, but inconsistent
| and downright broken on mobile as well.
| zghst wrote:
| $99 dollars vs using Cursor/Windsurf?!
| anonymous344 wrote:
| wysiwyg and wordpress gui editors: set width/height of an element
| by pixels. Me: no thank you, i need col-sm-12 and col-md-6 like
| in bootstrap... actually i use bootstrap 90% of my projects
| 65 wrote:
| Any website that isn't some landing page or basic blog is going
| to need human intervention in the code (craftsmanship,
| essentially). And any website that's a landing page or basic blog
| already has a million tools for GUI design.
|
| I would be surprised if this takes off as site builders are
| already an incredibly crowded space.
| butterlettuce wrote:
| I see a website in purple colors selling something, I buy
| lapinovski wrote:
| you should definitely highlight the edit button on the right
| corner. until I've noticed it I was quite skeptical. after
| playing around - immediately sold (using desktop btw)
|
| congrats on launch, nice product. Hope this would be a thing.
___________________________________________________________________
(page generated 2026-04-09 17:00 UTC)