Changelog

Everything shipped on stackinfolio, in order.

1.31.2

Delete an image, get the slot back

Changed

  • The 30-image limit now counts only post and reply images from the last 30 days that are still up. Deleting a post or reply, or removing its image, deletes the file and frees the slot right away. Before, a deleted image kept counting until 30 days passed
  • Avatars, project logos, covers and photos no longer count toward the 30; they share a separate limit of 20 uploads a day
1.31.1

Quicker hops around the dock

Changed

  • Taking back a heart (on a project, post or reply) or unfollowing someone asks first. Hearting and following stay one tap
  • The Terms now say plainly that stackinfolio can't verify who made a project: the Proven badge shows the GitHub account, not who created the work, and claims over a copied project are between its creator and the person who posted it. If something copies your work, email us
  • The Terms and Privacy Policy now cover everything the site does: what we record while you're signed in, the GitHub token and Mapbox location lookup, the "people online" count, events, XP and leaderboards, hiring, feedback and ideas, and permission for members aged 13 to 17
  • Moving between pages with the bottom dock reuses what's already loaded for a few minutes instead of loading it again; a reload always gets the newest
  • The All time leaderboard shows 20 projects, with Load more for the rest
  • Discover and Events show how many people are online, like the home page, once there are 15 or more
  • A tab left open with nobody using it stops counting as online after 5 minutes, and counts again the moment someone comes back

Added

  • Install app, in your account menu or the phone menu: a one-tap install on Chrome, or the steps for Safari on iPhone, so stackinfolio sits on your home screen and opens full screen
  • Your achievements show on your public page, so visitors can see them
  • Bug Hunter achievements for reporting bugs that get fixed: Bug Spotter (1), Bug Hunter (5) and Exterminator (15)
  • euphydev can show the "From euphydev" videos, posts and picks on their own page, switched on from Admin → My content

Fixed

  • A cover photo is optional again, so reaching the monthly upload limit never stops you adding a project; without one, the default cover shows
  • The home page demo video asks YouTube in a way privacy-minded browsers don't block, which some saw as Error 153
  • A Feedback vote you just cast stays put when you come back to the page
1.31.0

A steadier header, proven projects, and replies to replies

Added

  • Proven badge: a project imported from your own GitHub repo shows a GitHub "Proven" badge. Added one by hand? Prove it from the Edit window: pick your repo, and if its GitHub page doesn't point at your project yet, two buttons and a picture show what to change. The badge links to the repo, so anyone can check
  • Projects already linking to their owner's own GitHub repo are proven
  • Set a status from your dashboard profile card: an emoji and a short line beside your photo, clearing after an hour, 4 hours, a day, a week, or never
  • Early Access: a project status for apps people can use while they're still being built, with a note on the project page
  • Reply to any reply on a Journey post. It stays in that thread, starts with @name, and that person is notified
  • Hearts on replies, and one image per reply
  • Your posts, your call: hide a reply and bring it back later from Hidden replies under the thread, or stop that person replying to your posts. Settings lists who you've blocked, with Unblock
  • Project cards on your dashboard and on Discover show how many comments their Journey has
  • Achievements show how far each one has to go, with new ones for page visits, weekly Journey streaks and hearts on your projects
  • Discover marks posts and projects that are new since your last visit
  • Leaderboards show each project's place next to its name

Changed

  • Milestones are now called Achievements
  • Signed in, your avatar replaces the Dashboard button: Dashboard, My profile, Notifications, Settings, API, and Sign out, which asks first
  • The stackinfolio wordmark takes you to your dashboard when signed in
  • The bottom dock has Preview, Dashboard, Discover, Events and Feedback, follows you to those pages, and lights up the one you're on
  • Copy your profile link by tapping it on the profile card
  • On phones the dashboard profile card folds to one row, with Projects right under it
  • Editing a project opens in its own window, and closing it with unsaved changes asks whether to save, discard or keep editing
  • Add a project is wider, and every window scrolls inside the screen
  • Every scrollbar is thin and rounded
  • Switching between light and dark fades instead of snapping
  • On a project page the details column stays beside you as you scroll

Fixed

  • Headers stay at the top when you scroll, and the home page header gets a background instead of floating over the page
  • Sidebars meant to stay in place now do
  • The profile photo no longer jumps out of its card while the dashboard loads
  • The featured projects on the home page no longer skip one when you page through them

