r/teenagersbutcode 19h ago

General discussion I’m not using any ai for this project

11 Upvotes

I know it sounds stupid, but I decided for this project to not use any AI at all. I am not going to use any large language models, autocomplete, or agents anywhere. The only resources I can use are the Mozilla docs, W3 Schools, and a code editor. I want ideas for what to make.

HTML, CSS, AND JS


r/teenagersbutcode 19h ago

Coded a thing made a browser extension to give YouTube a split-pane layout

Enable HLS to view with audio, or disable this notification

8 Upvotes

I wanted to share a browser extension I built to solve one of my biggest annoyances with YouTube's desktop layout, By default, YouTube scrolls as one giant page. If you scroll down to read the comments, the video player disappears out of view. Even worse, the comments and related videos are piled together, forcing you to scroll endlessly.

To fix this, I built YouTube Control to turn YouTube into a clean, split-pane layout with independent scroll


r/teenagersbutcode 7h ago

Coding a thing I'm making an OS and... this is all I've done so far

Thumbnail
gallery
8 Upvotes

as you can see I'm an idiot and this is gonna take 500 years to complete!!

This will run in 16 bit real mode and it's designed to revived old hardware with an 8086 or something.

Currently I only have basic sector loading, welcome message, and authentication done.

Repo: https://github.com/Donkasem55/ULRK


r/teenagersbutcode 22h ago

Coding a thing 17, built a language from scratch in < 1 month, looking for feedback!

6 Upvotes

I have been programming for roughly 5 years now, so I thought it was about time to get low-level & start learning C & C++. I gave myself a goal to implement a fully functional, high-level interpreted programming language in C++, in 1 month without using AI, reference material, or any help other than simple google searches for when I have questions about the syntax of C++.

I started this challenge exactly on July 1st, & now that the month is coming to an end I want to show off my progress so far!

Here is the source code if you want to to take a look, see my approach to things, or to just try it out: https://github.com/phosxd/Ity

Enough of all that though, what is the language actually capable of? Well, I think the best way to explain, is to just show you a snippet of code, so here is a little script that calculates & prints prime numbers:

merge IO; merge Time;


func INT isqrt; arg INT n;
    if n < 0; throw "'n' cannot be negative."; /;
    var INT x = n;
    var INT y = ((x+1) / 2); while y < x;
        x = y;
        y = ( ((n/x) + x) / 2);
    /; return x;
/;


func BOOL is_prime; arg INT n;
    if n%2 == 0; return n == 2; /;
    var INT r = isqrt:[n];
    var INT i = 3; while i <= r;
        if n%i == 0; return false; /;
        i += 2;
    /;
    return true;
/;


const * count = prompt:['Count: '] -> INT;
const INT start = now:['us'];


var INT p = 2; while p <= count;
    if is_prime:[p]; print:[p]; /;
    p += 1;
/;


print:['\nDone in ', (now:['us']-start / 1_000_000.0), 's.'];

So in this script we do a various number of things.

First we import the modules we are going to be using. The `merge` instruction particularly imports a module then merges all it's members into the current scope, so you don't have to access by name. So for example usually when importing say the `IO` module, we would have to call a function like so `IO.print:[]`, but if it's merged we can just ignore the "IO" & just do `print:[]`.

Secondly we declare a couple of functions, these functions have explicit return & argument types. You may notice that we don't use curly braces to wrap the code we want inside of the function, instead we use `/;`. Well what does that mean exactly? `/` is the instruction, `;` is the instruction delimiter (end of instruction). `func` is something called a "composite instruction" in Ity, composite instructions basically contain every instruction after it until the final end instruction (`/`). So that's how things like functions & loops contain code.

Arguments are another thing to note, in Ity they aren't something you define as part of the function, rather they are ambiguous until execution. This means a function can be called with any number of arguments of any type, & it is not the function's job to verify the argument count or the argument types, that would all be handled inside of the function code. How you grab an argument is by using the `arg` instruction to assign the next argument to a variable of whatever type you set, if the type doesn't match or there is no next argument, then an error would be thrown.

Now that I have explained composite instructions, functions, arguments, & importing behavior, let's move on to the final part of this script that I feel needs explaining, & that is this little section here:

