What a Year...2025

What a Year...2025

December 6, 2025

Tl;DR

I dared to call 2024 crazy.

Then 2025 happened.

900 min of LISTENING to a podcast makes you be the top…5%? really?

Have you tried more tools than actually shipped projects?

This year yes, but I have changed the tendency.

I believe the ratio can be… ~100 posts with new tools : 10 gh repos with sample projects

Not all the content is indexed in the same way across engines and you can miss valuable info.

ℹ️
Thanks to Ecosia I could find how to add Web Analytics to the Jekyll Chirpy Theme!

Computer consultancy activities

Install any Ai stuff, via UI:

MIT | AI Browser

Normally, API calls are stateless.

Even Reqable has one: Tools -> More QR-Code

Motion Canvas is great for interactive, visually rich web animations.

Remotion is best for React developers needing video automation and scaling.

Manim is the tool for deep mathematical visualization with powerful programmatic control.

Feature/AspectMotion CanvasRemotionManim
Programming LanguageTypeScript (Web, JS)React (JavaScript)Python
Main Use CaseVector animations & presentationsProgrammatic video creationMath & educational animations
Preview/InteractivityReal-time visual previewReact-driven dynamic renderingNo live preview, manual rendering
Complexity & ControlModerate, web tech basedHigh for UI/UX videosHigh for math/algorithm detail
Target UsersWeb developers, educatorsReact developers, marketersEducators, researchers, math pros
Learning CurveModerateModerateSteep (programming + math)
Community & DocsGrowing, good docsStrong community & documentationMature community, rich resources

https://world.hey.com/dhh/pay-yourself-first-e86f8147

This year, Ive abused again of my unfair advantage.

Just working

If I was pushing from the start of 2023, So ive done this year.

Building a brand is not easy.

But I have a plan:

graph TD
    A[www.jalcocertech.com] --> B(blog/YT 0$);
    A --> C(DIY 0/$);
    A --> D(Consult via Cal.com - DWY $$);
    A --> E(Services - DFY $$$);

I am really commited to make a world a better place.

So I am (and will) be spending time on making tech concepts more accesible.

But the DWY/DFY model, means that I choose what’s my focus.

Have some great idea and want my time to execute it better/faster/higher quality?

I can do so, but there is an opportunity cost :)

The services is a matter of what to build.

So to validate i built the simple waiting list concept that superseeds the waiting list v1 before ever going to prod.

Waiting list to services Automation to services web spins to services, maybe via paas coolify/dokploy

Helium or zen?

review all WIP on previous posts

https://juan.pl/en/

https://www.albertina.at/en/

if you are building websites, get inspired:

  1. https://github.com/gridaco/grida

Apache v2 | Grida — Ambitious 2D Graphics Editor for the Web

Intro

The question today is: Can i use Logto JS SDK + SSG Themes + CF Workers to get a blueprint/skeleton/template for my SaaS?

And who knows, maybe one day sell a book or courses?

Just like cool kids do here and there

Fake it until you make it idea is great.

People seems to have bring it to the next trolling level: https://play.google.com/store/apps/details?id=com.fiuymi.app

Other Static CMS

What are Static Site Generators?

Apache v2 | Static Site Generator with Go backend and Svelte frontend

Build-Time Render Engine (aka Static Site Generator) with Go backend and Svelte frontend

Ships with a fully integrated Git-CMS that you can host for cheap/free right with your static site

Install plenti:

snap install plenti

As the author mentions: Plenti = Hugo + NetlifyCMS

This is a very cool proposal for landing pages see https://plenti.co/themes !

  1. https://github.com/keystonejs/keystone

Keystone helps you build faster and scale further than any other CMS or App Framework. Describe your schema, and get a powerful GraphQL API & beautiful Management UI for your content and data.

MIT | The superpowered headless CMS for Node.js — built with GraphQL and React

Building Webs with AI

See which are the top LLMs as per their ELO fights https://web.lmarena.ai/leaderboard

MIT | ✨ Magical shell history

Cloudflare alternatives?

A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.

SelfHosting Best Practices

What about NIX?

Recently I heard about Flox and NIX…

Are they the best alternative for a homelab OS?

Backend was hard.

In theory, it can be simplified with PB or with https://github.com/MotiaDev/motia

MIT | Multi-Language Backend Framework that unifies APIs, background jobs, workflows, and AI Agents into a single core primitive with built-in observability and state management.

Serverless is the way.

And CF workers and pages use cases are so cool: https://github.com/4ev-link/4ev.link

If you want short custom urls, like url shortening to a custom slug

Same, we can also have monitor running in gihub https://github.com/upptime/upptime

⬆️ GitHub Actions uptime monitor & status page by @AnandChowdhary

You could also try with uptime kuma or kener

Porsche design

Cat product Meme

Perplexity browser with agents

This made me summarize my old me from <2023 posts. And those are pretty nice notes for thought.

MIT | Self-hosted weather API based on ECMWF data, serving colorized WebP maps and GeoJSON contours for easy integration with MapLibre, Leaflet, OpenLayers, and other GIS platforms

software product development, digital platform engineering,

https://nav.al/feedback

https://free-for.dev/#/

https://freestuff.dev/alternative/clerk/

Intro

This year is been like a lot of do

Me during Y2025

It looks so long back when I used you.com to help me with work.

