HackerTrans
TopNewTrendsCommentsPastAskShowJobs

chrisnolet

no profile record

Submissions

Show HN: Voice AI SDK – Build agents that sing, email, and play games

pocketcomputer.com
7 points·by chrisnolet·năm ngoái·0 comments

Show HN: Vibe coding from your phone

vibecodego.com
8 points·by chrisnolet·năm ngoái·3 comments

Show HN: Web Ingest – Convert websites to LLM-friendly text

webingest.com
8 points·by chrisnolet·năm ngoái·2 comments

Show HN: I built an AI voice agent for Gmail

pocket.computer
35 points·by chrisnolet·năm ngoái·30 comments

Show HN: D&D meets Siri – Interactive voice adventure

pocket.computer
59 points·by chrisnolet·2 năm trước·61 comments

Show HN: Gaussian Splat renderer in VR with Unity

youtube.com
21 points·by chrisnolet·2 năm trước·15 comments

comments

chrisnolet
·9 tháng trước·discuss
Worth checking out Sculptor from Imbue as well: https://imbue.com/sculptor-announce
chrisnolet
·năm ngoái·discuss
I made a post about this the other day! I think it's a sliding scale – you can use agentic coding in a more-professional or less-professional way.

Post as follows:

—

I have a take on vibe-coding for professionals. TL;DR: If you’re not loving AI editors, you’re probably doing it wrong.

Vibe-coding isn’t just for mock-ups.

It pains me when I hear high-level SWEs say that LLMs are only good for projects ‘up until a point,’ before it all supposedly falls apart.

—

I use Cline. It’s the dark horse of AI code editing. It’s an open source VS Code plugin and you should absolutely try it.

The best part about Cline is that it forces you to think about PLANNING and ACTING as two distinct phases. When I meet people who don’t love AI coding, it’s usually because they stay in the equivalent of ACT mode the whole time.

(Other IDEs are capable of doing this, too, to varying degrees. Cline just makes it very explicit.)

If you’re not spending at least 4x the amount of time PLANNING vs. ACTING in your AI code editor, you’re probably doing it wrong!

The best engineers will spend more than 20 minutes planning before they unleash AI to make any changes whatsoever.

If you’re one-shotting absolutely everything, you’re absolutely doing it wrong. When you try to one-shot complex changes, the AI is going to mess them up. And it’s going to take forever for you to have the opportunity to intervene.

This is where people get really frustrated: ‘I have to wait forever, and then the code is completely wrong anyway.’

The better approach is to treat Cline like a thought-partner. ‘Let’s add this class.’ And then review the plan before it submits one line of code. It’ll say, ‘I’m thinking of doing it this way,’ or ‘I’ll use this library.’ It’s often wrong – but that’s okay, it’s a quick turn-around to nudge it back on track and nothing’s set in stone in PLAN mode!

That’s when you have the opportunity to coax the AI into doing something more salient. And after three or four back-and-forth exchanges, you’ll have a really great plan for how Cline should execute.

Then you’ll press ACT, and go make a coffee. Most of the time, when you come back, it’ll have finished with near-perfect edits across many files.

And that’s it! If you do that, you should be able to leverage your years of experience, and your AI coding partner will do all the busy work, while you’re thinking through edge cases and architecture.

*chef’s kiss*
chrisnolet
·năm ngoái·discuss
Thanks for trying it! It's not open source, but it is a single-page app. You could download the source and run it locally.

The web app is calling Jina Reader under the hood. If you needed something a little different, it wouldn't be too hard to write a CLI tool to call Jina and achieve similar results.

It's cheap to host, so I'll be leaving this up for the foreseeable future.
chrisnolet
·năm ngoái·discuss
Right – I had the same concern! I thought that the notifications were going to be fictitious.

It sounds like that’s not the intention, though. Might be a good idea to update the copy!
chrisnolet
·năm ngoái·discuss
Update to add: https://youtube.com/shorts/D8-sdTm8bd4

Thanks for the nudge!
chrisnolet
·năm ngoái·discuss
Thank you so much for this question, and for your thoughtful post below. It's really easy to put privacy and security to one side when you're launching a startup. And lots of users don't mind privacy when they're signing up for products. But it's something that's personally very close to my heart, and I put a tremendous effort into privacy and security because I knew I wouldn't be able to sleep at night if I cut any corners.

I worked at Apple for many years and their approach to privacy really left a mark on me. I strongly believe that preserving privacy is a moral obligation. (Especially when you're handling people's emails.)

Now, while the beta is running, when you log in to Pocket, there is a big blue switch above the fold under the title 'Privacy.' It says: 'Share recordings with our team.' If you leave it on, that's really helpful for me! But it does exactly what it says, and if you have anything sensitive you don't want to share with me, turn it off.

For your questions:

- The voice data is routed through Retell and the transcripts are passed to OpenAI's API.

- Sensitive data is retained by Retell for 10 minutes (when sharing is off).

- Sensitive data is retained by OpenAI for 30 days 'to identify abuse.'

I'm working with OpenAI to get Zero Data Retention. As it stands, their commitment has been that they will not use API input or output to train models. (I personally trust that commitment, but I understand the skepticism and if that's a deal-breaker for you.)

Retell is HIPAA-compliant and SOC 2 Type II certified. They've been great to work with.

- Regarding the privacy policy: 'User data obtained through third-party APIs (will not be used) to develop, improve, or train generalized AI and/or ML models.' This language was actually required by Google. The use of the word 'generalized' here is actually less specific; it's not AGI, but includes any kind of foundation model. There might be a point in the future where we can fine-tune one model per user with a LoRA, but I agree that the risk of PII leaking from a shared model is far too great.