Paused

  • Project reviews are off for now. Writing one needs Level 5, and few people are there yet, so the section mostly said "not yet". They come back once more of you reach it; every review written so far is kept
1.30.4

A Profile button on project pages

Changed

  • Opening a project from Discover, the bottom bar has a Profile button to the developer's profile
  • Heart in that bar is one button, icon and label together, with no border of its own: the whole thing lights up on hover, like Discover
  • Follow in a profile's bottom bar matches: icon and label in one button, turning blue as "Following"
  • The bottom bar's buttons are a little tighter on phones, so five fit down to a 320px screen
1.30.3

Fairer XP, and the developer count shows its number

Changed

  • "Someone opens a link you shared" pays XP only on days it's one of your quests, and once (10 XP), instead of up to 30 XP every day
  • Marking one idea or bug done pays its reporter 5 XP, like the bulk paste already did; thank-yous still pay nothing

Fixed

  • The "developers already joined" count on the home page no longer reads 0+ before it counts up: it shows the real number at load and counts up only when it scrolls into view
1.30.2

Hide and unhide on the wall

Fixed

  • Hiding a thank-you from the wall takes one click with no confirm box, and it can be put back
  • Every thank-you on the wall can be found in admin under Appreciation wall, including older ones past the newest 100 closed tickets
  • A hidden thank-you leaves the home page on the next refresh, not minutes later
1.30.1

Tidier appreciation wall

Changed

  • People who appreciate stackinfolio on /feedback shows six at a time with Load more, no scroll box
  • Admins can take a thank-you off the wall when it's really a request
1.30.0

An appreciation wall, and everyone gets a turn

Added

  • People who appreciate stackinfolio: thank-yous that got a reply sit beside Shipped on /feedback, and drift past in three rows on the home page under the global map
  • Noted for later on /feedback: ideas that were heard but aren't being built yet
  • Journey posts on Discover show how many posts their project has, next to its name

Changed

  • A thank-you is noted, not shipped, and no longer earns feedback XP. Only feedback that ships does
  • Sponsor lists take turns with everyone past the first few instead of showing "+7 more"
1.29.1

A shorter About, and leaner dashboard numbers

Changed

  • Your About needs 20 characters instead of 50, with a friendlier prompt
  • Dashboard analytics show total views and hearts; followers were already on your profile card, and views this week is gone
1.29.0

Kinder reviews, a level ladder, and every featured project

Changed

  • A project's star average shows once it has five reviews; before that it reads "3 reviews", so one rating can't define it
  • Leaving a review needs Level 5 and a project of your own. Reviews you've already left stay editable
  • The landing page shows every featured project, not one per developer, and the carousel moves on its own, pausing while you hover or touch it
  • What's new in the menu is now called Feedback, which is where it goes

Added

  • Admin analytics: a level ladder of every member. Hover a level for its numbers, click it to see who's there, with a marker where reviews unlock

Fixed

  • Editing a review no longer brings it back after an admin hid it
1.28.0

Community guidelines, reports, and review notifications

Added

  • Community guidelines at /guidelines, and a one-line reminder under every review and reply box: be kind, honest feedback is welcome, put-downs aren't
  • A Report flag on reviews and replies. Reports go to a person, nothing is hidden automatically. Admins see them under Reports and can hide the post or dismiss the report; only an admin can hide a review
  • A notification when someone reviews your project
  • Filter reviews by star rating, ten at a time with Load more
  • TikTok in the profile link icons
  • Pick a past year on the GitHub contribution chart, back to the year the GitHub account started, like on github.com

Fixed

  • A reply or heart notification opens the Journey post it's about, with its replies showing, instead of the other person's profile. Project hearts and reviews open the project
  • The Following button no longer flips back to Follow when you come back to a profile you just followed
  • Uploading a cover (or an icon or photo) and then pressing Save changes no longer says the image could not be found
  • Days without contributions show as grey squares on the GitHub chart again
1.27.0

Backer button on the dashboard, photo galleries, README import