And with no doubt, 2025 has been the year of agents. I mean…

Comercial ones like: https://www.lindy.ai/pricing

🌐 Make websites accessible for AI agents. Automate tasks online with ease.

See also:

  1. LangChain Web Scrapping

  2. Browserless

Deploy headless browsers in Docker. Run on our cloud or bring your own. Free for non-commercial uses.

summary: ‘Crawl4AI is an open-source web crawler and scrapper tailored for LLMs and AI applications. It offers asynchronous crawling, data extraction, and various features for enhanced performance and scalability.’

MIT | A lightweight, self-hosted headless browser automation platform. Designed as an alternative to Browserless, built for speed, privacy, and scalability.

https://www.youtube.com/watch?v=L2Ya9PYNns8

ℹ️
After Weather Planning, there are also the financial aspects of travelling

https://astro.build/themes/details/photography-portfolio-template/

A natural language interface for computers

And im able to create a serverless landing ebook page and podcast.

Cool ppl like have their own podcast, like https://37signals.com/podcast/

FY24 vs FY25 | Overall📌

From last year…

  1. Get few more websites going for close people ✅
  2. Leveraging on AI ✅ Using Windsurf and Cursor
  3. Doing less in total and more of what has a real impact

Use github copilot at least

Reading: excuse alert, this is beeen a year mor of creating than consuming

And that makes…xyz/12 books.

The lean startup Company of one!

Better Tech Stack

Because Im still in D&A and trying to blend with AI powered development for my personal projects.

  1. uv package manager ❤️ Makefiles »> Readme’s & pip!

  2. Pocketbase for BaaS, and a much better understanding of authentication (you are you!)/authorization(you are allowed to do that).

Authentication Flows Working | Example PB vs FastAPI 📌

The key difference between PocketBase and a framework like FastAPI is the level of abstraction and the amount of manual coding required.

PocketBase is a backend-as-a-service that handles the entire process for you, whereas FastAPI requires you to code each step.

Here is the combined explanation, comparing the authentication flow for both platforms, assuming your frontend is built with Astro.

  1. Client Sends Credentials

The user enters their credentials on your login page. The Astro frontend sends a request to your backend.

  • PocketBase: The Astro frontend, using the PocketBase JavaScript SDK, makes a single, simple API call. The SDK abstracts the underlying fetch request, handling the correct endpoint and request body.
    // Astro component with JS
    await pb.collection('users').authWithPassword(email, password);
  • FastAPI: Your Astro frontend must manually make a fetch request to your custom login endpoint. You are responsible for constructing the URL, body, and headers.
    // Astro component with JS
    await fetch('http://127.0.0.1:8000/token', {
      method: 'POST',
      body: `username=${username}&password=${password}`
    });
  1. Server Validates Credentials

The backend receives the request and verifies the credentials.

  • PocketBase: This step is entirely handled by PocketBase’s core logic. The server automatically hashes the provided password and compares it to the hash stored in the users collection.
  • FastAPI: You must write the code to handle this logic. Using libraries like passlib for password hashing and an ORM like SQLAlchemy to query your SQLite database, your FastAPI endpoint would:
    • Query the database for the user by username.
    • Retrieve the stored hashed password.
    • Compare the user-provided password with the stored hash.
  1. Server Issues the JWT

If the credentials are valid, the server creates and sends a JWT bearer token to the client.

  • PocketBase: PocketBase automatically generates a JWT bearer token with the user’s information and a default expiration time. It returns this token in the API response without any manual coding.

  • FastAPI: You must manually generate the JWT. Using a library like python-jose, your endpoint would:

    • Create a payload with the user’s ID and an expiration time.
    • Sign the payload with a secret key using an algorithm like HS256.
    • Return the generated token in the JSON response.
  1. Client Stores and Uses the Token

The client-side code receives the token and uses it for future requests to protected endpoints.

  • PocketBase: The PocketBase SDK automatically stores the received token for you in local storage. For all subsequent requests, the SDK automatically includes the token in the Authorization header.
  • FastAPI: Your frontend code must manually parse the JSON response, save the token to local storage, and then retrieve it for every fetch request to a protected endpoint, manually adding it to the Authorization header.
  1. Server Validates the Token and Authorizes Access

The backend validates the token and decides whether to grant access to the protected content.

  • PocketBase: This is handled automatically. When a request with a bearer token hits a protected collection endpoint, PocketBase automatically validates the token’s signature, checks its expiration, and authorizes access based on the API rules you’ve set up in the admin dashboard.
  • FastAPI: You must write a dependency function that extracts the token from the header, validates it, and handles errors. You then add this dependency to every protected route.

In summary, PocketBase provides a high-level SDK that abstracts the entire process, making it a fast and convenient backend solution.

FastAPI gives you complete control and flexibility but requires you to build the authentication system yourself using third-party libraries and custom code.

Its all about encryption and SHA256 under the hood!

And things can stay static | If you know about Cloudflare Workers 📌

You can use Cloudflare Workers to act as a reverse proxy or a smart router that forwards requests to your PocketBase home server.

This is a common and highly effective pattern for self-hosting applications.

The Role of Cloudflare Workers

A Cloudflare Worker is a serverless function that runs on Cloudflare’s global network, very close to your users.

