Show HN: My first full stack project (plotnotes.ai)

36 points by NoahECampbell ↗ HN
Just finished my second year at college studying Computer Science, and wanted to try and gain experience as a full stack dev this summer, so I made a website that allows users to create stories using openai's API, using embeddings for custom terms users can define, and create short stories and chapters alike. I'm mainly just looking for some feedback on how I can improve it or make it more presentable, so any help/feedback is welcome and appreciated!

28 comments

[ 3.4 ms ] story [ 75.7 ms ] thread
(comment deleted)
Many on HN (and elsewhere) will lament the fact that there is no way to read about or test-drive your project without signing up (aside from going to GitHub). Many of us guard our emails/logins quite jealously, myself included. Please consider adding some of what you included in the description of this post on your site. Right now, it looks no different to me than a random login form I encountered on the Internet.

That being said, I caved and set up an account with a temp email and the password 'password' (might wanna check on those password security rules) just to play with it so I could give some constructive feedback. Unfortunately, generating a story isn't working (the spinner is spinning infinitely) and I see a few errors and warnings in the Developer Console. I'm not sure what the Short Stories page is supposed to show, either, but it also appears to be malfunctioning.

I don't mean to eviscerate your project - it is always exciting and scary to share something with the world. This needs a little more work before it's ready for show-and-tell, though, IMO. I'm not even sure what I would use this for. Best of luck.

Eviscerate it all you like, thats the point of me doing this so no hard feelings. As for the email bit, all it is used for is to store the email and make it feel safe since google auth seemed like a rather secure option in my limited experience. The short stories and chapter pages are meant to show short stories and chapters generated on the prompt endpoint. I was thinking about adding some help page to describe it in more detail since I know its much easier for me to know what does what as I have all the context for the project in my head
I think even just some screenshots and a blurb about what it is would be helpful on the home page. Your logged out UI should operate as the pitch for the product normally.

Like jamisonbryant said, people want some assurance about what they’re getting in exchange for their personal info and a direct line to their email.

Totally understandable, Ill do that here then, which is what you're suggesting right? Or do you mean just explain it on the login page?
Either-or of course, but a HN post is pretty short lived. You’ll get lots of mileage out of a good demo/pitch on your app’s page from people just coming across it.

Took a quick peek at your repo’s README, under features you have “Next.js”, cutting your teeth on some marketing is worth it! Think about what makes you want to use a tool, It’s probably not the framework it was built with.

Yeah I'm definitely trying to take advantage of that and adding it to my resume, since I obviously wont make something perfect, hell probably not even great, on my first go, but it was a learning experience and a way to make myself more appealing for future employers
You can be less formal if you want here! :) it’s not a job interview, we’re all excited you’re making something!

The bent for this space tends to be towards start ups, so expect some advice towards how to market/best feature something you made, vs what would look best on a resume.

Makes sense lol, it's all great advice so far though so I'm pretty happy with the responses and everything. Plus there were some things I hadn't thought much of, like trying to reassure users that I'm not doing anything nefarious with their email when they log in with google.
But that's what the nefarious people would also say...

It should be possible to show the editor without the login-wall, but with the text input being disabled and be replaced by a pre-defined input like "Write me a story about bunny rabbits" (I don't know what your app is supposed to do so this is my understanding after reading the scant descriptions), and tell the user to hit "Generate story!" - but when they click it, the mock-up won't be talking to ChatGPT, instead it will just get a response (or one of several bunny rabbit stories) you've stored as text.

That way you don't need a login-wall, and no one will abuse the project and eat up your ChatGPT tokens (is that the reason for needing a login?).

One of the reasons is that yes, although not the main reason. It was just easier to add a login so I can more easily save the stories they create and show those same stories to the user when they want to
re "" make it "feel safe" ""; Accwalling is one of those things in an app that need full rationales, seldom done in 2 words.
Hi there,

Visually it looks pretty good. However like what jamisonbryant said, people on this website aren't fans of when they have to sign in to test something. I made a test account to try it out, and unfortunately submitting my prompt resulted in a Error status 504 on the request with message

"An error occurred with your deployment

FUNCTION_INVOCATION_TIMEOUT"

This is probably because you are waiting for the external openAI API's response before responding to the user's request. You might want to return a response immediately and asynchronously process the openAI part of things and notify the user when its ready somehow.

That was something I had wanted to do but couldnt figure out how to do right away so went with this slightly worse approach as a temporary thing to just get something out there, but that totally makes sense and would definitely improve the UX
I have very little webdev experience so my advice might be completely useless, but some google searches show either long polling or websockets as a solution to this problem. Either way, good job
You and me both, but I totally agree that it would be better if it was done asynchronously, either by default or as an option for the user so they can still do other things on the site
My advice is ask ChatGPT if you aren’t sure. Can’t tell you how many things it’s helped me to flesh out.
One possibility would be for you to create a demo account with credentials demo/demo and pre-populate some interesting content that would demonstrate some of the interesting features. Then add some text on landing page to indicate that demo account can be used to kick the tires.
Yeah thats what my current plan is after seeing all the advice and tips that I've been given here, give new users a demo and seeing if its something they want to sign up for in the first place
Messed around with it a little. It’s a cool idea! Something to generate the general beats or outline of a story.

For UI, I might suggest something more “inlined” for the prompt screen. You might find some inspiration from outline writing apps like OmniOutliner [0] or emacs’ org-mode. Those will let you move around heading and groups of rows easily. If you could expand a row into multiple heading rows generated by AI, I could see that being really “in flow” for a writer!

You could imagine someone writing a couple details, hitting some key combo that expands it into a few headings, and then they can move around to the heading they want to expand on and start writing in it. They can recursively expand sentences/rows when ever they need to flesh something out.

It’s hard to get keycombos and the feel right, but I think it would be worth it.

[0] https://www.omnigroup.com/omnioutliner/

I'll definitely take a look into that! Always excited to try out a new tool that makes things a bit easier, since trying to style with React can be a bit painful at times hah
Congrats on releasing something to the world while in your second year . That's a pretty good trajectory you are on
Thanks! I figured that the best thing I could do would be to try and make a full project on my own and have it be a continuous project throughout my summer break, as a way to resemble working continuously on a product for a company in the future.
I couldn't find any explanation on the site of what this is and was immediately greeted by a sign up/login. You need an about page and some screenshots. Congrats on your project though!
I'm currently working on changing that funnily enough, where I will describe it in more detail on the homepage, as well as allow users to try the site out without logging in, of course with the clear sign that any stories they generate won't be saved until they log in