Added

  • Back stackinfolio (or add 30 days) from the dashboard: the Be part of them card and the Sponsor badge on your profile card open a dialog to tick the Terms and pay, no trip to Settings
  • A notifications page, /dashboard/notifications, listing everything with the new ones marked; the bell links to it
  • Fetch README from GitHub on any project whose link is a repo, from the README section of its edit form
  • Up to four extra labelled links on a project (a beta build, a canary branch, the docs), shown as buttons next to Visit site
  • Five-star reviews on projects: one per developer, editable, never on your own; the average shows on the project page
  • The GitHub contribution chart on profiles and the dashboard now shows the date and count when you hover a square
  • A week of flames in the streak window: lit on the days your streak covers, fully on fire at seven
  • How XP works, from the Daily quests card: every action, what it pays and its daily cap, which is the same for everyone
  • Views and hearts on each project card on your dashboard
  • Search projects by name or developer on Discover, and filter by pricing (free, paid, open source) and status alongside category
  • Up to four more photos on a project after its cover. They take turns on Discover and featured cards, and scroll as a strip on the project page
  • Import from GitHub brings the README along: shown on the project page and used for the one-line description when the repo has none

Changed

  • The notifications bell shows what's new first, with a Show all link, and marks things seen when you close it rather than the moment it opens
  • Project cards on your dashboard underline only the name on hover, not the description
1.26.1

Featured projects from Discover

Added

  • A Featured button on the Projects tab of Discover that opens /featured, where every project being featured right now is listed
1.26.0

Join our Discord

Added

  • A Join our Discord card on Discover and your dashboard. It takes you to Programmers' Compound PH, where stackinfolio has its own channels for announcements, showcasing your work and feedback. On a laptop, scan the QR code to join from your phone
1.25.0

A home page on stackinfolio.dev

Changed

  • stackinfolio.dev now shows the landing page itself instead of sending you over to stackinfolio.com, and the wordmark on every page takes you there
  • A profile or project that doesn't exist answers with a real 404, on a page that keeps the site header and points you back to Discover
1.24.0

Leaderboard with cover photos

Added

  • Links to past boards: /discover?week=2026-W38 opens that week's top 10 and /discover?month=2026-09 opens the month. Opening a month or week puts the link in the address bar, and a share button next to the heading copies it

Changed

  • The leaderboard reads like the Projects tab now. First place is a full-width card with its cover photo, second and third share the row beneath, and 4 to 10 are compact rows with a cover thumbnail. First place is always on top and always the biggest card, on phones too
  • Past weeks use the same board, with every heart shown filled since a finished week can't lose them
1.23.0

Daily streaks

Added

  • A daily streak: open your dashboard once a day to keep your flame lit. It sits in the dashboard header
  • Missed a day? The flame dims, and you have 3 days to restore it and keep your count. You get 3 restores a month
  • Streak milestones at 7, 30 and 100 days
1.22.0

Three featured projects, sales, and backers

Added

  • Up to 3 of your projects can be featured at the same time. A second week on the same project still follows on from its current one, and a 4th project waits for a free spot
  • A /featured page listing every live featured project, linked from the homepage and the sponsor column
  • Sales: a limited-time price on the featured week or the backer month, shown as a line like "12.12 Sale: ₱20 until December 14 · ₱49 after" wherever the price appears. What you buy during a sale keeps that price, with no limit on how many weeks or months
  • Quiet invitations to back the site or feature a project: a dashboard card showing who already chips in (dismiss it for 30 days), a "Join them" link wherever backers are listed, and a cross-sell on the thank-you page

Changed

  • The homepage and sponsor column show one featured project per developer and rotate which one; /featured shows them all
  • The username featured is reserved

Fixed

  • Paying for a featured week or a backer month no longer gets stuck on "Confirming your payment". The page now checks with PayMongo directly while it waits, and the admin Payments tab catches up anyone already paid
  • PayMongo could switch our payment notifications off after too many failed deliveries; events we don't handle are now acknowledged instead of rejected
1.21.0

Wider pages and a glass dock

Added

  • On laptops the space under the Discover tabs holds a Join box for visitors without a profile and a small footer

Changed

  • Pages use the full width of a large monitor, up to 1920px, and the header and footer line up with the content
  • The floating bottom bars on Discover, the dashboard and your own profile are one frosted dock with icons and labels, kept above the phone's home indicator
  • Sponsored project cards on the homepage show the sponsor's cover photo, and the sponsor column fits two cards side by side on tablets
  • A tech stack entry is one technology. "HTML/CSS/JS" or "React · Next.js" is split into separate entries when you add it, while names like C++, CI/CD and React Native stay whole
  • The stackinfolio wordmark on Discover and the dashboard goes to the homepage