It can intercept incoming traffic and perform logic on it before forwarding the request to your actual server.

When a user tries to access your app’s domain, the request goes to the Cloudflare network first, not directly to your home server.

The Authentication Flow with Workers

  1. Client Sends Credentials: Your Astro frontend sends a request to your custom domain (e.g., api.yourdomain.com). This request hits the Cloudflare network.

  2. Worker Intercepts Request: Your Cloudflare Worker intercepts the request. Its code’s primary job is to act as a proxy. It takes the incoming request and forwards it to your PocketBase server running on your home network. It adds the necessary headers and makes sure the connection is secure.

  3. PocketBase Handles Authentication: The request reaches your home server. PocketBase handles all the authentication logic as described previously: it validates the credentials, generates the JWT, and sends it back to the Worker.

  4. Worker Forwards Response: The Worker receives the response from your PocketBase server and sends it back to the client.

By using Cloudflare Workers and a service like Cloudflare Tunnel, you can expose your local PocketBase server to the internet without opening any ports on your home router.

Cloudflare Tunnel creates a secure outbound connection from your home server to the Cloudflare network, making your server accessible without exposing its IP address or creating security risks.

This is the best practice for self-hosting applications.

  1. Understanding that with CSR we can keep WebApps simple, yet providing interactivity via API where needed
Authentication and CSR | Full SelfHosting vs CF Pages + Workers 📌

Cloudflare Workers are not a must, but they are a very popular and recommended option for this setup.

Your Astro site, once deployed to Cloudflare Pages, will be able to directly make API calls to your self-hosted PocketBase server.

Here’s how this works and what changes in different scenarios.

Cloudflare Pages and a Self-Hosted PocketBase

When you deploy your Astro site to Cloudflare Pages, the static files are served globally from Cloudflare’s CDN.

However, your PocketBase server is still running on your home machine.

The key to connecting them is to make your PocketBase server accessible via a public URL.

The easiest and most secure way to do this without a Worker is using Cloudflare Tunnel.

  1. Cloudflare Tunnel: You install the cloudflared daemon on your home server. This creates a secure, outbound connection (a “tunnel”) to the Cloudflare network.
  2. Public URL: You configure the tunnel to route requests from a public domain (e.g., api.yourdomain.com) to your PocketBase server (e.g., localhost:8090).
  3. Direct API Calls: Your Astro site, deployed on Cloudflare Pages, will then make direct API calls to https://api.yourdomain.com. These requests travel securely through the Cloudflare network to your home server.

In this scenario, Cloudflare Workers are not necessary for the authentication flow itself, as the requests are just being routed.

If You’re Self-Hosting the Astro Static Site

If you self-host both the Astro static site and the PocketBase server, the process becomes even simpler.

Both services are running on the same machine, so you don’t need a public tunnel or a Worker. The Astro frontend can make API calls to PocketBase using a local URL like http://localhost:8090 or http://127.0.0.1:8090.

You would then use a web server like Caddy or Nginx to act as a reverse proxy. This single server would:

  • Serve the Astro static files to the public.
  • Proxy API requests from your Astro site to the PocketBase backend, all on the same machine.
  • Handle HTTPS and other security concerns for both services.

This setup is the most straightforward for self-hosting but lacks the global performance benefits and DDoS protection that Cloudflare’s network provides.

Why You Might Still Use a Cloudflare Worker

Even with Cloudflare Tunnel, you might still want to use a Cloudflare Worker for more advanced scenarios, such as:

  • Caching: To cache API responses from your PocketBase server to improve performance and reduce the load on your home server.
  • Security: To add an extra layer of security, like rate-limiting API requests or adding custom authentication checks before requests even reach your server.
  • Request Manipulation: To modify incoming or outgoing requests and responses, for example, to hide your PocketBase URL or transform data.
  1. I even got time to clean the IoT/MQTT with micro-controllers :)
  1. And tinker a bit with Crypto and data via stonks / stocks with python.
Crypto is…back? Electrum and DeFi with UniSwap Example📌

A recap on BlockChain

With KYC both: Binance and Kraken worked fine to me.

No keys, no coins - Make sure you understand how wallets work.

flatpak install flathub org.electrum.electrum #BTC

flatpak install flathub org.featherwallet.Feather #Monero
#flatpak install flathub org.getmonero.Monero

In case you didnt know - If you get a Metamask wallet for Ethereum, you can make a Web3 and publish via ENS (what) instead of the DNS (where).

Anyways, most of the time we are just tinkering with regular DNS networking

Also, DeFi and protocols like UniSwap (v4) gave me a lot to think about:

Uniswap v4 as DeFi example

If the drawdown if the ~20/30% MDD volatility for stocks and tradfi, you better get away of the crypto space.

  1. On the server/homelab side of the things…
FY24 vs FY25 | HomeLab 📌
  1. Im still in D&A and have take time to sharpen my big data knowledge.

  2. Better git patterns and branching strategies. Bc the current (and only) reality is main.

  3. CLI Agents ftw. Codex CLI was huge.

I also tried claude and geminiCLI.

Together with BAML bringing type safe LLM calls.

CodexCLI for idea validation?

  1. Thanks to authentication I got to know the difference between: WHO someone is and what someone can DO 🤯

Getting to work Traefik+Tiny Auth has been amazing, and social auth for SaaS is quick and great