- The company is a Delaware C-corp and subject to U.S. and California laws.

I really appreciate the opportunity to discuss this. I want to put privacy and security first always, and make sure that's baked into the company culture. Thanks for advocating!
chrisnolet
·năm ngoái·discuss
Footnote to add that it works with Google Workspace accounts, too!
chrisnolet
·năm ngoái·discuss
Oooh, thanks for the report! It looks like Firefox doesn't have dithering on gradients. (There's a bug report, but it's been opened for 14 years!)

The gradient animation is super-subtle :) Do you think I should disable it for Firefox users, or do you still think 'cool background animation' in spite of the banding?
chrisnolet
·năm ngoái·discuss
It's using OpenAI's API at the moment, actually. An offline model could _probably_ handle the conversation and tool calling, but it just needs to be really fast to keep up with conversational speeds. (And really, GPT-4o is a bit too slow for my liking in this current iteration. I'm hoping that GPT-4.5 will be faster.)

I'm writing up a full accounting of the stack for the post above, so check back for that and let me know if that doesn't answer your questions/concerns!
chrisnolet
·năm ngoái·discuss
ps. Check out https://pocket.computer/dungeons if you just want to try the original ‘D&D meets Siri’ voice stack. It doesn’t require a login.
chrisnolet
·năm ngoái·discuss
It’s coming! The screenshot on the right of the homepage is a placeholder for the impending video. (It won’t be fancy, but I want to at least give people a sense of what they’re signing up for.)

Thanks for the note and for checking out the page!
chrisnolet
·năm ngoái·discuss
Me, too! I have pocketcomputer.com as well, which I use for email. (I learned a long time ago how confusing it is to read out a special TLD over the phone!)
chrisnolet
·năm ngoái·discuss
I had to pass the Google CASA audit and implement a ton of security procedures. Basically everything is encrypted, we don’t store your emails, verified best-practice for session tokens and so on. I probably went a little overboard to be honest, but it’s people’s emails and I need to respect the gravity of that.
chrisnolet
·năm ngoái·discuss
Nice! I’d love to check it out when you’re ready to share it. I’ll likely release the source code for mine if/when I publish the DSL.

In the meantime, since the original link has changed, feel free to try it out at: https://pocket.computer/dungeons. Happy to chat more if you want to know how parts of it are done!
chrisnolet
·năm ngoái·discuss
Thanks for trying it!

You can draft emails and reply to threads as well, actually! And if you're unsure of what to say, you can throw some hints at the agent and it'll generate a draft in your tone of voice. (The agent analyzes your past emails to match your style.)

For your question: The providers (Vapi, Retell) handle the big pieces well. My framework/DSL sits on top, helping developers manage the conversation in TypeScript.

Quick example... When you start your first session, we spin up a 'worker agent' to figure out your name, then we say something nice, and display a personalized welcome message:

  dataStore.userName = await aside(z.string(), this.emailText, `What is the user's first name?`);

  prompt(`Say something nice about ${dataStore.userName}.`);
  display(`Welcome to _Pocket_, ${dataStore.userName}.`);
The primitives are powerful. And the DSL makes it simple to wrangle conversational pathways. But my favorite part is that it's all just TypeScript, so you can use NPM packages to make your voice agents actually do things very easily.

It's very cool and I hope to share more in the future!
chrisnolet
·2 năm trước·discuss
Oh cool, this is great! I love the aesthetic.

For this demo, the app architecture really depends on users sticking (more or less) to the scripted options – if they want to progress with the story. I’ve included something in the prompt to encourage that.

There are also some ‘hidden’ choices, though. For example, you can attack the merchant and the blacksmith. Those options aren’t enumerated by the GPT when it describes the scene, but they’re equally valid paths in the backend. (That gives me an opportunity to script some of the more popular transgressions.)

How did you set up Spellbound? Do you have one longer prompt, or did you split it up?
chrisnolet
·2 năm trước·discuss
Hahah, alright Merlin! That is so far from the narrative arc I had planned, I don’t even know what to say, lol.
chrisnolet
·2 năm trước·discuss
Do you ever tell players that they flat-out can’t do something? Do players realize when they’re going off-script? (Do you let them know with a sigh or a long stare, or do you just roll with it and encourage the playful creativity?)

I like your three-part planning a lot! That’s a great framework.
chrisnolet
·2 năm trước·discuss
So firstly, I think there’s a sliding scale here, between structured narrative and hands-off emergent storytelling.

If we assume something in the middle:

While we might not be able to predict that you’ll encourage the farmer to (try to) overthrow the king, we might predict that you’ll try something of that sort. Maybe you enlist a guard for an inside job, or perhaps you do it yourself! But if we want to plan for it, we can plant the seeds, and then nudge the GPT to weave the threads of our story together when it happens.

Interestingly, because GPT requires so little prompting for relatively intricate story lines, (yes, really), you can probably add an ungodly number of these semi-scripted moments. I think they would be absolutely magical.

I think all of that would add up to a world that feels alive, with deep world building and many ‘surprising but inevitable’ moments – and the potential for some great emergent storytelling along the way.

I’m very excited for it!
chrisnolet
·2 năm trước·discuss
Hahah, yep – I’ve had a few of those moments myself!

I think adding an option to change the voice is the #1 most frequent request that I’ve gotten. Time to dig through ElevenLabs and see what else I can find! :)