Fixed

  • One long technology name no longer stretches a developer card out of line with its neighbours
1.20.0

Feedback round: pin a post, your level, reorder

Added

  • Pin a Journey post so it sits first on your project page, with a Pinned badge
  • Your current level shows next to your join date on your public profile. Your XP number stays private
  • Reorder your projects and links from the dashboard with move up and move down buttons
  • Delete your own feedback while it's still pending, from Dashboard → My feedback. Addressed and archived items stay as the record
  • A Cookies section on the Privacy page listing every first-party cookie and what it's for
1.19.0

A real weekly leaderboard, and past weeks

Added

  • Past weeks: a third leaderboard tab with every finished week's top 10, grouped by month, and a top 10 for each month added up from its weeks. A finished board is saved when the week closes and never changes afterwards, even if hearts are taken back
  • A "?" beside the leaderboard tabs explaining how each board is ranked, including the tie rule: level on hearts, the one that got there first ranks higher

Changed

  • The weekly board counts hearts inside the calendar week, Monday to Sunday (UTC), instead of a rolling seven days, so a project no longer slides down the board with nothing having happened
  • The leaderboard tabs read "This week" and "All time" in words, with the week's dates beside them
1.18.0

Project covers, and hearts and replies on Journey

Added

  • A cover photo for each project: a wide banner above the project page title, a strip on project cards and the Discover catalog, and the band across the project's social preview image
  • Hearts on Journey posts, with counts on post cards and the Discover Journey feed. Hearting a post earns XP, and the author is notified
  • Replies on Journey posts, one level deep. Edit your reply for five minutes, delete it any time; the post's owner can hide a reply
  • Share buttons on project pages and every Journey post, linking straight to the post
  • Open to work or open to freelance: set it under Customization for a chip on your profile and your developer card, and a filter on Discover → Developers. The public API returns it as availability

Changed

  • Experience is grouped by kind: roles as a timeline, certificates as chips, milestones as one-liners, each with its own "N more". You can place the block under your bio or below your projects
  • An uploaded cover, icon or avatar is saved the moment it lands, no Save changes needed
  • Uploads show a spinner while in flight
  • Uploads are limited to 30 per person per 30 days
1.16.0

Experience on your profile

Added

  • An Experience list under your bio: roles, certificates and milestones on one dated timeline, each with an optional link (a credential URL for a certificate). Edit it from the dashboard's new Experience section; up to 30 entries, the newest 3 shown with Show all for the rest, and filter by type when you have more than one
  • The public API's user object includes experience
1.15.0

Feedback round: navigation, filters and quests

Added

  • Developer cards on Discover show how many projects each person has
  • Daily quests link to where you can do them: view or follow developers, view or heart projects, visit a featured project or a sponsor
  • A Copy link button next to Preview on the dashboard, for your profile URL
  • Bluesky is a link icon
  • Heart notifications name the project that was hearted

Changed

  • Every signed-in visitor on a profile or project page now gets the floating bar with Back to Discover, Dashboard and Next, not only when they came from Discover
  • The stackinfolio wordmark in the app header goes to Discover instead of the homepage, which lives on the other domain and couldn't see your login
  • Milestones for profiles and projects visited count the pages you actually visited, and hearts given counts your hearts, instead of the daily-capped XP events behind them
  • Links typed without https:// (like linkedin.com/in/you) are accepted

Fixed

  • Dropdown options in the project form were still unreadable in dark mode in some browsers; options now use the site's own colours
  • Filtering developers by stack matched only the first four stacks of each person; it now matches all of them
  • The Journey and Projects filter panel opened off-screen on phones
  • Buttons show a pointer cursor again
  • The GitHub contribution chart is readable in dark mode
1.14.0

New README badges

Added

  • README badges now carry the stackinfolio logo and look, in three styles: flat, square and big
  • New badges: hearts, tech stack, latest post, a profile link, and a status badge for each project (Live, Building, …)
  • A profile card for your README with your name, headline, project numbers and tech stack. It follows GitHub's light or dark mode
  • Pick any badge and copy it from the API page

Changed

  • "Developers" is now called "API" in the menu, footer and Settings
1.13.0

API for developers

