Sextante
ESEN

What's new

Everything that has been built in Sextante, release by release.

  1. Featured release

    Sextante's source code is released under the MIT licence

    I am releasing all of Sextante's code under the MIT licence: the calculators, the Spanish tax engine, the portfolio and the MCP server are available to anyone who wants to study or reuse them.

  2. Featured release

    Tax-return report

    The portfolio's capital gains tab is now called Tax return and prepares what a foreign broker does not do for you: the savings-base figures for each tax year, converted to euros and shown next to the box of the Spanish return (modelo 100) where they go. Every number carries its provenance (broker data, derived, market, estimate or entered by you), so you know which ones you can copy as they are and which ones are worth checking. It is not advice: it helps you reconcile your return using cited official criteria.

    • Foreign-currency sales converted at the ECB reference rate of each trade date, with the exchange difference shown separately, as the Spanish tax authority (DGT) prescribes.
    • Two-month rule (shares, funds and derivatives): losses that cannot be claimed yet are deferred and counted when you sell the shares you bought back.
    • Dividends and interest: imported from the Trade Republic CSV, or added by hand. Income your broker already reported to the tax agency is flagged.
    • Full savings base: the 25 % cross-offset between investment income and gains, and negative balances from the previous four years carried forward automatically.
    • International double-taxation credit, capped by the treaty with each country.
    • 2025 return boxes next to every figure, with a copy button. CSV export of sales and income, and a print-friendly version.
    • New wiki article: how to declare a foreign broker.
    • Over MCP, your assistant can read a year's report and manage dividends and interest. Tools and calculators are now described in English, the usual language for these assistants; they still answer you in yours.
  3. Compound interest fixed and lighter pages

    We fixed a compound interest bug: until now, how often you contributed also decided how often interest was compounded, so with a contribution of 0 the result changed when switching from monthly to annual. These are now two separate things: you choose on its own how often interest is credited. Each page also loads only the text it needs, so it is noticeably lighter. We also fixed a bug where a Trade Republic import could link a stock to a different product sharing its ticker.

    • Compound interest: new "Interest compounding" field, independent from the contribution frequency (annual by default). With a contribution of 0, the result no longer depends on how often you contribute.
    • FIRE, retirement and the portfolio goal read the return as an effective annual one; with monthly contributions, figures come out somewhat lower than before, when they were inflated.
    • Credit card: the interest rate is labelled as TIN (nominal rate), which is what the calculation uses.
    • Portfolio: on import, some stocks (such as Amazon) were valued with the price of a different product sharing the ticker on another exchange. Now only an exchange where that security is actually listed is used. If you were affected, delete the position and import the CSV again to rebuild its history.
  4. Featured release

    Milestone: your AI assistant can now use all of Sextante, a redesigned portfolio and Trade Republic import

    Until today, an assistant connected over MCP (Claude, ChatGPT…) could only see and edit your portfolio. Now it can use all of Sextante: the 27 calculators (mortgages, net salary and income tax by region, FIRE and Monte Carlo, wealth and gift tax…), your realised gains for each tax year to prepare your return, your portfolio breakdown and its progress towards your FIRE goal, and the scenarios you saved. It runs exactly the same code as the website: we moved the calculators and the tax engine into a shared core, so the assistant and the page can never give different numbers. The portfolio also has a new design: instead of stacking everything on one page, it is split into tabs (Summary, Positions, Capital gains and FIRE goal). The Summary tells you at a glance how you are doing; in Positions you search and filter, and each position's detail opens in a panel next to its row, or from the bottom on mobile. You can now bring your Trade Republic buys and sells from its export file, with a preview and no duplicates when you import again; positions sold in full and derivatives each have their own filter, and derivatives do not add to the totals (a new Learn article explains why). And we started measuring which pages are used with Umami on our own server: no cookies, no third parties and none of the values you type into the calculators. More portfolio improvements landed in the afternoon: a second kind of goal (“I want X in N years”), history going back up to 5 years rebuilt from your trades and reaching today, today’s gain in Positions, and a full pass so everything looks right on phones.

    • Signing in or out updates the header straight away, without reloading the page.
    • Your AI assistant now uses the calculators through two tools: one to discover them and their inputs, and one to calculate.
    • The history only shades days before you started tracking your portfolio in Sextante, even if you later import past trades.
    • The history chart now reaches today with your portfolio’s current value, without waiting for the nightly snapshot.
    • On phones, the history chart uses the full width.
    • When you record or import past trades, history is rebuilt for days already captured too, so the invested line no longer drops for no reason.
    • The account menu no longer opens off screen on narrow phones.
    • On phones, the history picks its range from a dropdown and shows the value and change above instead of an axis.
    • On iPhone, portfolio boxes no longer spill off the screen, and the header and tabs fit better.
    • On phones the header takes less room, help buttons and links are easier to tap and chart axis figures no longer wrap.
    • The Trade Republic import preview shows the resulting average price, computed from each trade’s actual price, so you can check it before confirming.
    • The history accounts for stock splits and shades each estimated stretch separately.
    • The goal has a second mode, “I want X in N years”: it shows what is left, the contribution needed to get there on time and whether you get there at your current pace.
    • Your AI assistant and the email alerts also understand an amount-by-deadline goal.
    • Portfolio history now goes back up to 5 years, from your first trade and with what you actually held each day, instead of just the last week.
    • The history block is simpler: a short title, compact ranges, the period change on one line and a clear legend for the estimated area.
    • The Summary composition expands to show every group, with the same weights as the Positions list.
    • Positions can show today's gain as well as the total gain, also in each position's details.
    • The FIRE goal has an active plan: the Goal tab loads it when you open it, choosing another makes it active and the Summary says which plan it shows.
    • The portfolio Summary is redesigned: the current value up front, this year's gain, the FIRE goal at a glance, the composition as a bar and the positions that moved the most in the last session.
    • The Positions tab is redesigned: a search and an open/closed/derivatives filter, four columns and the detail in a panel next to the row (a bottom sheet on mobile).
    • My account and Log out move into a user menu in the header.
    • The portfolio is split into tabs (Summary, Positions, Capital gains and FIRE goal) instead of stacking everything on one page.
    • Newly imported positions show "Looking up price…" and the portfolio refreshes by itself until the quote arrives.
    • Trade Republic bonus issues are imported as zero-cost shares, and cash withdrawals no longer show up as unknown transactions.
    • More ETFs and non-European stocks (such as Hong Kong ones) now find their quote from the ISIN, so they count towards the portfolio value.
    • Your AI assistant can use every calculator and analyse your portfolio: realised gains by tax year, breakdown, progress towards your FIRE goal and saved scenarios.
    • New Learn article on derivatives: what they are, their risk and how they are taxed.
    • Positions sold in full are hidden (with a checkbox to show them) and derivatives go to a separate section that does not add to the totals.
    • Import your buys and sells from the Trade Republic transaction export, with a preview and no duplicates when you import again.
    • First-party usage statistics with no cookies or third parties: calculator values are never collected and Do Not Track is honoured.
  5. Featured release

    Realised gains, hourly prices, milestone notices and Monte Carlo with real history

    The biggest release so far. New capital gains report: your sales matched FIFO across all your brokers, netted by tax year, with an estimated tax bill and a CSV for your return. Portfolio prices refresh every hour on weekdays, and you can ask for an email when your portfolio crosses 25, 50, 75 and 100% of your goal. The goal now tells you how likely you are to reach it, and the Monte Carlo simulator can use over 150 real years of US stocks and bonds. Learn has a portfolio guide and two new articles explaining it all.

    • Links inside English articles no longer take you to the Spanish version.
    • New portfolio guide in Learn: what you can do and where everything is, linked from the portfolio itself.
    • New article on Monte Carlo simulations: how to read a probability of success and when to use the historical model.
    • New article on capital gains when selling: FIFO across brokers, offsetting, the two-month rule and currencies.
    • Optional email notices when your portfolio crosses 25, 50, 75 and 100% of your FIRE goal, with one-click unsubscribe.
    • The portfolio shows when prices were last updated and picks up new ones without reloading the page.
    • Portfolio prices refresh every hour from 9:00 to 21:00 on weekdays, not just once a day.
    • A recorded sale with no units to sell no longer counts its fees as a loss.
    • New portfolio capital gains report: sales by tax year matched FIFO, gains and losses netted, estimated savings tax and CSV download.
    • Manually editing the quantity or average price of a position with sales no longer wipes its sale history.
    • The Monte Carlo simulator can use real years of US stocks and bonds since 1871, in 10-year stretches, with your chosen share in stocks.
    • The simulator shows a table with the probability of success for withdrawal rates from 3% to 5%.
    • The portfolio goal shows your probability of success with a Monte Carlo simulation on your real wealth, with a link to the simulator pre-filled with the same data.
  6. Featured release

    FIRE Monte Carlo simulator

    A new calculator that simulates 5,000 market scenarios to tell you how likely you are to reach financial independence and, above all, whether your money lasts through retirement. Instead of a single line with a fixed return, you get a fan of good and bad scenarios and when you get there in each. The project's libraries are also brought up to date.

    • The simulator recalculates without blocking the fields, so typing stays smooth.
    • New FIRE Monte Carlo simulator: the probability of reaching financial independence and of your money lasting through retirement, with a fan of 5,000 scenarios and its own explainer in the wiki.
    • Charts can draw bands of scenarios as well as lines and areas.
    • The simulation engine is reproducible: the same inputs always give the same result, including when opening a shared link.
  7. A more complete portfolio history

    • Restores the portfolio chart axis fit, which had been lost while merging changes.
    • The portfolio chart axis fits the actual range of values, so changes are visible even with a large net worth.
    • Each position shows the date of the price it is valued at.
    • Stretches of the portfolio chart computed from estimated prices are clearly marked.
    • When you add a new holding, the portfolio rebuilds its last year of history instead of starting from scratch.
  8. Featured release

    Portfolio history, regional income tax, a FIRE goal and a changelog

    The portfolio stops being a single day’s snapshot: it records every purchase and sale, charts how your net worth and its composition evolve, estimates the tax on a sale by matching lots oldest-first as the law requires, and now shows your progress towards financial independence against the money you actually hold. The income-tax calculators let you pick your autonomous community, any calculation can be shared as a link or saved by name, and this very What’s new page is born today.

    • A filtered view of the release notes can be shared and reloaded: the filters travel in the page address.
    • The portfolio flags a position valued with a price older than the rest, such as a fund with a delayed net asset value.
    • The portfolio page can no longer be dragged sideways over empty background, and four number and date details are corrected.
    • The portfolio shows your progress towards financial independence using your real net worth, and can be downloaded as a CSV.
    • A new What’s new page with everything that has shipped, release by release.
    • Calculators keep their values in the page address, so a calculation can be shared or returned to, and you can save named scenarios to your account.
    • Net-worth evolution chart, portfolio composition, purchase detail for each position and a sale simulator that estimates the tax on the gain.
    • The portfolio records each purchase and sale with its date and notes its value every day, which is what makes evolution charts and gain calculations possible.
    • Income tax is calculated with each autonomous community's own rates in the income calculators.
    • The sitemap only reports genuine revision dates and social preview images are served from cache.
    • Caps how many calls in a row a connected assistant can make, deletes expired data automatically, and the server stops running with administrator privileges.
    • Accessibility: every field has a name, help bubbles open with the keyboard and on touch, and charts expose their data as text for screen readers.
    • The website stops running with administrator privileges on the server.
    • Every backup is checked to be restorable before it is stored off the server.
    • Updates the project's libraries, including several with published security advisories.
  9. A security tightening

    Shuts the door on any external resource in the browser, stops exposing the database on the local network, and translates the last texts that still showed up in Spanish on the English site.

    • Translates the texts that were still in Spanish inside the English version and removes code that was no longer used.
    • The browser can no longer load any third-party resource, the database is no longer reachable from the local network, and the backup password is no longer visible to other programs.
  10. Decimals on mobile and a properly drawn sextant

    The mobile number keypad now accepts a comma, so typing amounts with cents stops being a fight. The sextant in the logo is also corrected so its arc curves like the real instrument, and it gets its own browser-tab icon.

    • Lets you type decimals with a comma on the mobile number keypad.
    • Fixes the curve of the sextant's arc in the logo and introduces an icon of the instrument in the browser tab.
  11. Advertising removed

    Sextante removes the ads it had been showing on its public pages: they were not worth the clutter, and the project now relies on voluntary donations alone. The privacy policy is updated accordingly and states plainly that no advertising or analytics cookies are used.

  12. Numbers in your language, sortable table

    Figures and currencies are shown with each language's own punctuation, so the English version stops writing numbers the Spanish way. In the portfolio, the positions table can be sorted by any column.

    • Number and currency formatting follows the language you choose.
    • Sort the positions table by any column.
  13. Fractional quantities in the portfolio

    Fractional quantities, common in crypto and in amount-based purchases, now show their decimals: half a unit was being rounded down to zero.

    • Shows the decimals in each position's quantity, which used to be rounded to a whole number.
  14. Donations, an About page and search-engine presence

    Anyone who wants to support the project can buy a coffee by card from the home page or the new About page. Every page also declares its canonical address, its counterpart in the other language and the preview shown when it is shared on social networks, and the findings of a code audit are applied.

    • Applies the findings of a code audit: security headers in the browser, updated libraries and a test suite for the server.
    • Every page declares its canonical address, its version in the other language and its preview when shared, and the site publishes a map for search engines.
    • Card donations through Stripe, an About page and credits in the footer.
  15. Instrument search and prices in the right currency

    When adding a position you can search for the instrument and keep its exact symbol, instead of trusting the system to guess: typing a bare 'BTC' could end up valuing the portfolio with another product's price. Positions whose cost is in one currency and whose price is quoted in another are now converted at the day's rate instead of being left unvalued.

    • Values positions whose cost is in a different currency from their price, converting at the day's rate.
    • Adding an instrument by its ISIN no longer leaves the page waiting, and an overly long name no longer prevents saving the position.
    • Instrument search when adding a position, so you keep the exact symbol and see its price straight away.
  16. Featured release

    Sextante goes live

    Sextante starts running at sextante.fpardo.net, with encrypted database backups and real sign-in emails. The same day brings the connection for AI assistants: anyone who authorises it can ask Claude or ChatGPT to read or change their portfolio, with separate permissions for reading and writing and the option to revoke access at any time. The portfolio gains an aggregate total, gain or loss per position, a choice of ten currencies and daily closing prices.

    • The AI-connection block on the home page stops repeating the same button.
    • Rewritten home page, with the connection for AI assistants front and centre, and a logo in the emails.
    • The portfolio table no longer forces you to scroll sideways, and refreshes itself when you come back to the tab.
    • AI assistants connect to the portfolio without hiccups.
    • Connection for AI assistants: Claude or ChatGPT can read and change your portfolio with your permission, and access can be revoked from your account.
    • Encrypted database backups, stored away from the server.
    • First production deployment of Sextante, published automatically from the repository.
    • You can download all your data and delete your account from the settings, as the GDPR requires.
    • The email with the sign-in link is now actually sent, in both plain-text and formatted versions.
    • Recognises an instrument's ISIN or ticker and maps it to the symbol its quote is looked up with.
    • Portfolio total added up in a single currency, converting each position at the day's rate.
    • A gain-or-loss column for each position and a ten-currency selector.
    • Daily closing prices for each instrument, stored on our own server and updated every night.
    • A session whose account no longer exists stops granting access, and editing a position no longer lets you clear the broker it already had.
    • Specific error messages when adding or editing a position, and a clear notice when the session has expired.
  17. Accounts with link sign-in, and the first portfolio

    The account side of Sextante is built, still before launch: you sign in with a link sent to your email, with no password to remember, and each person can add, edit and delete the positions in their portfolio. The privacy and cookie policy in both languages and the brand home page are written too.

    • The broker is only required if you already hold another position in the same instrument.
    • Edit positions you already created, with a warning when an identical one exists.
    • Add, view and delete the positions in your portfolio.
    • Privacy and cookie policy, in Spanish and English.
    • Sign-in screen with an email link, and pages reserved for those who are signed in.
    • Password-free sign-in through a single-use link that expires after fifteen minutes.
    • Fills tax gaps for the self-employed, gift tax and pension plans, and introduces the Sextante brand home page.