What a Year...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.
Computer consultancy activities
Even Reqable has one: Tools -> More QR-Code
Even with a SliDev VUE Components like this one you can generate QRs!

This year, Ive abused again of my unfair advantage.

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: starting with defining an offer and associated tiers of service
graph TD
A[JAlcocerTech - Tiers of service] --> B(blog/YT 0$);
A --> C(DIY ~ 0 to $);
A --> D(Consult + Cal + Forms - DWY $$);
A --> E(Services - DFY $$$);I am really commited to make the world a better place.
So I am (and will be) spending time on making tech concepts accesible to more: before moving forward, understand this
graph LR
%% Define the distinct phases - Subgraph labels quoted for safety
subgraph "Phase 1: Learning & Doing (DIY - Do It Yourself)"
A["Start: Young / Beginner"] --> B["DIY: Do...SOMETHING!"];
B --> C{"Fail N times"};
C --> |Not good enough| B;
C -->|Good Enough| D["Learnt / Competent"];
end
%% Phase 2: Providing Service (DFY - Done For You)
subgraph "Phase 2: Service DFY"
D --> E["DFY: Done For You - Service"];
E --> |Build success stories| F{"Iterate & Improve M times"};
F --> G["Demand > Supply / High Reputation"];
end
%% Phase 3: High-Value Guidance (DWY - Done With You)
subgraph "Phase 3: Guidance DWY"
G --> H["DWY: Done With You - Consulting / Coaching"];
H --> I{"Iterate & Refine NM times"};
end
%% Phase 4: Ultimate Scalability (DIY Product)
subgraph "Your Scalable Product"
I --> J["Build Scalable DIY Product / Tool"];
J --> K["Inspire Others to start their journey!"];
end
%% Additional Connections for Continuous Improvement
F --> E;
I --> H;But the DWY/DFY model, means that I choose what’s my focus.
Hey, wait but thats unfair i have rights over your tim….
Do you?
Or have I earned the right to not give a fuck of what others opinions are about how I choose to spend my time?
The kind of rights you get from understanding loans, the costs of real estate including the painting one, stocks, crypto, having a high active income AND having a very high saving rate (yea, im saying no to 50%+++ of what I could spend…after taxes)
Anyways, not everything is lost!
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 for me to switch
and do…what I want to do and go do your thing :)
SelfHosted Landing RepoIntro
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
What about OS?
Recently I heard about Flox and NIX…
Are they the best alternative for a homelab OS?
Perplexity browser with agents
This made me summarize my old me from <2023 posts. And those are pretty nice notes for thought.
Intro
This year is been like a lot of do

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…yea, AI stuff
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…
- Get few more websites going for close people ✅
- Leveraging on AI ✅ Using Windsurf and Cursor
- Doing less in total and more of what has a real impact