Added

  • A public, read-only API: fetch any developer's public profile, tech stack, links, projects and latest Journey posts as JSON — no key needed, and it works straight from your own site. See stackinfolio.dev/developers
  • README badges: show "stackinfolio | 12 projects · 3 live" on your GitHub profile. Copy yours, already filled in, from Settings
  • Your own stats from your code: make an API key in Settings to read your followers, views, hearts, the projects you've loved and your XP — including the numbers your profile keeps private

Changed

  • The Privacy Policy now says where your data is stored, and the Terms and Privacy Policy cover the API and API keys
1.12.0

Backers, sponsors and From euphydev

Added

  • "From euphydev" at the bottom of the sponsor column (and under the list on phones and tablets): the latest video, a post, and a rotating set of affiliate picks, each labelled Affiliate
  • Developer backers won't see ads; everyone else gets a small "Remove ads" link to become a backer
  • Backers now get a Sponsor badge right on their dashboard. The Back card moved to Settings, along with private links to all your sponsorship and featured-project reports
  • A Discover People link in the homepage header on laptops and desktops

Changed

  • Sponsored and featured cards now rotate for every visitor, so every featured project gets its turn instead of the same few
  • The sign-in page now says that continuing means agreeing to the Terms and Privacy Policy, and the Terms cover ads and affiliate links
  • Shorter, simpler wording around backing and payments

Fixed

  • Pages no longer shift sideways when you switch Discover tabs
  • Sponsorship report dates now match the rest of the site
1.11.0

Monthly XP season and new quests

Added

  • A monthly XP season: each week's top 3 (with at least 100 XP) earn 3/2/1 podium points, and the month's top 3 win a free featured spot for a project — 7, 4 and 2 days. Track it in the Leaderboard's Prize tab
  • Prize winners claim their featured spot from a card on the dashboard
  • The Leaderboard shows Last week, This week and Prize
  • Three new daily quests: visit a featured project, visit a sponsor's page, and get a visit from a link you shared (with a Share button)
  • Don't fancy a quest? Skip it and watch a short video to unlock a new one — up to 3 skips a day

Changed

  • Weekly trophies are replaced by the monthly season and its prizes
  • Unfollowing or un-hearting now takes back the XP it earned this week

Fixed

  • Carousels keep rotating after you click an arrow or dot
  • The Leaderboard's tabs no longer wrap on narrow screens
1.10.0

Sponsor tiers and clearer terms

Added

  • Before paying, redeeming a promo code or prize, or sending a sponsorship enquiry, you now confirm you're 18 or older and agree to the Terms of Service and Privacy Policy
  • Company sponsors get bigger logo tiles on the homepage and are shown first everywhere sponsors are listed; developer backers have their own line

Changed

  • The Terms of Service now spell out exactly what each purchase includes and for how long, that views and results aren't guaranteed, refunds, sponsor content rules, promo codes and prizes, and more. The Privacy Policy explains what PayMongo receives and your rights under the Data Privacy Act
  • Company sponsor cards take the top spots in the sponsor column, ahead of featured projects
1.9.8

Discover Journey fix

Fixed

  • Discover's Journey feed threw a page error whenever a post contained a link; posts with links now work, and their links open as expected
1.9.7

Domains and dates

Fixed

  • Links between stackinfolio.com and stackinfolio.dev now go straight to the right site, and each page lives on exactly one of them (app pages opened on stackinfolio.com move over to stackinfolio.dev)
  • Journey post dates show in your own timezone without a page error

Changed

  • The sponsor, sponsors and changelog pages load from a cache too
1.9.6

Faster public pages

Changed

  • The landing page, Discover, profiles and project pages now load from a cache, so they're faster and cheaper to run. What's personal to you — your likes, follows, the Dashboard button and your unlisted posts — fills in right after the page loads, and your own edits still show up immediately
1.9.5

Lighter on servers

Changed

  • The "people online" count updates every couple of minutes instead of every few seconds, and the site checks for announcements and your sign-in less often in the background — same features, far fewer requests to our servers
1.9.4

Security hardening

Changed

  • Profile and project links must be web (http/https) or email (mailto) links, and profile, project and update images must be uploaded here or be your GitHub avatar
  • Uploads are limited to 10 every 10 minutes
  • Sponsor views and clicks count one visit per network per day, so the numbers sponsors see can't be inflated