API vs JWT vs OAUTh 🚀

Both a JWT bearer token and an API key can be used to authenticate against APIs and other services, but they work differently and offer varying security and flexibility.

OAuth is a broader protocol for secure, delegated access and is often paired with JWT as the format for its access tokens.

  • API Key:

    • Simple method; a unique key is sent in requests to identify and authenticate the client.
    • Good for basic server-to-server scenarios, but offers limited security and control.[1][5]
  • JWT (JSON Web Token) Bearer Token:

    • A signed, encoded token conveying user identity and claims.
    • Used for stateless authentication; APIs verify the token’s signature without needing to consult a centralized database every time.
    • Efficient for distributed systems and microservices; commonly used in modern APIs.[5][1]
  • OAuth 2.0:

    • An authorization protocol that allows users to grant third-party applications delegated access to their data.
    • Handles complex permission scopes, third-party integrations, and user consent.
    • Often uses JWT tokens as the format for access tokens.
    • Strong security and control, but more complex to set up and manage, and better for scenarios requiring delegated access or SSO.[4][1][5]

Which Is Better?

  • API Key: Best for simple authentication between trusted services, low-security or internal APIs.[1]
  • JWT: Excellent for stateless authentication in scalable microservices; fast and efficient but lacks revocation and fine-grained permissions.[5][1]
  • OAuth (with JWT tokens): Ideal for complex scenarios requiring delegated authorization, third-party integrations, and robust security. Preferred for external/public APIs, especially those involving user data or multi-step permissions.[4][1][5]

OAuth2.0 often uses JWT tokens as part of its workflow, leveraging the strengths of both approaches for secure, scalable authentication and authorization.

For APIs exposed to external clients, OAuth is generally considered more secure and flexible. For internal use or single-service authentication, JWT and API keys are simpler.

Notice also (as per ENS and DNS), that what something is has nothing to do with where something is.

And BRD PRD FRD are the why what how

  1. From SliDevJS for ppts, to realize that pandoc, latex or Typst allow us to create pixel perfect ebooks, newsletters…

  2. Astro Themes never stop surprising me. Embed ppts inside of them, get n8n chatbots or cal/whatsap boubles…

Entrepreneuring

I feel (literally) like in the back straight of a circuit after having couple of laps to recognize my breaking/aceleration points.

And…

I was wondering on corporation vs smaller teams and their efficiency for some time…. 📌
Feature**Large Corporation **Indie Hacker / Small Team
Primary Business ModelHigh Volume, Low MarginHigh Margin, Low Volume / Niche Focus
Typical Annual RevenueBillions of dollarsThousands to millions of dollars
Typical Net Profit MarginVery low (e.g., 2-3%)Very high (e.g., 60-90%)
Total Net ProfitBillions of dollars (small % of a massive number)Thousands to millions of dollars (large % of a small number)
Primary Driver of RevenueEconomies of scale, supply chain efficiency, mass-market appealSolving a niche problem, specialized product/service
Role of MeetingsHigh volume of meetings, often unproductive and a major source of inefficiencyMinimal or no meetings; communication is lean and asynchronous
Impact on OperationsBureaucracy, slow decision-making, siloed departments, high overheadAgile, direct feedback loops, flat structure, low overhead
Time-to-MarketSlow, due to multiple approval layers and corporate red tapeFast and agile, able to pivot and iterate quickly
Competition StrategyCompete on price, leverage scale and brand recognitionCompete on quality, specialization, and customer intimacy
Core AdvantageThe ability to execute on a massive scale with immense resourcesThe ability to move fast, stay lean, and achieve high profitability per unit of work
Related TagsBureaucracy, Wasted Time, Decision-Making Bottlenecks, Silos, High OverheadLean, Direct Feedback, Deep Work, High Profitability, Low Overhead

Non biased table ofc… Lets give a point: Large corporations can assemble huge, specialized teams to address highly complex, multi-faceted problems. For example, building a new semiconductor factory

But, just multiply the personhour100$/h of all the meetings you’ve been this year. Crazy.

I mean…Im almost there

Now im aware of the ,business / product management trilema’: price vs customization vs performance/looks

The business Trilema | Value Proposition 📌

The trade-off you’ve described—Price vs. Customization vs. Performance/Looks—is a classic business and product management trilemma.

While it’s not a formally named “entrepreneur’s trilemma” in the same way as the “Project Management Triangle” (Time, Cost, Scope), it’s a very real and fundamental set of choices that every entrepreneur and business owner has to make.

  1. You can’t have it all. The core idea of a trilemma is that you can’t simultaneously maximize all three points of the triangle. To excel in one area, you will almost certainly have to compromise on one or both of the others.

  2. It defines your market position. The way you prioritize these three factors determines your business model, target audience, and competitive strategy.

  • High Performance/Looks + High Customization + High Price: This is the strategy for a luxury brand. Think of a custom-built sports car, bespoke clothing, or a high-end designer. You offer the best in quality and exclusivity, but it comes at a premium.

  • High Performance/Looks + Low Price + Low Customization: This is the strategy of a mass-market, high-quality brand. Think of a popular smartphone manufacturer or a successful fashion brand. You offer a great-looking product that performs well, but you have to standardize it to keep costs down and sell at a lower price.

  • High Customization + Low Price + Lower Performance/Looks: This is the strategy for businesses that cater to specific needs at an affordable price. Think of a local, family-run business that builds furniture to a customer’s exact specifications, but might not have the high-tech machinery of a large factory. The product is unique and affordable, but perhaps not the sleekest or most durable on the market.

