firtoz

firtoz

@firtoz.com

Open-source builder of 3D/web products. Local-first, collaborative, graphics-adjacent. Founded few startups. Prev: EA, @unity.com, Improbable https://firtoz.com

1K followers336 following239 posts

Revived my father's restaurant/hotel's website with astro, using cursor. Hooked lingui to it to translate to 3 languages, then added automatic OG image preview generation. Was more fun than I expected! Will share how I did it in my blog soon, but until then, take a look: theresahotelcyprus.com

theresahotelcyprus.comTheresa Hotel – Karpaz Peninsula, North Cyprus | Book NowTheresa Hotel: family-run stay on the Karpaz Peninsula. Fresh fish, restaurant above the beach, rooms with sea view. Ideal for hikers and nature lovers.

Asked Opus 4.5 to make a marketing video for my OSS project, [@]firtoz/router-toolkit. It wrote the script, generated voiceover + word-level timing (@elevenlabs.io), created the logo (Nano Banana), built animated scenes with Remotion. All in one chat session. What do you think?

firtoz reposted

Greybox Vision Frame is live! Using Greybox AI scene generator you can type a few words only to build a 3d scene, can go into Vision Frame and play around with your imagination with many variations! We're looking for feedback and opinions, please give it a try! #generativeai #ai

Greybox Vision Frame is live! Using Greybox AI scene generator you can type a few words only to build a 3d scene, can go into Vision Frame and play around with your imagination with many variations! We're looking for feedback and opinions, please give it a try! #generativeai #ai

Impressed with the 3D worlds Claude Sonnet 3.7 can make, with some guidance. Please give it a try, link below! We need your feedback to improve the model and the functionality. You get some free creds to give it a proper go. Technical thread below 🧵 Built with @threejs.org #gamedev #leveldesign

Greybox@greybox.app

Build 3D worlds just by talking --> our AI assistant is live in Greybox 👀 give it a twirl and let us know what you think! PS: tag us if you build something cool and we'll send free AI credits your way 🫶🏻 #3Ddesign #AItools #Greybox #prototyping #creativeai

View full thread

As a result, we ask it to respond with a xml tag and write the code inside. Luckily that was easy enough to generate and parse. Pass that through the sanitizer, run it, then return any logs and error back to Claude, and there you have an agent!

Impressed with the 3D worlds Claude Sonnet 3.7 can make, with some guidance. Please give it a try, link below! We need your feedback to improve the model and the functionality. You get some free creds to give it a proper go. Technical thread below 🧵 Built with @threejs.org #gamedev #leveldesign

Greybox@greybox.app

Build 3D worlds just by talking --> our AI assistant is live in Greybox 👀 give it a twirl and let us know what you think! PS: tag us if you build something cool and we'll send free AI credits your way 🫶🏻 #3Ddesign #AItools #Greybox #prototyping #creativeai

View full thread

It uses } instead of `end`, tries to do ternaries and inline accessors etc. Hopefully in the future it will improve so we won't need a Lua sanitizer. There are other options e.g. fine tuning some models but we don't have enough samples for training.

Currently it can create primitives and group objects, all with Lua. However this is not with a tool call, it's with xml in the response text stream. This is because of you have a giant string in a tool call parameter Claude will not stream it, and if you run out of tokens, RIP

Impressed with the 3D worlds Claude Sonnet 3.7 can make, with some guidance. Please give it a try, link below! We need your feedback to improve the model and the functionality. You get some free creds to give it a proper go. Technical thread below 🧵 Built with @threejs.org #gamedev #leveldesign

Greybox@greybox.app

Build 3D worlds just by talking --> our AI assistant is live in Greybox 👀 give it a twirl and let us know what you think! PS: tag us if you build something cool and we'll send free AI credits your way 🫶🏻 #3Ddesign #AItools #Greybox #prototyping #creativeai

View full thread

Now the details: we have primitives such as cube, sphere, cylinder, etc. First we tried to use one tool call for each shape which allows it to build things incrementally but there's a lot of token wastage and it takes much longer. So we needed to do something better.

The better thing: scripting. But which script? JavaScript felt unsafe, python didn't feel right, so we went with Lua. It works well most of the time but it's not perfect. So we had to write a "lua sanitizer". Most of the mistakes Claude makes are because it tries to write JS.

Impressed with the 3D worlds Claude Sonnet 3.7 can make, with some guidance. Please give it a try, link below! We need your feedback to improve the model and the functionality. You get some free creds to give it a proper go. Technical thread below 🧵 Built with @threejs.org #gamedev #leveldesign

Greybox@greybox.app

Build 3D worlds just by talking --> our AI assistant is live in Greybox 👀 give it a twirl and let us know what you think! PS: tag us if you build something cool and we'll send free AI credits your way 🫶🏻 #3Ddesign #AItools #Greybox #prototyping #creativeai