Fixed

  • Payments only activate after PayMongo confirms a charge for the full price, a paid link the admin had cancelled is flagged for a refund instead of being lost, and only the newest payment link for a sponsorship can be paid
  • Promo codes give the same message for any code that can't be used
  • Several other hardening fixes: safer browser security headers, error messages that no longer include internal details, and updated dependencies
1.9.3

Security fixes

Fixed

  • Closed a security hole in how sign-in sessions refresh, and another in how a project's name appears in its automatic Journey posts. As a precaution, everyone is signed out once — just sign back in with GitHub
1.9.2

Sponsor banner beside profiles and projects

Changed

  • On profiles and project pages, the "Become our Sponsor" banner now sits at the bottom of the left panel on wide screens instead of in the middle of the projects or Journey. On phones it's at the very end of the page
1.9.1

Stay up when the cache is down

Fixed

  • Saving your profile, hearting, following, notifications, sponsor links and almost everything else that talks to the server failed with an error (or "Unexpected token … is not valid JSON") once our Redis cache hit its monthly request limit. The site now keeps working without it — only rate limiting, the "N people online" badge and sponsor view counts pause until the cache is back
1.9.0

Sponsors, featured projects & thank-yous

Added

  • Sponsors: companies, hiring teams and developers can now back stackinfolio. Sponsor cards sit in a column beside Discover and every dashboard (always labeled), hiring partners show in Discover's new Hiring tab, and everyone backing the site is listed on /sponsors
  • /sponsor walks companies through who sees their card, real audience numbers (rounded, plus our best month), and a short enquiry — we reply with a private PayMongo payment link for the agreed package
  • Feature your project: pay ₱59 from your dashboard (or redeem a promo code) to feature a project for 7 days. It's live as soon as the payment confirms, and a second week queues right after the first
  • Developer backer: ₱59 for 30 days with a Sponsor badge on your profile and your name on /sponsors — renewing adds days on top
  • Featured projects now also show on the stackinfolio.com homepage, in their own Featured projects section — paged to fit your screen (one project at a time on phones, two on tablets, three on desktop), with swiping, arrows and page dots instead of a long list
  • On phones, the sponsor slot on Discover and the dashboard now rotates through up to five sponsors and featured projects instead of showing just one — swipe or tap the dots to flip through them. It pauses while you touch it, and doesn't auto-rotate if you've turned on reduced motion
  • A proper thank-you after paying: exactly what you got, when it runs, every perk it includes, and a link to your private stats page
  • Payment thank-yous in your notifications bell, so you can always get back to what you bought — plus a heads-up when a sponsor card linked to your account goes live
  • Every sponsor and featured card has a private stats page with daily views and clicks

Changed

  • Discover's tabs moved into a left-hand menu to make room for the sponsor column
  • On the dashboard, Daily quests and This week sit side by side and stay open
  • Sponsor lists stay hidden until there's actually a sponsor to show
  • The "stays free because of" sponsor lines on profiles, projects, Discover and the dashboard now scroll through every sponsor instead of showing five at random — as many as fit your screen show at once, and everyone gets their turn
1.8.0

XP & engagement system

Added

  • Earn XP for viewing profiles, viewing projects, hearting projects, following developers, and posting Journey updates
  • Daily quests now rotate: 3 quests picked from a larger pool each day (same 3 for everyone, different tomorrow) instead of always the same fixed set — resets every day at midnight UTC, shown as a progress card on the dashboard
  • 9 new milestone badges for lifetime totals (100 / 500 / 1,000 profiles visited, projects visited, and hearts given), alongside the existing building-focused milestones
  • A weekly leaderboard ranking developers by XP earned that week, visible live as it updates (not hidden until the week ends). The dashboard shows a compact live snapshot (top 3 plus your own standing) instead of a growing list — finishing a week in the top 3 earns a permanent, shareable trophy badge that shows up on your public profile
  • Site-wide announcements: a dismissible banner admins can schedule from a new Announcements tab in the admin panel
  • Levels: total XP now maps to a level (100 XP for level 1, growing ×1.5 each level after), shown as a gradient progress ring around your avatar on the dashboard that fills as you get closer to the next level
  • Events, still gated for now, is labeled Beta (nav + page heading) ahead of its first real trial run, and its page now has a "What's a stackinfolio Event?" explainer covering registration, building, voting, and how the permanent tier badges work — open by default when there's no event happening yet (nothing else to look at), collapsed once a real one exists
  • A confetti-bursting "Do you accept the challenge?" card on Events — clickable endlessly for fun, but only your first click ever counts toward the public headcount, which stays hidden until you click. Built as a reusable RevealChallengeCard primitive, not a one-off

