<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Jansen Cadorna]]></title><description><![CDATA[Full-stack developer, product builder, and student founder focused on building useful software, AI-powered products, and polished web experiences.
]]></description><link>https://cadornajansen.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/640542bc024dffb6cd378d77/ec93a478-dede-4f09-9738-6dec54aee300.png</url><title>Jansen Cadorna</title><link>https://cadornajansen.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 07:51:11 GMT</lastBuildDate><atom:link href="https://cadornajansen.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[I Started Coding at 12. Eventually, Writing Code Stopped Being the Hard Part.]]></title><description><![CDATA[I started programming when I was 12.
Back then, my idea of becoming good at tech was pretty straightforward:

Learn more languages. Build more projects. Get better at writing code.

For years, that mo]]></description><link>https://cadornajansen.hashnode.dev/i-started-coding-at-12-eventually-writing-code-stopped-being-the-hard-part</link><guid isPermaLink="true">https://cadornajansen.hashnode.dev/i-started-coding-at-12-eventually-writing-code-stopped-being-the-hard-part</guid><dc:creator><![CDATA[Jansen Cadorna]]></dc:creator><pubDate>Thu, 03 Sep 2026 17:53:52 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/640542bc024dffb6cd378d77/5dac6841-0ddb-4192-8b20-0b6e16ba8f23.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I started programming when I was 12.</p>
<p>Back then, my idea of becoming good at tech was pretty straightforward:</p>
<blockquote>
<p>Learn more languages. Build more projects. Get better at writing code.</p>
</blockquote>
<p>For years, that mostly worked.</p>
<p>I learned by building. Websites, small tools, experiments, freelance projects, hackathons—anything that gave me an excuse to figure something out.</p>
<p>I became comfortable with breaking things, reading documentation, debugging for hours, and learning whatever technology a project required.</p>
<p>At some point, though, I realized something:</p>
<p><strong>Writing the code was becoming the easy part.</strong></p>
<p>The harder questions were everything around it.</p>
<h2>Building something is different from building something useful</h2>
<p>A project can have clean architecture, a polished UI, and an impressive stack while solving almost nothing.</p>
<p>I've built enough things now to notice the difference.</p>
<p>The questions I care about more today are:</p>
<ul>
<li><p>Does anyone actually need this?</p>
</li>
<li><p>Can someone understand it without me explaining it?</p>
</li>
<li><p>What should I remove?</p>
</li>
<li><p>What is the smallest version worth shipping?</p>
</li>
<li><p>Where will users come from?</p>
</li>
<li><p>Why would they return?</p>
</li>
<li><p>Is this technically impressive, or actually useful?</p>
</li>
</ul>
<p>Those questions changed how I approach software.</p>
<p>I still care deeply about engineering. But I no longer see code as the finished product.</p>
<p>Code is the implementation layer.</p>
<h2>I started thinking more like a product builder</h2>
<p>Over time, my work expanded beyond development.</p>
<p>I started caring about UI/UX because technically correct software can still feel terrible to use.</p>
<p>I started learning product strategy because shipping features without knowing why they exist creates bloated products.</p>
<p>I started paying attention to distribution because the best product nobody discovers is still a product nobody uses.</p>
<p>And after attending hackathons, startup events, meeting other builders, and talking to actual users, another assumption broke:</p>
<p><strong>Being technically capable isn't enough on its own.</strong></p>
<p>You need to communicate.</p>
<p>You need to meet people.</p>
<p>You need to understand problems outside your own perspective.</p>
<p>You need to put your work somewhere other than localhost.</p>
<h2>What I'm building now</h2>
<p>Today, most of my work sits somewhere between engineering, product, design, and startups.</p>
<p>I'm building <a href="https://www.abstruck.space">Abstruck</a>, a learning and knowledge workspace focused on turning information into something people can actually understand and use.</p>
<p>I'm also building <a href="https://www.shipbits.dev">ShipBits</a>, alongside smaller developer tools, experiments, and commissioned projects.</p>
<p>My stack changes depending on the problem, but I spend a lot of time with Next.js, React, TypeScript, Supabase/PostgreSQL, Python, Tailwind CSS, AI integrations, and modern web tooling.</p>
<p>The technology matters.</p>
<p>But increasingly, I'm more interested in <strong>why a system is designed the way it is</strong> than simply what framework powers it.</p>
<h2>I'm still learning in public</h2>
<p>I don't have a polished story where everything suddenly clicked.</p>
<p>I'm still in college.</p>
<p>I'm still shipping things that fail.</p>
<p>I still rewrite code I thought was good six months ago.</p>
<p>I still have ideas that sound great until actual users interact with them.</p>
<p>That is probably the most useful part to document.</p>
<p>So I'll use this publication to write about what I'm actually doing:</p>
<ul>
<li><p>building SaaS and AI products</p>
</li>
<li><p>full-stack engineering</p>
</li>
<li><p>product and architecture decisions</p>
</li>
<li><p>UI/UX</p>
</li>
<li><p>experiments that worked or failed</p>
</li>
<li><p>startup lessons</p>
</li>
<li><p>tools and resources I find useful</p>
</li>
<li><p>what I learn while shipping</p>
</li>
</ul>
<p>Not as someone who has everything figured out.</p>
<p>Just as someone who keeps building enough things to keep finding better questions.</p>
<p>My work lives at <a href="https://www.jansencadorna.com">jansencadorna.com</a>.</p>
<p>This is where I'll document the parts between the commits.</p>
]]></content:encoded></item><item><title><![CDATA[Your Portfolio Should Be More Than a Resume With Better CSS]]></title><description><![CDATA[For a long time, I treated my portfolio like most developers do.
Hero section.
About me.
Tech stack.
Projects.
Contact button.
Done.
It looked good, but there was one problem:
It didn't really do anyt]]></description><link>https://cadornajansen.hashnode.dev/your-portfolio-should-be-more-than-a-resume-with-better-css</link><guid isPermaLink="true">https://cadornajansen.hashnode.dev/your-portfolio-should-be-more-than-a-resume-with-better-css</guid><dc:creator><![CDATA[Jansen Cadorna]]></dc:creator><pubDate>Mon, 06 Mar 2023 11:27:19 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/640542bc024dffb6cd378d77/3b8f0e48-1c49-48b7-ad21-93015de79766.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For a long time, I treated my portfolio like most developers do.</p>
<p>Hero section.</p>
<p>About me.</p>
<p>Tech stack.</p>
<p>Projects.</p>
<p>Contact button.</p>
<p>Done.</p>
<p>It looked good, but there was one problem:</p>
<p><strong>It didn't really do anything.</strong></p>
<p>It was basically a resume with animations.</p>
<h2>A portfolio should compound</h2>
<p>If you're constantly building things, your portfolio shouldn't remain a static page that you update every six months.</p>
<p>It should grow with you.</p>
<p>I wanted mine to become a place where someone could understand not only what technologies I know, but what I actually do.</p>
<p>That meant showing:</p>
<ul>
<li><p>products I've shipped</p>
</li>
<li><p>tools I've built</p>
</li>
<li><p>technical decisions I've made</p>
</li>
<li><p>things I've written</p>
</li>
<li><p>certifications and credentials</p>
</li>
<li><p>resources I recommend</p>
</li>
<li><p>experiments I'm currently working on</p>
</li>
</ul>
<p>The goal shifted from:</p>
<blockquote>
<p>“Here are my skills.”</p>
</blockquote>
<p>to:</p>
<blockquote>
<p>“Here is evidence of how I work.”</p>
</blockquote>
<p>That is a much stronger signal.</p>
<h2>Projects need context</h2>
<p>A screenshot and a list of technologies don't tell someone very much.</p>
<pre><code class="language-plaintext">Next.js
TypeScript
Supabase
Tailwind CSS
</code></pre>
<p>Cool.</p>
<p>But why did I build it?</p>
<p>What problem did it solve?</p>
<p>What decisions did I make?</p>
<p>What broke?</p>
<p>Did anyone use it?</p>
<p>What did I learn?</p>
<p>Those questions tell you more about a developer than a technology badge ever will.</p>
<p>So instead of treating projects as gallery items, I've started treating them as small case studies.</p>
<p>The stack is still there.</p>
<p>It just isn't the story.</p>
<h2>Writing became part of the portfolio</h2>
<p>This was another thing I underestimated.</p>
<p>A repository can show that you can code.</p>
<p>Writing can show how you think.</p>
<p>If I write about an architecture decision, failed product experiment, UI problem, or something I learned while building, someone can understand my reasoning without ever meeting me.</p>
<p>That matters.</p>
<p>Especially when a lot of developers increasingly have access to the same frameworks, AI tools, templates, and components.</p>
<p>Knowing <em>why</em> you made a decision becomes more valuable than simply proving you know the syntax.</p>
<h2>Small tools are surprisingly useful proof</h2>
<p>Not everything needs to become a startup.</p>
<p>Sometimes I notice a small problem and build a tool around it.</p>
<p>Those projects may only take a day or a weekend, but they show something larger:</p>
<blockquote>
<p>Can you identify a problem and ship a usable solution without turning it into a six-month project?</p>
</blockquote>
<p>That's a skill I want my portfolio to demonstrate.</p>
<p>So I started giving those smaller tools a real place alongside larger products.</p>
<h2>Distribution matters too</h2>
<p>Another mistake I made early was assuming people would somehow find my website.</p>
<p>They usually won't.</p>
<p>A portfolio works better when it becomes the center of a larger identity graph.</p>
<p>My website connects to places where different parts of my work already live:</p>
<ul>
<li><p>GitHub for code</p>
</li>
<li><p>LinkedIn for professional work</p>
</li>
<li><p>Product Hunt for products</p>
</li>
<li><p>Hashnode for technical writing</p>
</li>
<li><p>Devpost for hackathons</p>
</li>
<li><p>design platforms for UI work</p>
</li>
<li><p>startup platforms for founder profiles</p>
</li>
<li><p>social platforms for ongoing ideas and builds</p>
</li>
</ul>
<p>The website is the canonical source.</p>
<p>Everything else distributes pieces of it.</p>
<pre><code class="language-plaintext">GitHub ─────┐
LinkedIn ───┤
Hashnode ───┤
Product Hunt ──→ Portfolio
Devpost ────┤
Socials ────┘
</code></pre>
<p>Instead of asking one website to generate all of my visibility, each platform reinforces the same identity.</p>
<h2>My portfolio is never really finished</h2>
<p>I rebuild my portfolio regularly.</p>
<p>Not because changing gradients is productive.</p>
<p>Because what I want the website to represent keeps changing.</p>
<p>At first, I wanted it to say:</p>
<blockquote>
<p>I can code.</p>
</blockquote>
<p>Later:</p>
<blockquote>
<p>I can build full-stack applications.</p>
</blockquote>
<p>Now I want it to communicate something closer to:</p>
<blockquote>
<p>I can identify problems, design systems, build products, ship them, and explain the decisions behind them.</p>
</blockquote>
<p>That's harder to represent.</p>
<p>But it's also much closer to the developer I actually want to become.</p>
<p>You can see the current version at <a href="http://jansencadorna.com">jansencadorna.com</a>.</p>
<p>I'll probably rebuild parts of it again.</p>
<p>That's kind of the point.</p>
]]></content:encoded></item></channel></rss>