So excited to ship this soon :) #gamedev #ai #leveldesign

Greybox@greybox.app

Some major updates cooking - dropping Monday! Make sure to sign up to be the first to test it out 🚀 #AI #3DDesign #CreativeTech #Web3D #IndieDev #GameDev #DesignTools #Greybox

We have built an experimental more intuitive 3D model selection process, inspired by deck builders of all things 😅 It's for our web based 3D world creation tool, check it out please! #gamedev The interface is in alpha, we will improve the UX ASAP. Built with @threejs.org #threejs

Greybox@greybox.app

Check out our new object preview and import tool - enabling even faster scene creation! 🚀 👉 head to greybox.app and let us know your thoughts! #3D #Greybox

Wow it was much more effort than necessary to be able to do offline capable local first web app development, but I'm happy to say that I found a way - see thread:

View full thread

Then, for offline mode, you need to set up service workers, which is another can of worms in itself. And then, while you're caching files from the service worker, you need to make sure that it will do it in a way to enable the magic headers mentioned in the previous post.

I'm sure others figured this out too but for my use case - using the same drizzle schema for both server and client, and enabling offline mode, that's what I needed to solve. If anyone is interesting in diving deeper into anything about this, happy to chat.

Wow it was much more effort than necessary to be able to do offline capable local first web app development, but I'm happy to say that I found a way - see thread:

1st, for the database, you can use local storage for small amounts of data and indexeddb for larger, and also origin private file system (OPFS) for more beefy stuff, e.g. for sqlite wasm you use this. However, OPFS has requirements for magic headers: web.dev/articles/cro...

web.devA guide to enable cross-origin isolation  |  Articles  |  web.devCross-origin isolation enables a web page to use powerful features such as SharedArrayBuffer. This article explains how to enable cross-origin isolation on your website.

Managed to get the same @drizzle.team schema work for both Durable Objects and sqlite for web workers persisting through OPFS, for #lofi . Very excited about it! Did anyone do something like this before? Would love to get some inspiration etc.

Teasing a live two way sync between @unity.com and @threejs.org, would be curious to hear thoughts on it! It works also between multiple unity computers or multiple web views. For collaboration in level creation etc. Integrating into @greybox.app soon. #threejs #leveldesign #gamedev

View full thread

The idea is that you should be able to share the web view instantly with a client or the team so they can see the scene or the game without having to open the engine, do a git pull, etc. Or replace git or Collab entirely, who knows. Let us know your thoughts please!

Teasing a live two way sync between @unity.com and @threejs.org, would be curious to hear thoughts on it! It works also between multiple unity computers or multiple web views. For collaboration in level creation etc. Integrating into @greybox.app soon. #threejs #leveldesign #gamedev

Took me surprisingly little amount of effort to migrate from a centralized postgres db to Durable Object sqlite 🤔 I think most credits go to @drizzle.team for this. Next: LOFI through pglite + indexedDB?

firtoz reposted

“Creating RAG from scratch”, a *must see* talk for every dev by @philna.sh. In one hour you’ll get what took me weeks to piece meal together last year. I consider this (embeddings, RAG, vector searches) really foundational knowledge now for any dev to have in their tool belt.

Looking for the best mobile app or game that allows intuitive 3D object manipulation (moving, scaling, placing) in a touchscreen environment. Any recommendations for a smooth, user-friendly experience? #3D #UX #Mobile #Design

firtoz reposted

hey new followers! 🍃 we’re Gardens, a video game studio from developers of Journey, Blaseball, Dustforce, Guild Wars 2, Firewatch & more. our upcoming game is a shared fantasy adventure through shapeshifting wilds inspired by our favorite memories crossing paths with strangers in online games.

firtoz reposted

Replying to @willoremus.com

If TikTok does get blocked in the US, millions will try to skirt the ban by using VPNs that route their data through another country. But many VPNs are hella shady! Here's @shiraovide.bsky.social with four VPNs you can probably, hopefully, quite possibly trust: www.washingtonpost.com/technology/2...

washingtonpost.comIf you use a VPN for a TikTok ban, make sure it’s one you can trustIt’s almost impossible to figure out which VPNs are creepy or snake oil. You can trust these four options.

firtoz reposted

I'm experimenting with some react three fiber with #threejs webGPU. We don't have an EffectComposer to use post-processing effects in #r3f with WebGPU API. Now, everything is done by composing TSL nodes. I created a small component that helps in rendering post-processing effects...

When you have a bunch of durable object instances, how do you keep track of them? Should they ping a manager DO or something which keeps track? #cloudflare

firtoz reposted

What does it mean for something to be Turing complete? I answer this question, and more, through a series of fully interactive Turing machine simulations! Play, pause, step forwards and backwards, and even write your own Turing machine programs in my latest blog post. samwho.dev/turing-machi...