This concept is closely related to the well-known “Good, Fast, Cheap” trilemma in project management.

In that model, “Good” aligns with performance/looks and quality, “Fast” aligns with time to market, and “Cheap” aligns with price/cost.

The product-focused trade-offs you’ve outlined are an excellent way for an entrepreneur to think about value proposition and what they are truly offering to customers.

It helps clarify what to build, who to sell it to, and what compromises are acceptable to achieve their vision.

And as the start is been a very hard part, Ive been trying to motivate people around me to jumpstart with their ideas.

That’s why I concluded, that to make the world better, I could help individual people get started easier/quicker with their own projects.

What do we need to get started?

  1. An idea: each will have their vision and own execution plan
  2. A way to make invoices with F/OSS: thanks to FE/CSR and the static beauty of serverless-invoices
  3. A way for people to know about their services: Contact forms (QR), waiting lists (like the one of astro-nomy theme) and business cards…

Thats why I thought and do alot around this web platform for creators.

Shipping Products

This year, It’s been more building than shipping.

And I want to change that next year.

If you are successful, you will need to know how to use Stripe API and any form of invoicing customers:

Launching Webifyer

Even with Porkbun you can get a quick website now: https://porkbun.com/products/webhosting/articulation?mc_cid=adf0b2f297

And pretty affordable at ~60$/year.

For retail/B2C, having a way to do proper user onboarding / user tours / user guides is key.

I was lucky to find some tools for Admin Panels and others for user on boarding.

One of the skills I enjoy learning more is about photography.

And one of the of the best decisions I ever had, was to have a Photo Blog.

Now, you can also tell your story

Check how, if you are passionate about Photography

What is this all about?

Web templates (SSG’ed) connected to CMS’s.

And been able to create CTA’s and clear value proposition statements.

Because, time is money.

And you are loosing both without a proper website.

Because Selfhosting Static Generated Sites, is not a secret anymore:

Leads and Offers

Linktree does things very well, yet cant compete with:

  1. Domain 1st y free with CC required (This is a potential CAC)
  2. Name a Million more goodies that wont be good enough and still will lower your LTV

But when you consider the resources required to make a linktree like so scalable, that is worth to get paid…not so much….

You might rethink that.

And maybe focusing on getting better clients - I mean, that would value more your active engagement on deliver to them value.

Leaving the automatic mode for B2C, for which stripe and software is there to help decoupling your time.

Some people have been contacting me via EE registry https://ariregister.rik.ee/eng/company/

Was wondering how were some EE business owner able to get my email?

They are getting kind of qualified leads (from users like me, who never actually subscribed…GDPR anyone?)

Does that mean that…I ve part of someone else’s sales pipeline?

Interesting Concepts

Concepts / ideas that I found during this year.

  1. Active income > Passive income like the one you can get from dividends

Matplotlib Custom Graph for Dividend Trend Example

  1. CYA (cover your ***) was always a thing.

But BRD/PRD/FRD just takes it to the next level if you in PM/BA roles.

  1. Its 2025 and now everyones says that it wants AI / AI|BI / AIOps / whatever. When it really needs good’old ML

  2. Declarative vs Procedural

  • Declarative Knowledge (Knowing What): This is factual knowledge. It’s about concepts, theories, principles, facts, definitions, and data. It’s the “what” and “why” behind things.
    • Examples: Knowing the syntax of a programming language, understanding the principles of agile methodology, knowing the capital of France, recalling historical dates, understanding different economic theories.
  • Procedural Knowledge (Knowing How): This is knowledge of how to perform a task or sequence of actions. It’s the “how-to.” It often involves skills, techniques, processes, and strategies.
    • Examples: Writing code in a programming language, facilitating a Scrum meeting, riding a bicycle, cooking a recipe, debugging software, performing a surgical procedure.
  1. The woman in the red dress - Matrix

An example?

Could the aissistant from autumn 2024 have any additional feature?

Just not to leave money on the table?

A person cant solve all problems (even less at the same time)

  1. System > Goals

Which for me relates with: More important than the willingness to win, is the willingnes to prepare.

How would we reach our goals if we do nothing the move our current state closer to it? ah?

Kind of resonates with process > result.

Systems (designed for the worst days) do not really on willpower / motivation

  1. Quotes

Achievement comes from actions not aspirations

One place, not all over the place.

What are you afraid of loosing if you wont take any with you?

What worries you, masters you

Punishment fades but reward stayes

Freedom of the press is guaranteed only to those who own one. From Ghost CEO, who launched 12y ago.

Data will say everything if we torture it long Enough. ~ ML and Overfitting

More important of the willingness to succeed is the willingness to prepare. ~ Do, do do, results might go later.

  1. Guesstimates and PostMortems

  2. Business/SaaS KPIs: CAC, EBITDA, LTV, NRR, MRR/ARR…

  1. Mental Obesity. Which relates with bikeshedding and the enless student syndrome

Mental obesity (information vs execution) ig post