Reading: excuse alert, this is beeen a year more of creating than consuming
And that makes…xyz/12 books.
The lean startup
Company of one!
Open question for reading moving forward: If learning is
Better Tech Stack
Because Im still in D&A and trying to blend with AI powered development for my personal projects.
Helium or zen as browsers?
uv package manager ❤️ Makefiles »> Readme’s & pip!
Pocketbase for BaaS, and a much better understanding of authentication (you are you!) / authorization (you are allowed to do that or not).
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.
- 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
fetchrequest, 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
fetchrequest 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}` });
- 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
userscollection. - FastAPI: You must write the code to handle this logic. Using libraries like
passlibfor password hashing and an ORM likeSQLAlchemyto 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.
- 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.
- 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
Authorizationheader. - FastAPI: Your frontend code must manually parse the JSON response, save the token to local storage, and then retrieve it for every
fetchrequest to a protected endpoint, manually adding it to theAuthorizationheader.
- 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!
Backend was hard.
In theory, it can be simplified with tools like PB, Manifests admin panels 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 other of the ways you could build upon.
But the important part…just build with some common sense.
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
Client Sends Credentials: Your Astro frontend sends a request to your custom domain (e.g.,
api.yourdomain.com). This request hits the Cloudflare network.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.
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.
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.
sequenceDiagram autonumber actor U as User (Browser) participant L as Astro Page (/login) participant F as API Route (/api/login) participant PB as PocketBase participant S as Protected Page (/secret) U->>L: 1. Enter Credentials L->>F: 2. POST (email, password) F->>PB: 3. authWithPassword(email, pass) PB-->>F: 4. AuthResponse (Token + Model) Note over F: 5. Serialize PB AuthStore to Cookie F-->>U: 6. Set-Cookie: pb_auth (HttpOnly) U->>S: 7. GET /secret (Cookie included) Note over S: 8. Load PB AuthStore from Cookie S->>PB: 9. authRefresh() / isValid? PB-->>S: 10. Valid Token / New Token S-->>U: 11. Render Protected HTML U->>F: 12. POST /api/logout F-->>U: 13. Set-Cookie: pb_auth=;
- 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.
- Cloudflare Tunnel: You install the
cloudflareddaemon on your home server. This creates a secure, outbound connection (a “tunnel”) to the Cloudflare network. - 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). - 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.
- I even got time to clean the IoT/MQTT with micro-controllers :)
Ive put together some IoT docs and the scripts I was using:
- 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.MoneroIn 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:

If the drawdown if the ~20/30% MDD volatility for stocks and tradfi, you better get away of the crypto space.
- On the server/homelab side of the things…
FY24 vs FY25 | HomeLab 📌
Im still in D&A and have take time to sharpen my big data knowledge.
Better git patterns and branching strategies. Bc the current (and only) reality is main.
CLI Agents ftw. Codex CLI was huge.
I also tried claude and geminiCLI.
Together with BAML bringing type safe LLM calls.
- 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 for SaaS!
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 that WHAT something is has nothing to do with WHERRE something is. As per ENS and DNS
And that BRD PRD FRD are the WHY / what / how of a product you are building.
- From SliDevJS for ppts, to realize that pandoc, latex or Typst allow us to create pixel perfect ebooks, newsletters…
- Astro Themes never stop surprising me. Embed ppts inside of them, get n8n chatbots or cal/whatsap boubles…
The difference between helping and serving 🤯
The difference between something CAN happen and WILL happen 🤯
Compras y esperas vs esperas y compras for stocks compared to wait 7 days for consumption
About been unhappy but certain vs uncertain and happy
Risk aversion is a thing…
Entrepreneuring
I feel (literally) like in the back straight of a circuit after having couple of laps to recognize my breaking/aceleration points.
Tech Consulting
JAlcocerTech Custom SolutionsAnd…
I was wondering on corporation vs smaller teams and their efficiency for some time…. 📌
| Feature | **Large Corporation ** | Indie Hacker / Small Team |
|---|---|---|
| Primary Business Model | High Volume, Low Margin | High Margin, Low Volume / Niche Focus |
| Typical Annual Revenue | Billions of dollars | Thousands to millions of dollars |
| Typical Net Profit Margin | Very low (e.g., 2-3%) | Very high (e.g., 60-90%) |
| Total Net Profit | Billions of dollars (small % of a massive number) | Thousands to millions of dollars (large % of a small number) |
| Primary Driver of Revenue | Economies of scale, supply chain efficiency, mass-market appeal | Solving a niche problem, specialized product/service |
| Role of Meetings | High volume of meetings, often unproductive and a major source of inefficiency | Minimal or no meetings; communication is lean and asynchronous |
| Impact on Operations | Bureaucracy, slow decision-making, siloed departments, high overhead | Agile, direct feedback loops, flat structure, low overhead |
| Time-to-Market | Slow, due to multiple approval layers and corporate red tape | Fast and agile, able to pivot and iterate quickly |
| Competition Strategy | Compete on price, leverage scale and brand recognition | Compete on quality, specialization, and customer intimacy |
| Core Advantage | The ability to execute on a massive scale with immense resources | The ability to move fast, stay lean, and achieve high profitability per unit of work |
| Related Tags | Bureaucracy, Wasted Time, Decision-Making Bottlenecks, Silos, High Overhead | Lean, 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.
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.
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?
- An idea: each will have their vision and own execution plan
- A way to make invoices with F/OSS: thanks to FE/CSR and the static beauty of serverless-invoices
- 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:
About Webifyer
One of those micro SaaS with custom CMS that I was building back in summer.
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 for me and for ricsanfre
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

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.
Leads and Offers
Linktree does things very well, yet cant compete with:
- Domain 1st y free with CC required (This is a potential CAC)
- 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.
- Active income > > > Passive income like the one you can get from dividends

- CYA (cover your ***) was always a thing.
But BRD/PRD/FRD just takes it to the next level if you in PM/BA roles.
Its 2025 and now everyones says that it wants AI / AI|BI / AIOps / whatever. When it really needs good’old ML
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.
- 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)
- 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
Expect very low conversions: from 1/1000 social media conversions, to 1/10 ,121 initial talks’ on your funnels,…
Quotes (a)
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.
Follow your dream/passion - if they are hiring
A very cool pay yourself first, but not the money view, but the prorities and intellectual boxes - from DHH
- Questions w/o answer (b)
- How can be money: invested (providing interest), always available and risk free at the same time
Guesstimates and PostMortems
Business/SaaS KPIs: CAC, EBITDA, LTV, NRR, MRR/ARR…
- 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
- Time is the currency of life
And we pay with the currency we value the least
Authenticity is how you behave when you have no risk of punishment
Some unrelated blog & posts:
- https://kerkour.com/writing-against-the-global-lobotomy
- https://levels.io/happiness/
- https://nav.al/existence
- Are we living in auto-pilot? On a passive live topic https://quiethabits.net/year-of-change-2020-a-year-of-maintenance
Cool tinkering / tech posts
The difference between doing nothing with intent to do nothing
People call now moonlighting to the classical side-hustles. Or so it seems.
Just make sure you take care of your diet/stress levels.
- 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 📌
- Helping versus serving - and how Tiers of Service / 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
And as videos are just graphs places together, also this: 100+ data driven tweets
Mientras duran las fiebres del oro te vas a encontrar a mucha gente que vende palas para que en teoria tu saques el oro.
— Libre Portfolio (@LibrePortfolio) October 20, 2025
Algunos los llaman vende cursos, otros vende humos.
He creado una herramienta para que cualquier persona pueda hacer data-checks (sin registros ni emails) 👇 pic.twitter.com/ZIT9PeSz0J
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
- Cloudflare Tunnels
- OpenAI API Tricks
- Redash (BI)
- Apache Superset (BI)
- MinIO object storage
- JHub
- Metabase (BI)
- Grafana (BI)
- N8N
- SelfHosted Streamlit Apps together with Pocketbase for auth with such script
- SFTPGo vs FileBrowser
- FastAPI + OpenAI Audio
- Photoview or Immich
- https://github.com/block/goose
- RGallery vs PiGallery
- Peekaping
- Uptime Kuma for status pages
- selfhosted ebook landing page with astro
- Umami for web analytics (with a slidev ppt exported to pngs on kdenlive explaining features for the video) or GL INET?
- Home Assistant
- n8n + CF tunnels
- Selfhosting FreshRSS + astro podcast website
- MQTT and DHT22 + Home Assistant
- Nextcloud and a Pi
- Ventoy. Linux Lite vs Garuda RAM consumption
- 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:

Plug any model to Goose:

But hey Ollama has now a Desktop UI mode as well!
Additionally, I was a speaker in few tech Talks:
- Using LangChain to chat with a DB
- Real Estate RAG
- Vibe Coding a WebApp to make SliDev PPTs BA friendly
- A master class about MermaidJS x Excalidraw with…AI and…a NextJS App on top of it
Has this be one year, for real?
Knowing that a brand is influence + reach - Why should I keep collaborating with Free tech talks that nobody watches instead of doing videos directly on my tech channel?
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:
Other Videos
- 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
- 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
- Python powered YT Shorts -
@UnfoldingData(PyFinance related via Matplotlib Animations) - RemotionJS / Animation powered
Travel
Combining Tech and Travel to get the most out of them: I think that hould be around ~30 imaginary borders crossed so far
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
Embrace The power of notes.
Without bikeshedding, but unloading your brain and sharing with others!
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…anti-gravity…

Even with: https://github.com/settings/copilot/features
El relato mata al dato - Thats also true when looking for new project opportunities
- Discovering uv as python package manager and the power of makefile »> readme.md code snippets was huge to me.
#uv init
make help #the 2 most powerful CLIs ive learnt this year- Git power: one action -> one commit + one branch -> one feature + main is the current AND ONLY reality of a project
- See this for branching strategies: https://learn.microsoft.com/en-us/azure/devops/repos/git/git-branching-guidance?view=azure-devops
No Nested if’s in the logic, try -> Error exit with message is a much better approach
I can call this section: my vibe coding journey of web/apps up to this year
The good thing?
That Im confortable with FastAPI/NextJS enough to get things going my way, when streamlit is not enough.


https://jalcocert.github.io/JAlcocerT/nextjs-toast-ui-editor/
I also enjoyed journaling via astro and WYSIWYG editors:

Getting to work firebase auth and get social sign ins working was amazing:

There was time for audio:



I also delivered:

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

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
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
From Streamlit PoCs, I mean streamlit financial MVP to Flask with ChartJS:

The MDD concept was pretty cool too:

ChartJS and ApexCharts have been great revelations this year.

For custom BI, but also to tinker with webapps:

Scrapping, browser automation and playwright was also a thing:

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



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

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

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


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.

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:

https://github.com/JAlcocerT/landingpad
https://jalcocert.github.io/JAlcocerT/understanding-keystatic-cms/

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.

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 wireframe before going to streamlit as PoC!
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

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{{< pdf “ebooks/web-ebook.pdf” >}}
Questions?
There is a DWY consulting model, based on cal
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:

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.
Improving the HomeLab
There were some recents downtime status on popular services:

Also, mandatory services :)

I am very happy to have discovered AppImageLauncher.
Thanks to it I got HTTPie Desktop, Cursor and marktext desktop apps working very quickly.

Ive had time to write few posts about making selfhosting better.
Together with a better, NEW and more organized repository:
Trip Planner PostThat one I want to keep the configurations minimalistic and very simple to replicate.
- https://jalcocert.github.io/JAlcocerT/selfhosted-apps-06-2025/
- https://jalcocert.github.io/JAlcocerT/selfhosted-apps-spring-2025/
Ive been taking inspiration from:
https://jalcocert.github.io/JAlcocerT/docs/selfhosting/#inspiration-for-a-homelab
Thanks to this sites, I get to know more cool apps:
Which can be seen also as an awsome Astro project!
New Tech Im using
AI… ofc

Despite popularity has…decreased recently?
Im including here: MCP, which it was all hyped around spring and non used today due to high token consumption
And…BAML, which was a very interesting setup.
Perplexity and Gemini are my go to now, instead of ChatGPT.
Conclusions
There was even time to make Data Analytics recaps and create (not that much ship) better SaaS products.
Imagine that after all of this, you do couple Tech interviews and someone from HR asks you what are your plans for self-development.
Tell me its not laughable :)
I havent measure these blog posts time creation.
But it must have been sth like:

For Next year…
Enough new ideas to kill the good one?
Create a Roadmap!
RoadMap26 | As of 1225 📌
Weddings serverless + ads
Real Estate Custom RAG and WebApp via DecapCMS
AIoT end to end flow from solar panels to dashboarding & langchain
Custom Marketing analytics from custom high signal content creation to funnels
Books from D&A to web and concepts from kindle notes
Scaling PRO Webs creation via PaaS - A better DIY website with free (programmatic) audit
Prepare the DIY/DWY/DFY based on the ebooks and blog content ~ Wiki efforts
Build.
I will be Aiming for aggressively packaging knowledge into high-leverage products and services.
But if you are one, doing ONLY what people wants is not optional.
graph TD
%% Strategy Phase
subgraph Strategy [1. STRATEGY: Founder/CEO]
A[Idea/Problem] --> B[BRD: Business Case]
B -->|Why?| C{Is it Profitable?}
end
%% Tactics Phase
subgraph Tactics [2. TACTICS: Product Manager]
C -- Yes --> D[PRD: Product Roadmap]
D -->|What?| E{Is it Usable?}
end
%% Execution Phase
subgraph Execution [3. EXECUTION: Engineering]
E -- Yes --> F[FRD: Technical Specs]
F -->|How?| G[Development/Code]
end
%% Solo-Dev Loop
subgraph SoloDev [Indiehacker Loop]
H[Strategy Lite] -.-> I[Tactics Lite] -.-> J[Execution Lite]
J -.-> G
end
%% Documentation Links
B -. Business Objective .-> D
D -. User Needs .-> F
F -. Logic .-> GYou have limited time resources, combined with low capital.
Fortunately, you have tools to know what your clients want and double down in that direction.

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
To read…6 books 📌
As i want to focus more on doing than entertainment.
- Unscripted
- Hyper focus fro, Crhsi Bailey
- Gonzo Capitalism (?)
And…to create N ebooks :)
Keep Doing
Vibe Coding and BiP using what I already know is enought to build a lot of projects
Sharing what I know with people around me. In person.
Shipping more Serverless / CSR / Static
Slowly getting better at action cam videos and ffmpeg / kdenlive. Just for fun.
Reading from time to time, people that inspires
Keep writting, but less and MORE QUALITY: < 2/week AND <60/year
Get better at Writting ebooks
Stop Doing
- Opening more and more a shallow tech stack. 12/24 «<150+ yearly posts on this blog should be more than enough
- Keeping 50+ tabs on chrome. Not watching content on the phone and commet for summaries should help.
- For the hard to sell, it needs to be fully scalable or nothing - accounting for my opportunity cost.
- Stop building w/o a focus strategy, like with random avatars - Like I did In the AIssistant example
Start Doing
- Promoting what I do via youtube/jalcocertech.com/fossengineer. Curated niche posts, expanding knowledge I already gained here
- Share interesting animations as a code on reddit/twitter/whatever forums. Its not ycombinator, nor producthunt but its sth
- x30>x24 youtube tech videos, more elaborated, probably without AI voice
- Go all-in to find new clients
- Not scalable but clients want it? Sell w high gross margin to the ones who can benefit
- Collect case studies / success stories: Flask web app https on a server for SMB / real estate DFY w custom chatbot / hospital D&A CI/CD radiophysics / from zero to astro web hero for a mechanical engineer…and add them to the
consulting.jalcocerand/or as article on the main www site.
Maybe’s
Get in shape: there are few projects available, so no excuse this time
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
pie title FY25 Weeks Breakdown
"Cycling" : 2
"Sleeping" : 17
"Working" : 17
"Languages" : 1Oh, and I climbed (again) to the top of a country.
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
I know that this is like… 0+0=0
But…how could we expect to be closer to excellent w/ot even trying?

Enjoy.