Fixed

  • None of the 5 XP-earning endpoints (viewing a profile/project, hearting, following, posting a Journey update) had any rate limiting — confirmed in production as a script cycling through targets on one account every 1.5-8 seconds. Added a 20-per-minute limiter to all five
  • Saving a new accent color would flash the old color back (with Save briefly re-enabled) for a moment before settling on the new one
  • Picking "Default" for your accent color could leave buttons and other accent-colored elements transparent instead of falling back to the site's own blue
  • The announcement toast: overflowed past the screen edge on mobile (long messages were forced onto a single line), came back every new tab/session instead of staying dismissed, and used a loud solid-blue background — now wraps within a sensible width, remembers being dismissed for good, and uses a lighter background
1.7.0

Custom accent color revamp

Fixed

  • Picking a custom accent color for the very first time silently didn't stick — the color would flash in, then Save would stay disabled and the pick was gone. A single click (as opposed to a drag) on the color wheel also didn't register at all
  • The custom color swatch turned into a plain filled circle once you'd picked one, with no visual cue left that it was still a color picker

Added

  • A hex code field next to the color wheel, so you can type or paste an exact color instead of only dragging for it
  • Presets and the custom picker are now visually separated into their own labeled groups
1.6.0

Changelog page

Added

  • A real /changelog page — release notes rendered straight from this file, linked from the site footer
1.5.1

Map accuracy & mobile project card fix

Fixed

  • Several country dots on the landing page's global developer map (including the Philippines) landed a few pixels offshore instead of on land — their textbook geographic centroid fell in open water on the map's simplified outline. Re-plotted each affected country to the nearest point actually on its own rendered landmass
  • Project cards on profile pages could stretch past the mobile screen width when a project title was long and unbroken — now truncates with an ellipsis like intended, instead of inflating the whole card
1.5.0

Landing page: scroll animations & global developer map

Added

  • A global stage: a new landing page section with a world map showing real, geocoded developer locations by country, plus a live count of developers and countries represented
  • Section reveals on the landing page now actually trigger on scroll instead of firing all at once on page load; the feature grid reveals card-by-card instead of as one block, and key numbers count up into view
1.4.0

Discover: independent per-tab streaming

Changed

  • Each Discover tab (Leaderboards, Developers, Journey, Projects) now loads independently — a slow tab no longer holds up the others, and every tab gets its own loading skeleton instead of one shared spinner for the whole page
1.3.5

Link management & onboarding-state fixes

Fixed

  • Link edit/delete are now direct buttons instead of hidden behind a "⋮" menu
  • Already-onboarded users could get bounced back to the onboarding page on every dashboard visit if their session had a stale cached flag, no matter how many times they reloaded — now checks against the real saved state instead of trusting the cached one blindly
1.3.4

Custom accent color & live preview

Added

  • Custom color picker for your accent color, alongside the 12 presets — pick any exact color, not just the curated set
  • Live preview: any color pick (preset or custom) shows across the whole dashboard immediately, with no save required — reverts on a refresh unless you actually save it
1.3.3

Close the IP-rotation gap on feedback flooding

Fixed

  • The new feedback rate limit was keyed by IP, so a flood resubmitting the same message from rotated IPs could still get through. Now also checks for a near-duplicate of anything submitted in the last 10 minutes, regardless of source, and quietly no-ops instead
1.3.2

Feedback abuse hardening & bulk archive

Added

  • Admin Feedback: select multiple pending items (with a "select all" that respects the current category filter) and archive them all in one action, instead of one at a time

Fixed

  • Feedback submission could be flooded by a script — it shared the same generic rate limit as every other API route, which was nowhere near strict enough for "submit a new item." Now has its own much tighter limit, plus a hidden honeypot field on both the feedback popup and the full page form
1.3.1

Discover & icon fixes

Fixed

  • Discover project hearts (Leaderboards, Projects) always showed filled/red, even for a viewer who hadn't actually liked that project
  • Shuffle is now a plain icon next to the filter, instead of its own labeled button on a separate row
  • Project icon field silently accepted typed text instead of requiring an actual emoji
  • GitHub contribution chart on the dashboard could get overlapped by the footer when there was a lot of content above it