From the podcast: How to grow from doing hard things ( Huberman Lab x Michael Easter) https://open.spotify.com/episode/6EDcPmRd6HHh2zdDnapEFS

  1. Time is the currency of life

  2. Authenticity is how you behave when you have no risk of punishment

  3. Some unrelated blog & posts:

  1. Cool tinkering / tech posts

  2. The difference between doing nothing with intent to do nothing

  3. People call now moonlighting to the classical side-hustles. Or so it seems.

Just make sure you take care of your diet/stress levels.

  1. Doing is faster than watching: if you were doing certifications instead of building, im sure you can relate
Examples of People Doing Cool Tech Stuff | Wifi Relay for Ventilation 📌
  1. Helping versus serving - and how pricing helps differenciate that

Processes

From Last year 2024

  • Better Webs
  • Better AI APIs Usage: APIFY, ElevenLabs, scrapping APIs…
  • Review all previous posts and see that are no commented / WIP / incomplete sections

I also tried this and this

100k views in a year

And as videos are just graphs places together, also this: 100+ data driven tweets

Creating Tech Videos

Last year I set this as a goal.

What exactly were those x24 tech videos to make AI, automation and D&A more accesible: [x]

Along the way, Ive made my life easier by based the video content on a simpler NEW repo: https://github.com/JAlcocerT/Home-Lab

  1. Cloudflare Tunnels
  2. OpenAI API Tricks
  3. Redash (BI)
  4. Apache Superset (BI)
  5. MinIO object storage
  6. JHub
  7. Metabase (BI)
  8. Grafana (BI)
  9. N8N
  10. SelfHosted Streamlit Apps together with Pocketbase for auth with such script
  11. SFTPGo vs FileBrowser
  12. FastAPI + OpenAI Audio
  13. Photoview or Immich
  14. https://github.com/block/goose
  15. RGallery vs PiGallery
  16. Peekaping
  17. Uptime Kuma for status pages
  18. selfhosted ebook landing page with astro
  19. Umami for web analytics (with a slidev ppt exported to pngs on kdenlive explaining features for the video) or GL INET?
  20. Home Assistant
  21. n8n + CF tunnels
  22. Selfhosting FreshRSS + astro podcast website
  23. MQTT and DHT22 + Home Assistant
  24. Nextcloud and a Pi
  25. Ventoy. Linux Lite vs Garuda RAM consumption
  26. Bonus: FreshRSS + AstroPod

I had to make sure to create better thumbnails to get some views

Canva and https://selfh.st/icons/ helped a lot see repo

I need to think whats next, bc fast fast fast content seem to rule: https://www.youtube.com/watch?v=9yb4o2IwkqM

If this was too much content, you can always use a LLMs to summarize the YT Videos.

Like these ones: or just use perplexity

There are few youtube summarizers | projects 🌍

MIT | A modern Next.js-based tool for AI-powered YouTube video summarization. This application allows you to generate concise summaries of YouTube videos using different AI models, with support for multiple languages and summary styles.

MIT | ⚡ A lightweight, self-hosted YouTube video summarizer with Gemini AI

It was a year of a lot of applied AI

and understanding many concepts, like langflow, langgraph..

The CLI AI agents have been a great part of this 2025:

Some of those CLI tools, like goose, provide also desktop app: with linux version available!

Some tools were CLI only, then released desktop version:

Goose CLI UI

Goose Desktop - Plug a LLM and even provides transcription

But hey Ollama has now a Desktop UI mode as well!

Additionally, I participated in few tech Talks:

  1. Using LangChain to chat with a DB
  2. Real Estate RAG
  3. Vibe Coding a WebApp to make SliDev PPTs BA friendly
  4. A master class about MermaidJS x Excalidraw with…AI and…a NextJS App on top of it

Has this be one year, for real?

Anyways…my intention is to keep track of my tech talks within this slidev related repo from now on.

And extracted cool video metadata (gps / geolocation) from GoPros:

https://jalcocert.github.io/JAlcocerT/tinkering-telemetry-trackdays/#trackday-and-gopro-metadata

GoPro Metadata Speed trackday

Other Videos

  1. AI Powered shorts

The TTS capabilities from these were also useful:

I also came to know: https://github.com/speaches-ai/speaches which is the ollama for TTS

  1. ChartJS Powered Shorts

https://jalcocert.github.io/JAlcocerT/web-apps-with-flask/#about-chartjs

I also got to know about: https://echarts.apache.org/en/index.html

  1. Python powered YT Shorts - @UnfoldingData (PyFinance related via Matplotlib Animations)
  2. RemotionJS / Animation powered

Travel

Combining Tech and Travel to get the most out of them:

Note Taking

Is note taking a waste of time?

The time that you are writing notes / making your KB, you are not doing new things…

Is note taking just bike-shedding?

I got to know about the concept during 2024

The power of notes. Without bikeshedding!

Dev Smart not Hard

Using AI to create more and better, in less time.

The so called, vibe coding.

With too many options: Repliit lovable windsurf cursor bolt…

Even with: https://github.com/settings/copilot/features

El relato mata al dato - Thats also true when looking for new project opportunities

  1. Discovering uv as python package manager and the power of makefile »> readme.md code snippets was huge to me.
  2. Git power: one action -> one commit + one branch -> one feature + main is the current AND ONLY reality
  1. No Nested if’s, try -> Error exit with message