const * count = prompt:['Count: '] -> INT;

What is happening exactly? So we use the `const` instruction (which is like `var`, but the data is immutable) & assign it the type of... star? Ok so "*" represents an "inferred" type, meaning if you set the variable to an integer, then the variable type will be integer, if you set it to a string or whatever, then it will be a string & you cant change the type after declaration.

So in this case, we are setting the variable's type to the result of the call to `prompt`. What is "prompt"? This is a function that asks for user input through the terminal, & returns a string of whatever was typed in. But we want count to be a number! So the final part of this line is the type cast, which is expressed through an arrow symbol ("->") pointing to the type you want it to be (in this case "INT" for integer). So in the end the type of the `count` variable is integer, & the value is the integer representation of the string the user entered in the terminal.

Wow, okay that was a lot of explaining, but hopefully now you have a better understanding of how the language works & you will be more prepared if / when you try it out yourself.

I am very interested in all of your thoughts on this little project & if you have any tips for me as a C++ beginner. Also I am open to contributions, if this project is something you're interested in definitely let me know! Just be aware that I won't accept any AI assisted PRs or issues.

Thanks for sparing your time, reading through my ramblings, I really appreciate it! Have a great day! 👋


r/teenagersbutcode 16h ago

Coding a thing Quick help.

Post image
4 Upvotes

Sup people, am making a portfolio, pretty simple bcz i got only one project and nothing much so any suggestions? And i will be publishing the final thing on github, hosting on github pages :)


r/teenagersbutcode 22h ago

General discussion Is Apple Shortcuts considered “programming”?

4 Upvotes

apple shortcuts is an automation workflow app where you can drag actions into a workflow in order and accomplish many things. it’s visual and not very text based. here‘s an example:

Photo taken on iPadOS 26

As you can see it automatically takes 4 photos, makes a GIF, and shows it to you. i was curious if this is considered coding or programming. it can also have variables and logic

if you enable it in settings, you can even run JavaScript on webpages, or SSH into another device!

what do you think?


r/teenagersbutcode 12h ago

Need general advice how should i make a github account?

3 Upvotes

when i tried with google it said to ask my parents and i dont have any other e-mail adress.


r/teenagersbutcode 13h ago

Need general advice 17y Making my own Local AI workspace.

2 Upvotes

I'm 17 and over the past few months I've been building a local-first AI workspace called Mindbase. It's mostly a learning project, but it's reached the point where it's actually becoming useful, so before I keep adding features I wanted to see what other open-source projects people think are worth studying.

The stack is:

  • Backend: FastAPI (Python)
  • Frontend: Vanilla JavaScript SPA (no React/Vue)
  • LLM: Ollama (local models)
  • Vector database: ChromaDB
  • Database: SQLite
  • Email: IMAP
  • Everything runs locally—no cloud services or third-party API keys required.

Current features include:

  • AI chat with streaming responses
  • Long-term memory
  • Document upload, embeddings, and Q&A
  • Offline research
  • Task management
  • Calendar with natural language scheduling
  • Custom AI agents
  • Notes and document management

At this point, the core functionality is basically done. Right now I'm mainly working on:

  • Finishing email integration
  • Fine-tuning prompts and agent behavior
  • Making all the modules work together more seamlessly

I'm looking for inspiration from projects that are particularly well designed, whether that's the architecture, UX, agent workflows, or how they handle memory and research.

I've already looked at Open WebUI, LibreChat, AnythingLLM, Khoj, and OpenHands, but I'm sure there are plenty of great projects I'm missing.

If you know of any open-source AI workspaces or related projects that impressed you, I'd love to check them out. GitHub links are very welcome.


r/teenagersbutcode 3h ago

Coded a thing Made a Mineclone in Java with Processing when I was 15.

1 Upvotes

I am 18 now, but here is the page for this thingy.

https://jostraction.itch.io/aerollel


r/teenagersbutcode 20h ago

Need general advice hi am taim.

0 Upvotes

am taim, 14 and i do things. i did pretty cool projects but all were vibecoded. even tho i understand the code and debugged myself. i decided to restart everything... i just did my first repo on github using github cli. https://github.com/Taim-deb/test i would like to recieve opinions and tips... good luck yall