1.3.0

Rich Journey updates, Discover shuffle & a welcome-back summary

Added

  • Rich text formatting in Journey updates: bold, italic, links, bullet lists, headings, and inline code, in both the composer and inline edit
  • Shuffle button on Discover's Developers and Projects tabs, so whoever's on top doesn't stay on top forever (Leaderboards and Journey are left alone since their ordering is the point)
  • Dashboard "welcome back" summary: a quick popup of new profile views, hearts, and followers since your last visit
  • "Load more" on Feedback's open requests — previously hard-capped at the top 50 by score with no way to see anything past that
  • Site performance monitoring (Speed Insights)

Changed

  • Journey update character limit raised from 500 to 1000
  • Discover cards (Developers directory, Journey feed) now hold a consistent height regardless of content length — tech stacks cap at 4 badges plus a "+N" overflow badge, descriptions get a matching minimum height
1.2.0

Connections, dashboard analytics & site hardening

Added

  • Follow system: follow other developers, see who follows you and who you follow, with a follower count — private/dashboard-only for now
  • Total hearts stat in the dashboard, summed across all your projects
  • Admin analytics dashboard: site-wide KPIs (users, active this week, projects, hearts, connections, profile views, open feedback), a user growth chart, projects-by-status and top-stacks breakdowns, an activation funnel, a recent-signups list, and a "needs a nudge" list of onboarded users who haven't shipped anything yet
  • Registered-developer counts on the landing page and Discover, rounded to a clean milestone ("200+") rather than an exact number
  • Adaptive pagination on mobile for profile project grids and the Discover developers directory
  • Two-step onboarding: profile setup, then an "add your first project" step (import from GitHub or add manually, with a skip option)
  • Dashboard footer ("Built by euphydev... / Buy me a coffee")

Changed

  • Onboarding/profile bio field: blank or 50+ characters allowed; 1-49 characters now blocked with clear inline and toast messaging (previously silently disabled the save button with no explanation)
  • Fixed uneven card heights in the Discover journey feed when posts had images of different sizes
  • Uploads (avatar, project icon, journey update images) temporarily paused site-wide due to a storage-provider usage limit, with clear "paused" messaging in place of the upload controls
  • "Buy me a coffee" now lives in the landing page and dashboard footers instead of a floating pop-up; the pop-up itself was generalized into a reusable component, ready for future event/announcement banners
  • Preview button in the dashboard now respects each user's chosen accent color instead of always using the default brand blue
  • The stackinfolio wordmark in the dashboard/app headers now links to the marketing homepage, matching standard site convention

Fixed

  • A production deploy outage caused by a database connection-pooling issue
  • A feedback-voting endpoint could be abused anonymously to cast unlimited votes on an item — now rate-limited by IP; also removed a stray test item that had leaked onto the public feedback board as a result
  • Tech stack dropdown on the dashboard was getting clipped instead of scrolling on desktop
1.1.0

Discover redesign & Community Feedback System

Added

  • Discover: new Projects Catalog tab (4th tab), filterable by category
  • Public /feedback page: open feature/bug requests, upvoting, and a Shipped changelog for completed requests

Changed

  • Discover tab bar redesigned for mobile: switched to icon-only navigation, and added a dynamic page heading per tab ("Discover Leaderboards", "Discover Developers", etc.) so labels stop overflowing on small screens

Fixed

  • Discover tab selection now persists across back-navigation — previously, switching to the Developers tab, opening a profile, then swiping back reset the view to the default Leaderboards tab
1.0.0

Core platform (initial launch)

Added

  • GitHub OAuth sign-up
  • Claim-a-username onboarding flow
  • Public developer profile pages (stackinfolio.dev/username): avatar, headline, bio, location, tech stack badges, social/website links
  • Project pages, each with: name, icon/emoji, status badge, tag, category, description, "Visit site" link, like button
  • Journey — build-in-public update posts attached to projects, creating a real-time-feeling progress feed
  • GitHub contribution chart embedded on profile pages
  • Discover section: leaderboards, developers directory, journey feed
  • Profile view analytics on the dashboard: total views, views this week
  • Two-domain architecture: stackinfolio.com (marketing-only) / stackinfolio.dev (full app)