SliDevJS editor with NextJS and Logto/firebase working for social authentication

NextJS Login to admin via Github Social Signin authentication

https://jalcocert.github.io/JAlcocerT/nextjs-toast-ui-editor/

https://jalcocert.github.io/JAlcocerT/astro-journal-theme/

NextJS Reactmd editing astro sphere theme

https://jalcocert.github.io/JAlcocerT/firebase-auth-101/ Social SignInUp with Google inside a WebApp

https://jalcocert.github.io/JAlcocerT/audio-recap/

Fast API WebApp with audio recording capabilities

Fast API x Astro Theme Connected Showing Admin Panel to record or TTS or S2T

There are Similar python projects like https://github.com/denizsafak/abogen

Abogen is a powerful text-to-speech conversion tool that makes it easy to turn ePub, PDF, text or markdown files into high-quality audio with matching subtitles in seconds. Use it for audiobooks, voiceovers for Instagram, YouTube, TikTok, or any project that needs natural-sounding text-to-speech, using Kokoro-82M.

Flask UI Login as per PocketBase user collection FlaskCMS for Mental health Astro portfolio theme working via CF tunnel

https://jalcocert.github.io/JAlcocerT/making-flask-cms-for-ssg/#flask-x-pocketbase https://jalcocert.github.io/JAlcocerT/making-flask-cms-for-ssg/#flaskcms-x-quick-auth

Uploading real estate photos via Flask

git clone git@github.com:JAlcocerT/real-estate-moi.git
cd real-estate-moi

make flaskcms-build
docker inspect moirealestate-flaskcms --format '{{json .NetworkSettings.Networks}}' | jq

https://jalcocert.github.io/JAlcocerT/cool-hugo-themes/

Flask WebAPP as CMS x HUGO Theme Gallery

From a quick waiting list that can be swapped to a landing page, covered here

git clone git@github.com:JAlcocerT/waiting-to-landing.git
cd waiting-to-landing

#make run-dev #will spin a waiting list connected to formbricks (see the .env vars)
MODE=LANDING make run-dev

Astro Waiting List Theme with Formbricks

From Streamlit PoCs, I mean streamlit financial MVP to Flask with ChartJS:

Streamlit signin signup via pocketbase users collection

Flask UI Sample cum returns and mdd graphs

ChartJS and ApexCharts have been great revelations this year.

Streamlit Funnel Chart Plotly

Flask WebApp vibe coded gradient

https://jalcocert.github.io/JAlcocerT/playwright-101/

Job Market Trend | Matplotlib Job-Trends

https://jalcocert.github.io/JAlcocerT/web-apps-with-python/#streamlit

Streamlit Funnel with Plotly

Streamlit Real Estate WebApp

French Amortiz Example

https://jalcocert.github.io/JAlcocerT/python-real-estate-mortage-calculator/#rent-price-vs-property-price First Months of Renting

Use Vision Tools, like RoomGPT + Vision Models to Tweak your Room and do that interior design / home styling: https://jalcocert.github.io/JAlcocerT/ai-vision-models/#roomgpt-for-real-estate

Normalized Value Change of PyStocks Streamlit Version

https://jalcocert.github.io/JAlcocerT/python-stocks-webapp/#the-charts

Reflex webapp with stocks

https://jalcocert.github.io/JAlcocerT/tinkering-with-reflex/ https://github.com/JAlcocerT/reflex-templates Reflex Stocks Sample

CAGR Reflex Sample

From all CMS that I tried on this post, just frontmatter kept the simplicity I wanted.

But it does not bring the for all public admin UI.

FrontMatter Static CMS

Followed very closely by Keystatic.

But I needed this first run, then the second one here.

The themes landingpad and mizar with its CMS integrated (keystaticCMS) helped a lot.

When you deploy the static site, the whateverdomain.com/keystatic path will still be there:

KeyStatic statically deployed UI

https://github.com/JAlcocerT/landingpad https://jalcocert.github.io/JAlcocerT/understanding-keystatic-cms/ KeyStatic CMS with LandingPad Theme

But you wont be able to make any changes, as the server (Typescrypt API) is NOT running.

I also had the chance to work on D&A Prototypes, where I chose Streamlit as the way to present the PoC.

Streamlit PyGWalker Rendered Map with locations

That cool geomap was not included in the Scope of Work and a great surprise.

It was ofc properly documented on a KB during the transition phase.

You could always use some static layout or wireframes before going to streamlit!

AI Stuff

https://aistudio.google.com/prompts/new_chat

MIT | 🌐 Make websites accessible for AI agents. Automate tasks online with ease.

More Agents

MPL2 | Full-stack framework for building Multi-Agent Systems with memory, knowledge and reasoning.

Bytebot is a self-hosted AI desktop agent that automates computer tasks through natural language commands, operating within a containerized Linux desktop environment.

You can make interesting conditional logic, like: If scrap fails, send msg to telegram bot

More Websites!

Other Websites Ive worked

07/25 version

But for the ones who actually see value on them.

Btw, the pages speed insights, can be done via API: see this .md

Checking Google Pages Speed Insights Via API

Given the opportunity costs, something like: one time setup + pay less each consecutive year if you stay quiet could be interesting to improve client retention.

Or just get the web/ssg related ebook if you are on a low budget and simply DIY.

#If you read me for long, you can simply generate it, its just consolidated notes knowledge :)
# From the repo root or from Z_ebooks/
Rscript Z_ebooks/render.R \
  --input Z_ebooks/web-ebook.md \
  --output Z_ebooks/web-ebook.pdf \
  --cover Z_ebooks/sample-cover.png

Questions? DWY consulting model

Lazy? DFY model

From:

Better photo galleries, specially thanks to these components/shortcodes recap.

Still, far from: https://antfu.me/posts/photos-page, speciially: https://antfu.me/photos

Logto had a cool post about how to vibe code a photo gallery app with built in auth:

And DO a way to deploy static sites: https://www.digitalocean.com/community/tutorials/ and how-to-deploy-a-static-website-to-the-cloud-with-digitalocean-app-platform

To:

Astro-News Theme - beyond a journey result

I even created skeleton (and videos) for web oriented to podcasts and ebooks.

Maybe you can become some with a very personal blog, like Sivers

Still im far from this one: https://newsletter.marclou.com/p/my-solopreneur-story-0-to-65k-month-in-2-years or https://mfyz.com/moved-blog-from-wordpress-to-astro/

And having nice hugo/astro directory pages would be amazing.

Sth like: https://github.com/masterkram/minted-directory-astro, where you can easily plug some kind of DB/Sheet/Github repo readme’s with particular front matter and get a website going.

Better Social Media

I improved the video workflow and tried superfially Postiz for sharing.

Also with some AI help, I vibed coded a webapp to help me with the youtube tech scripts content and audio.

And…well, some Flask automatic and high SNR content creation for twitter/X

Flask x Matplotlib Plots Webapp

No post = no impressions.

The difference between a week hitting hard and not doing it is to reach 24k vs 5k impressions.

Thats why some social media post automation is beneficial https://github.com/JAlcocerT/DataInMotion –> https://github.com/JAlcocerT/LibrePortfolio-X

And in the beginning you will gain the most by replying to people with an audience built already.

Improving the HomeLab

I am very happy to have discovered AppImageLauncher.

Thanks to it I got HTTPie Desktop, Cursor and marktext desktop apps working very quickly.

Using AppImageLauncher

Ive had time to write few posts about making selfhosting better.

Together with a better, NEW and more organized repository:

That one I want to keep the configurations minimalistic and very simple to replicate.

Ive been taking inspiration from:

Thanks to this sites, I get to know more cool apps:

  1. https://openalternative.co/self-hosted

Which can be seen also as an awsome Astro project!

  1. https://alternateoss.com/

  2. https://youmightnotneed.co/

  3. selfhst.st

New Tech Im using

Browsers

librewolf vs zen chromium vs brave vs hellium Tor browser

TightVNC Remote Ripple VNC Viewer

Extensions

Add-ons

  • Privacy Badger
  • https everywhere
  • ublock origin

Conclusions

There was even time to make Data Analytics recaps and create (not that much ship) better SaaS products.

pie title DB MTB Expenses
         "Addons" : 500
         "Maintenance" : 1080
         "Insurance" : 865
         "Price" : 1100
pie title FY24 Weeks Breakdown
         "Cycling" : 1
         "Sleeping" : 17
         "Working" : 17
         "Languages" : 1

I havent measure these blog posts time creation.

But it must have been sth like:

Me Creating 150+ posts on my 2025 learnings

For Next year…

Enough new ideas to kill the good one? Create a roadmap

RoadMap | As of 1225 📌

Keep Doing

  1. Vibe Coding and BiP using what I already know is enought to build a lot of projects

  2. Sharing what I know with people around me. In person.

  3. Shipping more Serverless / CSR / Static

  4. Slowly getting better at action cam videos and ffmpeg / kdenlive. Just for fun.

  5. Reading from time to time, people that inspires

  1. Keep writting, but less and more quality
  2. Get better at Writting ebooks

Stop Doing

  1. Opening more and more a shallow tech stack. 12/24 «<150+ yearly posts on this blog should be more than enough
  2. Keeping 50+ tabs on chrome. Not watching content on the phone and commet for summaries should help.
  3. For the hard to sell, it needs to be fully scalable or nothing - accounting for my opportunity cost.

Start Doing

  1. Promoting what I do via youtube/jalcocertech.com/fossengineer. Curated niche posts, expanding knowledge I already gained here
  2. Share interesting animations as a code on reddit/twitter/whatever forums. Its not ycombinator, nor producthunt but its sth
  3. x30>x24 youtube tech videos, more elaborated, probably without AI voice
  4. Go all-in to find new clients
  5. Not scalable but clients want it? Sell w high gross margin to the ones who can benefit

Maybe’s

Get in shape: there are few projects available, so no excuse this time

  1. https://github.com/vanalmsick/workout_challenge

  2. https://github.com/Snouzy/workout-cool?

MIT | 🏋 Modern open-source fitness coaching platform. Create workout plans, track progress, and access a comprehensive exercise database.

Outro / Random

I cycled with 2 bikes at the same time.

Also, I cycled with a MTB and 3 pizzas on my steering.

Both for 5+ km

Discovery of the Years

2020 - R together with sql 2021 - Containers with the Pi 2022 - PySpark and big data 2023 - SSGs and static hosting 2024 - LLMs and API calls 2025 - BiP and social sign in/up